Check-in [9b639cf2d6]

Not logged in
Overview
SHA1 Hash:9b639cf2d66a329684f08b4e65d9b1038962e15e
Date: 2015-05-05 06:49:05
User: kinaba
Comment:Working version for update to 2.067.

The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.

Timelines: family | ancestors | descendants | both | trunk
Downloads: Tarball | ZIP archive
Other Links: files | file ages | manifest
Tags And Properties
Changes
hide diffs unified diffs patch

Modified readme.txt from [6e5c7faf68c46e9a] to [2d3cc426522d1739].

1 ---------------------------- 1 ---------------------------- 2 Quasi-Bga32.DLL 2015/05/01 | 2 Quasi-Bga32.DLL 2015/05/05 3 ---------------------------- 3 ---------------------------- 4 4 5 http://www.forest.impress.co.jp/article/2004/07/30/arcsecurity.html 5 http://www.forest.impress.co.jp/article/2004/07/30/arcsecurity.html 6 などで脆弱性と指摘されている問題が気になるけれど、Bga32.dllは使い続け 6 などで脆弱性と指摘されている問題が気になるけれど、Bga32.dllは使い続け 7 たいという人のための回避策です。展開処理はこの問題に対処しつつ内部で 7 たいという人のための回避策です。展開処理はこの問題に対処しつつ内部で 8 行い、圧縮などの他の処理は全てオリジナルのBga32.dllに処理を回します。 8 行い、圧縮などの他の処理は全てオリジナルのBga32.dllに処理を回します。 9 9 ................................................................................................................................................................................ 27 * 上書き確認ダイアログが簡素なものになっています。 27 * 上書き確認ダイアログが簡素なものになっています。 28 * コマンドラインやオプション、ワイルドカードの解釈は 28 * コマンドラインやオプション、ワイルドカードの解釈は 29 オリジナルと同じになるように作ったつもりです。 29 オリジナルと同じになるように作ったつもりです。 30 * ただし、突貫で作ったのでたぶんバグだらけです。 30 * ただし、突貫で作ったのでたぶんバグだらけです。 31 31 32 ★更新履歴 32 ★更新履歴 33 33 34 2015/05/01 (0.05) | 34 2015/05/05 (0.05) 35 * TBW | 35 * zlib のバージョンを 1.2.8 に上げ(るためにdmdのバージョンを 2.067 に上げ)ました > 36 * libbz2 のバージョンを 1.0.6 に上げました 36 2010/11/25 (0.04) 37 2010/11/25 (0.04) 37 * _Bga32.dll を探す対象パスからカレントディレクトリを外しました 38 * _Bga32.dll を探す対象パスからカレントディレクトリを外しました 38 2004/8/31 (0.03) 39 2004/8/31 (0.03) 39 * レスポンスファイルが扱えてなかったバグを修正 40 * レスポンスファイルが扱えてなかったバグを修正 40 * .gzaを正しく展開できないケースがあったっぽいので修正 41 * .gzaを正しく展開できないケースがあったっぽいので修正 41 * 基底ディレクトリの指定がないと正しく動作しないバグ修正 42 * 基底ディレクトリの指定がないと正しく動作しないバグ修正 42 * 進捗状況ダイアログ表示を実装 43 * 進捗状況ダイアログ表示を実装 ................................................................................................................................................................................ 55 http://www.kmonos.net/alang/d/1.0/changelog1.html#new099 56 http://www.kmonos.net/alang/d/1.0/changelog1.html#new099 56 が必要です。 57 が必要です。 57 58 58 ★著作権等 59 ★著作権等 59 60 60 src/libbz2ディレクトリの中身は、 61 src/libbz2ディレクトリの中身は、 61 libbzip2 62 libbzip2 62 http://sources.redhat.com/bzip2/ | 63 http://www.bzip.org/ 63 をビルドしたライブラリなどです。この部分は 64 をビルドしたライブラリなどです。この部分は 64 Copyright (C) 1996-2002 Julian R Seward. All rights reserved. | 65 Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> 65 で。 66 で。 66 67 67 dmd_win32.lib と win32 ディレクトリの中身は | 68 win32 ディレクトリの中身は 68 DWinProgramming | 69 Bindings for the Windows API 69 https://github.com/AndrejMitrovic/DWinProgramming | 70 http://www.dsource.org/projects/bindings/wiki/WindowsApi 70 を利用しています。 71 を利用しています。 71 72 72 他は NYSL 0.9982 ( http://www.kmonos.net/nysl/ )に基づいてご自由に。 73 他は NYSL 0.9982 ( http://www.kmonos.net/nysl/ )に基づいてご自由に。

Modified src/Makefile from [771cea5a31d0f506] to [f84e816ad132fb6d].

1 SRCFILES = qbga32.def qbga32.d util.d bga_melter.d hack.d windll.d qbga_gui.d | 1 SRCFILES = qbga32.def dllmain.d util.d windll.d qbga32.d bga_melter.d qbga_gui. 2 BZ2FILES = libbz2\\bzlib.d libbz2\\libbz2.lib | 2 BZ2FILES = libbz2\bzlib.d libbz2\libbz2.lib 3 DEPLIBS = dmd_win32.lib | 3 DEPLIBS = win32\windef.d 4 OPTS = -release -shared 4 OPTS = -release -shared 5 #OPTS = -unittest < 6 5 7 QBga32.dll: $(SRCFILES) $(BZ2FILES) | 6 QBga32.dll: $(SRCFILES) $(BZ2FILES) Makefile 8 dmd.exe $(OPTS) -ofQBga32.dll $(SRCFILES) $(BZ2FILES) $(DEPLIBS) 7 dmd.exe $(OPTS) -ofQBga32.dll $(SRCFILES) $(BZ2FILES) $(DEPLIBS) 9 8 > 9 testexe.exe: testexe.d > 10 dmd.exe -gc -oftestexe.exe testexe.d > 11 10 clean: 12 clean: 11 del *.map 13 del *.map 12 del *.obj 14 del *.obj

Modified src/bga_melter.d from [cf24a8abe2b880fc] to [4c58bb3061c0a99d].

256 256 257 return -1; 257 return -1; 258 } 258 } 259 259 260 private bool read_header( out BgaHeader hdr ) 260 private bool read_header( out BgaHeader hdr ) 261 { 261 { 262 // 繝ェ繝医Ν繧ィ繝ウ繝繧」繧「繝ウ繧剃サョ螳壹ゅ倥ャ繝隱ュ縺ソ霎シ縺ソ 262 // 繝ェ繝医Ν繧ィ繝ウ繝繧」繧「繝ウ繧剃サョ螳壹ゅ倥ャ繝隱ュ縺ソ霎シ縺ソ 263 string buf = cast(string) fp.read(28); | 263 void[] buf = fp.read(28); 264 if( buf.length < 28 ) return false; 264 if( buf.length < 28 ) return false; 265 buf.length = BgaHeader.sizeof; 265 buf.length = BgaHeader.sizeof; 266 hdr = (cast(BgaHeader[]) buf)[0]; 266 hdr = (cast(BgaHeader[]) buf)[0]; 267 hdr.fname = ""; 267 hdr.fname = ""; 268 268 269 // 繝輔ぃ繧、繝ォ蜷 269 // 繝輔ぃ繧、繝ォ蜷 270 hdr.fname = cast(string) fp.read(hdr.dir_name_len + hdr.file_nam 270 hdr.fname = cast(string) fp.read(hdr.dir_name_len + hdr.file_nam 271 if( hdr.fname.length < hdr.dir_name_len + hdr.file_name_len ) re 271 if( hdr.fname.length < hdr.dir_name_len + hdr.file_name_len ) re 272 272 273 // 繝√ぉ繝繧ッ繧オ繝 273 // 繝√ぉ繝繧ッ繧オ繝 274 int sum = 0; 274 int sum = 0; 275 for( int i=4; i!=28; ++i ) sum += signed_char(buf[i]); | 275 for( int i=4; i!=28; ++i ) sum += signed_char((cast(char[])bu 276 foreach( char c ; hdr.fname ) sum += signed_char(c); 276 foreach( char c ; hdr.fname ) sum += signed_char(c); 277 return (sum == hdr.checksum); 277 return (sum == hdr.checksum); 278 } 278 } 279 279 280 private bool is_compressed( ref BgaHeader hdr ) // ref=just for optimiza 280 private bool is_compressed( ref BgaHeader hdr ) // ref=just for optimiza 281 { 281 { 282 // 繝倥ャ繝縺九i縲√ヵ繧。繧、繝ォ縺悟悸邵ョ譬シ邏阪&繧後※縺繧九°縺ゥ縺縺九r蛻、螳 282 // 繝倥ャ繝縺九i縲√ヵ繧。繧、繝ォ縺悟悸邵ョ譬シ邏阪&繧後※縺繧九°縺ゥ縺縺九r蛻、螳

Added src/dllmain.d version [9533046d0b42b4c6]

> 1 import core.sys.windows.dll; > 2 import core.sys.windows.windows; > 3 > 4 //---------------------------------------------------------------- > 5 // 縺翫″縺セ繧翫ョDLL蛻晄悄蛹悶Ν繝シ繝√Φ > 6 //---------------------------------------------------------------- > 7 > 8 extern (Windows) > 9 BOOL DllMain( HINSTANCE inst, ULONG reason, void* reserved ) > 10 { > 11 switch( reason ) > 12 { > 13 case DLL_PROCESS_ATTACH: > 14 dll_process_attach( inst, true ); > 15 break; > 16 > 17 case DLL_PROCESS_DETACH: > 18 dll_process_detach( inst, true ); > 19 break; > 20 > 21 case DLL_THREAD_ATTACH: > 22 dll_thread_attach( true, true ); > 23 break; > 24 > 25 case DLL_THREAD_DETACH: > 26 dll_thread_detach( true, true ); > 27 break; > 28 > 29 default: > 30 } > 31 return true; > 32 } > 33 > 34 /* > 35 // Hack! > 36 // > 37 // _acrtused_dll縺悟享謇九↓邨ゆコ譎ゅ↓讓呎コ門・蜃コ蜉帙ワ繝ウ繝峨Ν繧 > 38 // 髢峨§縺。繧縺」縺ヲ蝗ー繧九ョ縺ァ縲√◎縺ョ霎コ繧翫□縺代ッ髢峨§縺ェ縺繧医≧縺ェ > 39 // CloseHandle繧堤ェ√▲霎シ繧薙〒蝗樣∩縲 > 40 // > 41 // dmd v0.99 縺ァ縺ッ蜍輔>縺ヲ縺縺溘ョ縺縺代←譛霑代ョ縺縺ィ縺薙l繧貞・繧後k→ > 42 // 閾ウ繧区園縺ァ繧ッ繝ゥ繝繧キ繝・縺吶k縺ョ縺ァ閠縺育峩縺吝ソ隕√′縺ゅk縲 > 43 // TODO: bug report. > 44 > 45 extern(Windows) > 46 { > 47 private alias BOOL function(HANDLE) ClHnT; > 48 private ClHnT Real_CloseHandle; > 49 private HANDLE stdin; > 50 private HANDLE stdout; > 51 private HANDLE stderr; > 52 > 53 BOOL CloseHandle( HANDLE h ) > 54 { > 55 if( h==stdin ) return TRUE; > 56 if( h==stdout ) return TRUE; > 57 if( h==stderr ) return TRUE; > 58 return Real_CloseHandle(h); > 59 } > 60 } > 61 > 62 static this() > 63 { > 64 Real_CloseHandle = cast(ClHnT) > 65 GetProcAddress( GetModuleHandleA("kernel32.dll"), "CloseHandle" > 66 stdin = GetStdHandle(STD_INPUT_HANDLE ); > 67 stdout = GetStdHandle(STD_OUTPUT_HANDLE); > 68 stderr = GetStdHandle(STD_ERROR_HANDLE ); > 69 } > 70 */

Deleted src/dmd_win32.lib version [f1588214ab26ab00]

cannot compute difference between binary files

Deleted src/hack.d version [bca565610f0d70a9]

1 import core.sys.windows.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( GetModuleHandleA("kernel32.dll"), "CloseHandle" < 30 stdin = GetStdHandle(STD_INPUT_HANDLE ); < 31 stdout = GetStdHandle(STD_OUTPUT_HANDLE); < 32 stderr = GetStdHandle(STD_ERROR_HANDLE ); < 33 } <

Modified src/qbga32.d from [8bbe4efdd1d3598d] to [1c734ac63ab48040].

1 import core.sys.windows.dll; < 2 import win32.windows; 1 import win32.windows; 3 import win32.winuser; < 4 import std.string; 2 import std.string; 5 import std.file; 3 import std.file; 6 import util; 4 import util; 7 import windll; 5 import windll; 8 import bga_melter; 6 import bga_melter; 9 import qbga_gui; 7 import qbga_gui; 10 8 11 //---------------------------------------------------------------- 9 //---------------------------------------------------------------- 12 // 縺翫″縺セ繧翫ョDLL蛻晄悄蛹悶Ν繝シ繝√Φ | 10 // API霆「騾∝ヲ逅 13 //---------------------------------------------------------------- 11 //---------------------------------------------------------------- 14 12 15 __gshared HINSTANCE g_hinst; < 16 < 17 extern (Windows) < 18 BOOL DllMain( HINSTANCE inst, ULONG reason, void* reserved ) < 19 { < 20 switch( reason ) < 21 { < 22 case DLL_PROCESS_ATTACH: < 23 g_hinst = inst; < 24 dll_process_attach( inst, true ); < 25 if( g_orig_dll is null ) < 26 return false; < 27 break; < 28 < 29 case DLL_PROCESS_DETACH: < 30 dll_process_detach( inst, true ); < 31 break; < 32 < 33 case DLL_THREAD_ATTACH: < 34 dll_thread_attach( true, true ); < 35 break; < 36 < 37 case DLL_THREAD_DETACH: < 38 dll_thread_detach( true, true ); < 39 break; < 40 < 41 default: < 42 } < 43 return true; < 44 } < 45 < 46 //---------------------------------------------------------------- < 47 // API霆「騾∝ヲ逅 < 48 //---------------------------------------------------------------- < 49 < 50 __gshared WinDLL g_orig_dll = null; | 13 WinDLL g_orig_dll = null; 51 __gshared UINT WM_ARCEXTRACT; | 14 UINT WM_ARCEXTRACT; 52 15 53 static this() 16 static this() 54 { 17 { 55 g_orig_dll = WinDLL.load( "_Bga32.DLL" ); 18 g_orig_dll = WinDLL.load( "_Bga32.DLL" ); 56 WM_ARCEXTRACT = RegisterWindowMessage("wm_arcextract"); 19 WM_ARCEXTRACT = RegisterWindowMessage("wm_arcextract"); 57 } 20 } 58 21

Modified src/qbga_gui.d from [36c6085700197d43] to [5518278e91d2e2fc].

1 サソprivate import win32.windows; 1 サソprivate import win32.windows; 2 private import win32.commctrl; 2 private import win32.commctrl; 3 private import std.string; 3 private import std.string; 4 private import qbga32; < 5 4 6 void process_messages() 5 void process_messages() 7 { 6 { 8 for( MSG msg; PeekMessageA( &msg, null, 0, 0, PM_REMOVE ); ) 7 for( MSG msg; PeekMessageA( &msg, null, 0, 0, PM_REMOVE ); ) 9 { 8 { 10 TranslateMessage( &msg ); 9 TranslateMessage( &msg ); 11 DispatchMessageA( &msg ); 10 DispatchMessageA( &msg ); 12 } 11 } 13 } 12 } 14 13 15 // 螳溯」邯呎価(w < 16 < 17 class Dialog 14 class Dialog 18 { 15 { 19 public: 16 public: 20 HWND hwnd() 17 HWND hwnd() 21 { 18 { 22 return handle; 19 return handle; 23 } 20 } 24 21 25 protected: 22 protected: 26 void on_init() { MessageBoxA(null,"xxx",null,MB_OK); } | 23 void on_init() {} 27 bool on_ok() { return false; } 24 bool on_ok() { return false; } 28 bool on_cancel() { return false; } 25 bool on_cancel() { return false; } 29 bool on_command( UINT cmd ) { return false; } 26 bool on_command( UINT cmd ) { return false; } 30 bool on_message( UINT msg, WPARAM wp, LPARAM lp ) { return false; } 27 bool on_message( UINT msg, WPARAM wp, LPARAM lp ) { return false; } 31 28 32 extern(Windows) private static BOOL 29 extern(Windows) private static BOOL 33 static_dlg_proc( HWND dlg, UINT msg, WPARAM wp, LPARAM lp ) 30 static_dlg_proc( HWND dlg, UINT msg, WPARAM wp, LPARAM lp ) ................................................................................................................................................................................ 57 } 54 } 58 55 59 protected: 56 protected: 60 HWND handle; 57 HWND handle; 61 void BeginModeless( DLGTEMPLATE* dlg_template, HWND parent ) 58 void BeginModeless( DLGTEMPLATE* dlg_template, HWND parent ) 62 { 59 { 63 CreateDialogIndirectParam( 60 CreateDialogIndirectParam( 64 g_hinst, | 61 GetModuleHandle(null), 65 dlg_template, 62 dlg_template, 66 parent, 63 parent, 67 &static_dlg_proc, 64 &static_dlg_proc, 68 cast(LPARAM) cast(Dialog*) this 65 cast(LPARAM) cast(Dialog*) this 69 ); 66 ); 70 } 67 } 71 68 72 int BeginModal( DLGTEMPLATE* dlg_template, HWND parent ) 69 int BeginModal( DLGTEMPLATE* dlg_template, HWND parent ) 73 { 70 { 74 return DialogBoxIndirectParam( 71 return DialogBoxIndirectParam( 75 g_hinst, | 72 GetModuleHandle(null), 76 dlg_template, 73 dlg_template, 77 parent, 74 parent, 78 &static_dlg_proc, 75 &static_dlg_proc, 79 cast(LPARAM) cast(Dialog*) this 76 cast(LPARAM) cast(Dialog*) this 80 ); 77 ); 81 } 78 } 82 79

Added src/testexe.d version [cc2ab2b91c87057b]

> 1 import win32.windows; > 2 import std.stdio; > 3 import std.string; > 4 import core.runtime; > 5 > 6 alias extern(Windows) int function( HWND a, immutable char* b, char* c, DWORD d > 7 > 8 void main() > 9 { > 10 HINSTANCE h = cast(HINSTANCE) Runtime.loadLibrary("QBga32.DLL"); > 11 for(;;) { > 12 write("> "); > 13 string s = readln(); > 14 if(s.length > 0) { > 15 CmdFuncT Bga = cast(CmdFuncT)GetProcAddress(h, "Bga"); > 16 int r = Bga(NULL, s.toStringz(), null, 0); > 17 writeln("Return: ", r); > 18 } > 19 } > 20 Runtime.unloadLibrary(h); > 21 }

Modified src/util.d from [affffc4f40848d74] to [f4a72491493dc9ab].

1 サソimport win32.windows; 1 サソimport win32.windows; 2 import std.string; 2 import std.string; 3 import std.file; 3 import std.file; 4 4 5 char lastChar( string s ) 5 char lastChar( string s ) 6 { return *CharPrevA(cast(char*)s.ptr, cast(char*)s.ptr+s.length); } 6 { return *CharPrevA(cast(char*)s.ptr, cast(char*)s.ptr+s.length); } 7 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 //---------------------------------------------------------------- 8 //---------------------------------------------------------------- 71 // 繧ウ繝槭Φ繝峨Λ繧、繝ウ隗」譫 9 // 繧ウ繝槭Φ繝峨Λ繧、繝ウ隗」譫 72 //---------------------------------------------------------------- 10 //---------------------------------------------------------------- 73 11 74 string[] cmd_parse( string str, bool in_resp=false ) 12 string[] cmd_parse( string str, bool in_resp=false ) 75 { 13 { 76 string[] ans; 14 string[] ans; ................................................................................................................................................................................ 108 i = j; 46 i = j; 109 } 47 } 110 48 111 // 繝ャ繧ケ繝昴Φ繧ケ繝輔ぃ繧、繝ォ髢「騾」縺ョ蜃ヲ逅 49 // 繝ャ繧ケ繝昴Φ繧ケ繝輔ぃ繧、繝ォ髢「騾」縺ョ蜃ヲ逅 112 if( !in_resp && param[0]==resp_char ) 50 if( !in_resp && param[0]==resp_char ) 113 { 51 { 114 try { 52 try { 115 string rsp = cast(string) std.file.read( param[1 | 53 string rsp = cast(string) std.file.read( param[1 116 ans ~= cmd_parse(rsp,true); 54 ans ~= cmd_parse(rsp,true); 117 } catch( FileException e ) {} 55 } catch( FileException e ) {} 118 } 56 } 119 else if( param.length>=2 && param[0..2]=="--" ) 57 else if( param.length>=2 && param[0..2]=="--" ) 120 { 58 { 121 resp_char = (param.length==2 ? '\0' : param[2]); 59 resp_char = (param.length==2 ? '\0' : param[2]); 122 } 60 }

Modified src/win32/accctrl.d from [e316536fe0a88b95] to [48529f99cd556031].

11 module win32.accctrl; 11 module win32.accctrl; 12 12 13 private import win32.basetyps, win32.w32api, win32.winbase, win32.windef; 13 private import win32.basetyps, win32.w32api, win32.winbase, win32.windef; 14 14 15 // FIXME: check types and grouping of constants 15 // FIXME: check types and grouping of constants 16 // FIXME: check Windows version support 16 // FIXME: check Windows version support 17 17 18 static assert (_WIN32_WINNT_ONLY, < 19 "win32.accctrl is available only if version WindowsNTonly, WindowsXP, " < 20 "Windows2003 or WindowsVista is set"); < 21 < 22 alias LocalFree AccFree; 18 alias LocalFree AccFree; 23 19 24 const uint 20 const uint 25 ACTRL_RESERVED = 0x00000000, 21 ACTRL_RESERVED = 0x00000000, 26 ACTRL_ACCESS_PROTECTED = 0x00000001, 22 ACTRL_ACCESS_PROTECTED = 0x00000001, 27 ACTRL_ACCESS_ALLOWED = 0x00000001, 23 ACTRL_ACCESS_ALLOWED = 0x00000001, 28 ACTRL_ACCESS_DENIED = 0x00000002, 24 ACTRL_ACCESS_DENIED = 0x00000002, ................................................................................................................................................................................ 359 SE_OBJECT_TYPE ObjectType; 355 SE_OBJECT_TYPE ObjectType; 360 LPWSTR ObjectTypeName; 356 LPWSTR ObjectTypeName; 361 LPWSTR InheritedObjectTypeName; 357 LPWSTR InheritedObjectTypeName; 362 LPWSTR ptstrName; 358 LPWSTR ptstrName; 363 } 359 } 364 alias OBJECTS_AND_NAME_W* POBJECTS_AND_NAME_W; 360 alias OBJECTS_AND_NAME_W* POBJECTS_AND_NAME_W; 365 361 366 static if (WINVER >= 0x501) { | 362 static if (_WIN32_WINNT >= 0x501) { 367 struct INHERITED_FROMA { 363 struct INHERITED_FROMA { 368 LONG GenerationGap; 364 LONG GenerationGap; 369 LPSTR AncestorName; 365 LPSTR AncestorName; 370 } 366 } 371 alias INHERITED_FROMA* PINHERITED_FROMA; 367 alias INHERITED_FROMA* PINHERITED_FROMA; 372 368 373 struct INHERITED_FROMW { 369 struct INHERITED_FROMW { ................................................................................................................................................................................ 384 alias ACTRL_ACCESS_INFOW ACTRL_ACCESS_INFO; 380 alias ACTRL_ACCESS_INFOW ACTRL_ACCESS_INFO; 385 alias ACTRL_ACCESS_ENTRYW ACTRL_ACCESS_ENTRY; 381 alias ACTRL_ACCESS_ENTRYW ACTRL_ACCESS_ENTRY; 386 alias ACTRL_AUDITW ACTRL_AUDIT; 382 alias ACTRL_AUDITW ACTRL_AUDIT; 387 alias ACTRL_CONTROL_INFOW ACTRL_CONTROL_INFO; 383 alias ACTRL_CONTROL_INFOW ACTRL_CONTROL_INFO; 388 alias EXPLICIT_ACCESSW EXPLICIT_ACCESS; 384 alias EXPLICIT_ACCESSW EXPLICIT_ACCESS; 389 alias TRUSTEE_ACCESSW TRUSTEE_ACCESS; 385 alias TRUSTEE_ACCESSW TRUSTEE_ACCESS; 390 alias OBJECTS_AND_NAME_W OBJECTS_AND_NAME_; 386 alias OBJECTS_AND_NAME_W OBJECTS_AND_NAME_; 391 static if (WINVER >= 0x501) { | 387 static if (_WIN32_WINNT >= 0x501) { 392 alias INHERITED_FROMW INHERITED_FROM; 388 alias INHERITED_FROMW INHERITED_FROM; 393 } 389 } 394 } else { 390 } else { 395 alias TRUSTEEA TRUSTEE; 391 alias TRUSTEEA TRUSTEE; 396 alias ACTRL_ACCESSA ACTRL_ACCESS; 392 alias ACTRL_ACCESSA ACTRL_ACCESS; 397 alias ACTRL_ACCESS_ENTRY_LISTA ACTRL_ACCESS_ENTRY_LIST; 393 alias ACTRL_ACCESS_ENTRY_LISTA ACTRL_ACCESS_ENTRY_LIST; 398 alias ACTRL_ACCESS_INFOA ACTRL_ACCESS_INFO; 394 alias ACTRL_ACCESS_INFOA ACTRL_ACCESS_INFO; 399 alias ACTRL_ACCESS_ENTRYA ACTRL_ACCESS_ENTRY; 395 alias ACTRL_ACCESS_ENTRYA ACTRL_ACCESS_ENTRY; 400 alias ACTRL_AUDITA ACTRL_AUDIT; 396 alias ACTRL_AUDITA ACTRL_AUDIT; 401 alias ACTRL_CONTROL_INFOA ACTRL_CONTROL_INFO; 397 alias ACTRL_CONTROL_INFOA ACTRL_CONTROL_INFO; 402 alias EXPLICIT_ACCESSA EXPLICIT_ACCESS; 398 alias EXPLICIT_ACCESSA EXPLICIT_ACCESS; 403 alias TRUSTEE_ACCESSA TRUSTEE_ACCESS; 399 alias TRUSTEE_ACCESSA TRUSTEE_ACCESS; 404 alias OBJECTS_AND_NAME_A OBJECTS_AND_NAME_; 400 alias OBJECTS_AND_NAME_A OBJECTS_AND_NAME_; 405 static if (WINVER >= 0x501) { | 401 static if (_WIN32_WINNT >= 0x501) { 406 alias INHERITED_FROMA INHERITED_FROM; 402 alias INHERITED_FROMA INHERITED_FROM; 407 } 403 } 408 } 404 } 409 405 410 alias TRUSTEE TRUSTEE_; 406 alias TRUSTEE TRUSTEE_; 411 alias TRUSTEE* PTRUSTEE, PTRUSTEE_; 407 alias TRUSTEE* PTRUSTEE, PTRUSTEE_; 412 alias ACTRL_ACCESS* PACTRL_ACCESS; 408 alias ACTRL_ACCESS* PACTRL_ACCESS; ................................................................................................................................................................................ 415 alias ACTRL_ACCESS_ENTRY* PACTRL_ACCESS_ENTRY; 411 alias ACTRL_ACCESS_ENTRY* PACTRL_ACCESS_ENTRY; 416 alias ACTRL_AUDIT* PACTRL_AUDIT; 412 alias ACTRL_AUDIT* PACTRL_AUDIT; 417 alias ACTRL_CONTROL_INFO* PACTRL_CONTROL_INFO; 413 alias ACTRL_CONTROL_INFO* PACTRL_CONTROL_INFO; 418 alias EXPLICIT_ACCESS EXPLICIT_ACCESS_; 414 alias EXPLICIT_ACCESS EXPLICIT_ACCESS_; 419 alias EXPLICIT_ACCESS* PEXPLICIT_ACCESS, PEXPLICIT_ACCESS_; 415 alias EXPLICIT_ACCESS* PEXPLICIT_ACCESS, PEXPLICIT_ACCESS_; 420 alias TRUSTEE_ACCESS* PTRUSTEE_ACCESS; 416 alias TRUSTEE_ACCESS* PTRUSTEE_ACCESS; 421 alias OBJECTS_AND_NAME_* POBJECTS_AND_NAME_; 417 alias OBJECTS_AND_NAME_* POBJECTS_AND_NAME_; 422 static if (WINVER >= 0x501) { | 418 static if (_WIN32_WINNT >= 0x501) { 423 alias INHERITED_FROM* PINHERITED_FROM; 419 alias INHERITED_FROM* PINHERITED_FROM; 424 } 420 }

Modified src/win32/aclapi.d from [dc98e950dc2783b3] to [c097a51ee1c3b3d3].

5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * by Stewart Gordon * 7 * by Stewart Gordon * 8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.aclapi; 11 module win32.aclapi; 12 pragma(lib, "advapi32.lib"); | 12 pragma(lib, "advapi32"); 13 13 14 import win32.windows, win32.accctrl; 14 import win32.windows, win32.accctrl; 15 15 16 static assert (_WIN32_WINNT_ONLY, < 17 "win32.aclapi is available only if version WindowsNTonly, WindowsXP, " < 18 "Windows2003 or WindowsVista is set"); < 19 < 20 extern (Windows) { 16 extern (Windows) { 21 VOID BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A, LPSTR, DWORD, 17 VOID BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A, LPSTR, DWORD, 22 ACCESS_MODE, DWORD); 18 ACCESS_MODE, DWORD); 23 VOID BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W, LPWSTR, DWORD, 19 VOID BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W, LPWSTR, DWORD, 24 ACCESS_MODE, DWORD); 20 ACCESS_MODE, DWORD); 25 DWORD BuildSecurityDescriptorA(PTRUSTEE_A, PTRUSTEE_A , ULONG, 21 DWORD BuildSecurityDescriptorA(PTRUSTEE_A, PTRUSTEE_A , ULONG, 26 PEXPLICIT_ACCESS_A, ULONG, PEXPLICIT_ACCESS_A, PSECURITY_DESCRIPTOR, 22 PEXPLICIT_ACCESS_A, ULONG, PEXPLICIT_ACCESS_A, PSECURITY_DESCRIPTOR, ................................................................................................................................................................................ 44 PACCESS_MASK); 40 PACCESS_MASK); 45 DWORD GetAuditedPermissionsFromAclW(PACL, PTRUSTEE_W, PACCESS_MASK, 41 DWORD GetAuditedPermissionsFromAclW(PACL, PTRUSTEE_W, PACCESS_MASK, 46 PACCESS_MASK); 42 PACCESS_MASK); 47 DWORD GetEffectiveRightsFromAclA(PACL, PTRUSTEE_A, PACCESS_MASK); 43 DWORD GetEffectiveRightsFromAclA(PACL, PTRUSTEE_A, PACCESS_MASK); 48 DWORD GetEffectiveRightsFromAclW(PACL, PTRUSTEE_W, PACCESS_MASK); 44 DWORD GetEffectiveRightsFromAclW(PACL, PTRUSTEE_W, PACCESS_MASK); 49 DWORD GetExplicitEntriesFromAclA(PACL, PULONG, PEXPLICIT_ACCESS_A*); 45 DWORD GetExplicitEntriesFromAclA(PACL, PULONG, PEXPLICIT_ACCESS_A*); 50 DWORD GetExplicitEntriesFromAclW(PACL, PULONG, PEXPLICIT_ACCESS_W*); 46 DWORD GetExplicitEntriesFromAclW(PACL, PULONG, PEXPLICIT_ACCESS_W*); 51 static if (WINVER >= 0x501) { | 47 static if (_WIN32_WINNT >= 0x501) { 52 DWORD GetInheritanceSourceA(LPSTR, SE_OBJECT_TYPE, 48 DWORD GetInheritanceSourceA(LPSTR, SE_OBJECT_TYPE, 53 SECURITY_INFORMATION, BOOL, GUID**, DWORD, PACL, void*, 49 SECURITY_INFORMATION, BOOL, GUID**, DWORD, PACL, void*, 54 PGENERIC_MAPPING, PINHERITED_FROMA); 50 PGENERIC_MAPPING, PINHERITED_FROMA); 55 DWORD GetInheritanceSourceW(LPWSTR, SE_OBJECT_TYPE, 51 DWORD GetInheritanceSourceW(LPWSTR, SE_OBJECT_TYPE, 56 SECURITY_INFORMATION, BOOL, GUID**, DWORD, PACL, void*, 52 SECURITY_INFORMATION, BOOL, GUID**, DWORD, PACL, void*, 57 PGENERIC_MAPPING, PINHERITED_FROMW); 53 PGENERIC_MAPPING, PINHERITED_FROMW); 58 } 54 }

Modified src/win32/aclui.d from [817cc0a842105b34] to [b9488d42782563c4].

5 * * 5 * * 6 * Translated from MinGW API for MS-Windows 3.10 * 6 * Translated from MinGW API for MS-Windows 3.10 * 7 * by Stewart Gordon * 7 * by Stewart Gordon * 8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.aclui; 11 module win32.aclui; 12 pragma(lib, "aclui.lib"); | 12 pragma(lib, "aclui"); 13 13 14 private import win32.w32api; 14 private import win32.w32api; 15 15 16 static assert (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500, | 16 static assert (_WIN32_WINNT >= 0x500, 17 "win32.aclui is available only if version WindowsXP, Windows2003 " | 17 "win32.aclui is available only if version Windows2000, WindowsXP, Window 18 "or WindowsVista is set, or both Windows2000 and WindowsNTonly are set") | 18 "or WindowsVista is set"); 19 19 20 import win32.accctrl, win32.commctrl, win32.objbase; 20 import win32.accctrl, win32.commctrl, win32.objbase; 21 private import win32.basetyps, win32.prsht, win32.unknwn, win32.windef, 21 private import win32.basetyps, win32.prsht, win32.unknwn, win32.windef, 22 win32.winuser; 22 win32.winuser; 23 23 24 24 25 struct SI_OBJECT_INFO { 25 struct SI_OBJECT_INFO { ................................................................................................................................................................................ 57 SI_RESET_OWNER = 0x00100000, 57 SI_RESET_OWNER = 0x00100000, 58 SI_NO_ADDITIONAL_PERMISSION = 0x00200000, 58 SI_NO_ADDITIONAL_PERMISSION = 0x00200000, 59 SI_MAY_WRITE = 0x10000000, 59 SI_MAY_WRITE = 0x10000000, 60 SI_EDIT_ALL = SI_EDIT_PERMS | SI_EDIT_OWNER 60 SI_EDIT_ALL = SI_EDIT_PERMS | SI_EDIT_OWNER 61 | SI_EDIT_AUDITS; 61 | SI_EDIT_AUDITS; 62 62 63 struct SI_ACCESS { 63 struct SI_ACCESS { 64 CPtr!(GUID) pguid; | 64 const(GUID)* pguid; 65 ACCESS_MASK mask; | 65 ACCESS_MASK mask; 66 LPCWSTR pszName; | 66 LPCWSTR pszName; 67 DWORD dwFlags; | 67 DWORD dwFlags; 68 } 68 } 69 alias SI_ACCESS* PSI_ACCESS; 69 alias SI_ACCESS* PSI_ACCESS; 70 70 71 // values for SI_ACCESS.dwFlags 71 // values for SI_ACCESS.dwFlags 72 const DWORD 72 const DWORD 73 SI_ACCESS_SPECIFIC = 0x00010000, 73 SI_ACCESS_SPECIFIC = 0x00010000, 74 SI_ACCESS_GENERAL = 0x00020000, 74 SI_ACCESS_GENERAL = 0x00020000, 75 SI_ACCESS_CONTAINER = 0x00040000, 75 SI_ACCESS_CONTAINER = 0x00040000, 76 SI_ACCESS_PROPERTY = 0x00080000; 76 SI_ACCESS_PROPERTY = 0x00080000; 77 77 78 78 79 struct SI_INHERIT_TYPE { 79 struct SI_INHERIT_TYPE { 80 CPtr!(GUID) pguid; | 80 const(GUID)* pguid; 81 ULONG dwFlags; | 81 ULONG dwFlags; 82 LPCWSTR pszName; | 82 LPCWSTR pszName; 83 } 83 } 84 alias SI_INHERIT_TYPE* PSI_INHERIT_TYPE; 84 alias SI_INHERIT_TYPE* PSI_INHERIT_TYPE; 85 85 86 /* values for SI_INHERIT_TYPE.dwFlags 86 /* values for SI_INHERIT_TYPE.dwFlags 87 INHERIT_ONLY_ACE, CONTAINER_INHERIT_ACE, OBJECT_INHERIT_ACE 87 INHERIT_ONLY_ACE, CONTAINER_INHERIT_ACE, OBJECT_INHERIT_ACE 88 defined elsewhere */ 88 defined elsewhere */ 89 89 ................................................................................................................................................................................ 96 96 97 const uint PSPCB_SI_INITDIALOG = WM_USER + 1; 97 const uint PSPCB_SI_INITDIALOG = WM_USER + 1; 98 98 99 interface ISecurityInformation : IUnknown { 99 interface ISecurityInformation : IUnknown { 100 HRESULT GetObjectInformation(PSI_OBJECT_INFO); 100 HRESULT GetObjectInformation(PSI_OBJECT_INFO); 101 HRESULT GetSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR*, BOOL); 101 HRESULT GetSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR*, BOOL); 102 HRESULT SetSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR); 102 HRESULT SetSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR); 103 HRESULT GetAccessRights(CPtr!(GUID), DWORD, PSI_ACCESS*, ULONG*, ULONG*) | 103 HRESULT GetAccessRights(const(GUID)*, DWORD, PSI_ACCESS*, ULONG*, ULONG* 104 HRESULT MapGeneric(CPtr!(GUID), UCHAR*, ACCESS_MASK*); | 104 HRESULT MapGeneric(const(GUID)*, UCHAR*, ACCESS_MASK*); 105 HRESULT GetInheritTypes(PSI_INHERIT_TYPE*, ULONG*); 105 HRESULT GetInheritTypes(PSI_INHERIT_TYPE*, ULONG*); 106 HRESULT PropertySheetPageCallback(HWND, UINT, SI_PAGE_TYPE); 106 HRESULT PropertySheetPageCallback(HWND, UINT, SI_PAGE_TYPE); 107 } 107 } 108 alias ISecurityInformation* LPSECURITYINFO; | 108 alias ISecurityInformation LPSECURITYINFO; 109 109 110 /* Comment from MinGW 110 /* Comment from MinGW 111 * TODO: ISecurityInformation2, IEffectivePermission, ISecurityObjectTypeInfo 111 * TODO: ISecurityInformation2, IEffectivePermission, ISecurityObjectTypeInfo 112 */ 112 */ 113 113 114 // FIXME: linkage attribute? 114 // FIXME: linkage attribute? 115 extern (C) /+DECLSPEC_IMPORT+/ extern const IID IID_ISecurityInformation; 115 extern (C) /+DECLSPEC_IMPORT+/ extern const IID IID_ISecurityInformation; 116 116 117 extern (Windows) { 117 extern (Windows) { 118 HPROPSHEETPAGE CreateSecurityPage(LPSECURITYINFO psi); 118 HPROPSHEETPAGE CreateSecurityPage(LPSECURITYINFO psi); 119 BOOL EditSecurity(HWND hwndOwner, LPSECURITYINFO psi); 119 BOOL EditSecurity(HWND hwndOwner, LPSECURITYINFO psi); 120 } 120 }

Modified src/win32/basetsd.d from [2d9ec241e2f4195d] to [386a11e840358068].

8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.basetsd; 11 module win32.basetsd; 12 12 13 /* This template is used in these modules to declare constant pointer types 13 /* This template is used in these modules to declare constant pointer types 14 * in order to support both D 1.x and 2.x. 14 * in order to support both D 1.x and 2.x. > 15 * Since removed - now supporting only D2 15 */ 16 */ 16 template CPtr(T) { | 17 /*template CPtr(T) { 17 version (D_Version2) { 18 version (D_Version2) { 18 // must use mixin so that it doesn't cause a syntax error under 19 // must use mixin so that it doesn't cause a syntax error under 19 mixin("alias const(T)* CPtr;"); 20 mixin("alias const(T)* CPtr;"); 20 } else { 21 } else { 21 alias T* CPtr; 22 alias T* CPtr; 22 } 23 } > 24 }*/ > 25 > 26 /* [CyberShadow VP 2011.12.22] typedef is now deprecated in D2. > 27 */ > 28 template TypeDef(T) { > 29 version (D_Version2) { > 30 alias T TypeDef; > 31 } else { > 32 // must use mixin so that it doesn't cause a deprecation error u > 33 mixin("typedef T TypeDef;"); > 34 } 23 } 35 } 24 36 25 // [SnakE 2009-02-23] Moved HANDLE definition here from winnt.d to avoid 37 // [SnakE 2009-02-23] Moved HANDLE definition here from winnt.d to avoid 26 // 'forwatd template reference' to CPtr from winnt.d caused by a circular 38 // 'forwatd template reference' to CPtr from winnt.d caused by a circular 27 // import. 39 // import. 28 40 > 41 alias TypeDef!(void*) HANDLE; 29 alias void* HANDLE; | 42 /+struct HANDLE { > 43 const(void)* h; > 44 alias h this; > 45 }+/ 30 46 > 47 package template DECLARE_HANDLE(string name, base = HANDLE) { > 48 mixin ("alias " ~ base.stringof ~ " " ~ name ~ ";"); > 49 } 31 alias HANDLE* PHANDLE, LPHANDLE; 50 alias HANDLE* PHANDLE, LPHANDLE; 32 51 33 version (Win64) { 52 version (Win64) { 34 alias long __int3264; 53 alias long __int3264; 35 const ulong ADDRESS_TAG_BIT = 0x40000000000; 54 const ulong ADDRESS_TAG_BIT = 0x40000000000; 36 55 37 alias long INT_PTR, LONG_PTR; 56 alias long INT_PTR, LONG_PTR; ................................................................................................................................................................................ 39 alias ulong UINT_PTR, ULONG_PTR, HANDLE_PTR; 58 alias ulong UINT_PTR, ULONG_PTR, HANDLE_PTR; 40 alias ulong* PUINT_PTR, PULONG_PTR; 59 alias ulong* PUINT_PTR, PULONG_PTR; 41 alias int HALF_PTR; 60 alias int HALF_PTR; 42 alias int* PHALF_PTR; 61 alias int* PHALF_PTR; 43 alias uint UHALF_PTR; 62 alias uint UHALF_PTR; 44 alias uint* PUHALF_PTR; 63 alias uint* PUHALF_PTR; 45 64 46 /* *To* functions are conditioned out in MinGW. | 65 uint HandleToULong(void* h) { return(cast(uint) cast(ULONG_PTR) h); } 47 * Presumably they're not working/tested yet. Comment: | 66 int HandleToLong(void* h) { return(cast(int) cast(LONG_PTR) h); } 48 TODO when WIN64 is here | 67 void* ULongToHandle(uint h) { return(cast(void*) cast(UINT_PTR) h); } 49 */ | 68 void* LongToHandle(int h) { return(cast(void*) cast(INT_PTR) h); } > 69 uint PtrToUlong(void* p) { return(cast(uint) cast(ULONG_PTR) p); } > 70 uint PtrToUint(void* p) { return(cast(uint) cast(UINT_PTR) p); } > 71 ushort PtrToUshort(void* p) { return(cast(ushort) cast(uint) cast(ULONG_ > 72 int PtrToLong(void* p) { return(cast(int) cast(LONG_PTR) p); } > 73 int PtrToInt(void* p) { return(cast(int) cast(INT_PTR) p); } > 74 short PtrToShort(void* p) { return(cast(short) cast(int) cast(LONG_PTR > 75 void* IntToPtr(int i) { return(cast(void*) cast(INT_PTR) i); } > 76 void* UIntToPtr(uint ui) { return(cast(void*) cast(UINT_PTR) ui); } > 77 void* LongToPtr(int l) { return(cast(void*) cast(LONG_PTR) l); } > 78 void* ULongToPtr(uint ul) { return(cast(void*) cast(ULONG_PTR) ul); } > 79 50 } else { 80 } else { 51 alias int __int3264; 81 alias int __int3264; 52 const uint ADDRESS_TAG_BIT = 0x80000000; 82 const uint ADDRESS_TAG_BIT = 0x80000000; 53 83 54 alias int INT_PTR, LONG_PTR; 84 alias int INT_PTR, LONG_PTR; 55 alias int* PINT_PTR, PLONG_PTR; 85 alias int* PINT_PTR, PLONG_PTR; 56 alias uint UINT_PTR, ULONG_PTR, HANDLE_PTR; 86 alias uint UINT_PTR, ULONG_PTR, HANDLE_PTR; ................................................................................................................................................................................ 58 alias short HALF_PTR; 88 alias short HALF_PTR; 59 alias short* PHALF_PTR; 89 alias short* PHALF_PTR; 60 alias ushort UHALF_PTR; 90 alias ushort UHALF_PTR; 61 alias ushort* PUHALF_PTR; 91 alias ushort* PUHALF_PTR; 62 92 63 uint HandleToUlong(HANDLE h) { return cast(uint) h; } 93 uint HandleToUlong(HANDLE h) { return cast(uint) h; } 64 int HandleToLong(HANDLE h) { return cast(int) h; } 94 int HandleToLong(HANDLE h) { return cast(int) h; } 65 HANDLE LongToHandle(LONG_PTR h) { return cast(HANDLE) h; } | 95 HANDLE LongToHandle(LONG_PTR h) { return cast(HANDLE)h; } 66 uint PtrToUlong(CPtr!(void) p) { return cast(uint) p; } | 96 uint PtrToUlong(const(void)* p) { return cast(uint) p; } 67 uint PtrToUint(CPtr!(void) p) { return cast(uint) p; } | 97 uint PtrToUint(const(void)* p) { return cast(uint) p; } 68 int PtrToInt(CPtr!(void) p) { return cast(int) p; } | 98 int PtrToInt(const(void)* p) { return cast(int) p; } 69 ushort PtrToUshort(CPtr!(void) p) { return cast(ushort) p; } | 99 ushort PtrToUshort(const(void)* p) { return cast(ushort) p; } 70 short PtrToShort(CPtr!(void) p) { return cast(short) p; } | 100 short PtrToShort(const(void)* p) { return cast(short) p; } 71 void* IntToPtr(int i) { return cast(void*) i; } 101 void* IntToPtr(int i) { return cast(void*) i; } 72 void* UIntToPtr(uint ui) { return cast(void*) ui; } 102 void* UIntToPtr(uint ui) { return cast(void*) ui; } 73 alias IntToPtr LongToPtr; 103 alias IntToPtr LongToPtr; 74 alias UIntToPtr ULongToPtr; 104 alias UIntToPtr ULongToPtr; 75 } 105 } 76 106 77 alias UIntToPtr UintToPtr, UlongToPtr; 107 alias UIntToPtr UintToPtr, UlongToPtr;

Modified src/win32/basetyps.d from [29a55976d90d530f] to [71cde5f6219de3f2].

15 DWORD Data1; 15 DWORD Data1; 16 WORD Data2; 16 WORD Data2; 17 WORD Data3; 17 WORD Data3; 18 BYTE[8] Data4; 18 BYTE[8] Data4; 19 } 19 } 20 alias GUID UUID, IID, CLSID, FMTID, uuid_t; 20 alias GUID UUID, IID, CLSID, FMTID, uuid_t; 21 alias GUID* LPGUID, LPCLSID, LPIID; 21 alias GUID* LPGUID, LPCLSID, LPIID; 22 alias CPtr!(GUID) REFGUID, REFIID, REFCLSID, REFFMTID; | 22 alias const(GUID)* REFGUID, REFIID, REFCLSID, REFFMTID; 23 23 24 alias uint error_status_t, PROPID; 24 alias uint error_status_t, PROPID;

Modified src/win32/cderr.d from [50d169f239b9620b] to [dddd665a5513f5f9].

Modified src/win32/cguid.d from [100f7066a1d649ec] to [fa7b5ef398f5d977].

Modified src/win32/comcat.d from [132f4d39301cf777] to [0951e85dcd3ca054].

10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.comcat; 11 module win32.comcat; 12 12 13 import win32.windows, win32.ole2; 13 import win32.windows, win32.ole2; 14 private import win32.basetyps, win32.cguid, win32.objbase, win32.unknwn, 14 private import win32.basetyps, win32.cguid, win32.objbase, win32.unknwn, 15 win32.windef, win32.wtypes; 15 win32.windef, win32.wtypes; 16 16 17 alias IEnumGUID* LPENUMGUID; | 17 alias IEnumGUID LPENUMGUID; 18 18 19 interface IEnumGUID : IUnknown { 19 interface IEnumGUID : IUnknown { 20 HRESULT Next(ULONG, GUID*, ULONG*); 20 HRESULT Next(ULONG, GUID*, ULONG*); 21 HRESULT Skip(ULONG); 21 HRESULT Skip(ULONG); 22 HRESULT Reset(); 22 HRESULT Reset(); 23 HRESULT Clone(LPENUMGUID*); 23 HRESULT Clone(LPENUMGUID*); 24 } 24 } ................................................................................................................................................................................ 48 HRESULT GetCategoryDesc(REFCATID, LCID, PWCHAR*); 48 HRESULT GetCategoryDesc(REFCATID, LCID, PWCHAR*); 49 HRESULT EnumClassesOfCategories(ULONG, CATID*, ULONG, CATID*, 49 HRESULT EnumClassesOfCategories(ULONG, CATID*, ULONG, CATID*, 50 LPENUMCLSID*); 50 LPENUMCLSID*); 51 HRESULT IsClassOfCategories(REFCLSID, ULONG, CATID*, ULONG, CATID*); 51 HRESULT IsClassOfCategories(REFCLSID, ULONG, CATID*, ULONG, CATID*); 52 HRESULT EnumImplCategoriesOfClass(REFCLSID, LPENUMCATID*); 52 HRESULT EnumImplCategoriesOfClass(REFCLSID, LPENUMCATID*); 53 HRESULT EnumReqCategoriesOfClass(REFCLSID, LPENUMCATID*); 53 HRESULT EnumReqCategoriesOfClass(REFCLSID, LPENUMCATID*); 54 } 54 } 55 alias ICatInformation* LPCATINFORMATION; | 55 alias ICatInformation LPCATINFORMATION; 56 56 57 interface ICatRegister : IUnknown { 57 interface ICatRegister : IUnknown { 58 HRESULT RegisterCategories(ULONG, CATEGORYINFO*); 58 HRESULT RegisterCategories(ULONG, CATEGORYINFO*); 59 HRESULT UnRegisterCategories(ULONG, CATID*); 59 HRESULT UnRegisterCategories(ULONG, CATID*); 60 HRESULT RegisterClassImplCategories(REFCLSID, ULONG, CATID*); 60 HRESULT RegisterClassImplCategories(REFCLSID, ULONG, CATID*); 61 HRESULT UnRegisterClassImplCategories(REFCLSID, ULONG, CATID*); 61 HRESULT UnRegisterClassImplCategories(REFCLSID, ULONG, CATID*); 62 HRESULT RegisterClassReqCategories(REFCLSID, ULONG, CATID*); 62 HRESULT RegisterClassReqCategories(REFCLSID, ULONG, CATID*); 63 HRESULT UnRegisterClassReqCategories(REFCLSID, ULONG, CATID*); 63 HRESULT UnRegisterClassReqCategories(REFCLSID, ULONG, CATID*); 64 } 64 } 65 alias ICatRegister* LPCATREGISTER; | 65 alias ICatRegister LPCATREGISTER; 66 66 67 interface IEnumCATEGORYINFO : IUnknown { 67 interface IEnumCATEGORYINFO : IUnknown { 68 HRESULT Next(ULONG, CATEGORYINFO*, ULONG*); 68 HRESULT Next(ULONG, CATEGORYINFO*, ULONG*); 69 HRESULT Skip(ULONG); 69 HRESULT Skip(ULONG); 70 HRESULT Reset(); 70 HRESULT Reset(); 71 HRESULT Clone(LPENUMCATEGORYINFO*); 71 HRESULT Clone(LPENUMCATEGORYINFO*); 72 } 72 } 73 alias IEnumCATEGORYINFO* LPENUMCATEGORYINFO; | 73 alias IEnumCATEGORYINFO LPENUMCATEGORYINFO;

Modified src/win32/commctrl.d from [4681e85cdf159780] to [62776dff0a2d0b7a].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW API for MS-Windows 3.12 * 6 * Translated from MinGW API for MS-Windows 3.12 * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.commctrl; 10 module win32.commctrl; 11 pragma(lib, "comctl32.lib"); | 11 pragma(lib, "comctl32"); 12 12 13 private import win32.w32api, win32.windef, win32.winuser; 13 private import win32.w32api, win32.windef, win32.winuser; 14 private import win32.winbase; // for SYSTEMTIME 14 private import win32.winbase; // for SYSTEMTIME 15 private import win32.objfwd; // for LPSTREAM 15 private import win32.objfwd; // for LPSTREAM 16 16 17 import win32.prsht; 17 import win32.prsht; 18 18 ................................................................................................................................................................................ 53 HDM_FIRST = 0x1200 53 HDM_FIRST = 0x1200 54 } 54 } 55 55 56 enum { 56 enum { 57 ACM_OPENA = WM_USER + 100, 57 ACM_OPENA = WM_USER + 100, 58 ACM_PLAY = WM_USER + 101, 58 ACM_PLAY = WM_USER + 101, 59 ACM_STOP = WM_USER + 102, 59 ACM_STOP = WM_USER + 102, 60 ACM_OPENW = WM_USER + 103 | 60 ACM_OPENW = WM_USER + 103, > 61 ACM_ISPLAYING = WM_USER + 104 61 } 62 } 62 63 63 enum { 64 enum { 64 ACN_START = 1, 65 ACN_START = 1, 65 ACN_STOP 66 ACN_STOP 66 } 67 } 67 68 ................................................................................................................................................................................ 277 SBN_LAST = -899U, 278 SBN_LAST = -899U, 278 PGN_FIRST = -900U, 279 PGN_FIRST = -900U, 279 PGN_LAST = -950U, 280 PGN_LAST = -950U, 280 PGN_SCROLL = PGN_FIRST-1, 281 PGN_SCROLL = PGN_FIRST-1, 281 PGN_CALCSIZE = PGN_FIRST-2 282 PGN_CALCSIZE = PGN_FIRST-2 282 } 283 } 283 } 284 } > 285 > 286 static if (_WIN32_IE >= 0x500) { > 287 enum { > 288 WMN_FIRST = -1000U, > 289 WMN_LAST = -1200U, > 290 } > 291 } > 292 > 293 static if (_WIN32_WINNT >= 0x501) > 294 { > 295 enum { > 296 BCN_FIRST = -1250U, > 297 BCN_LAST = -1350U, > 298 } > 299 } > 300 > 301 static if (_WIN32_WINNT >= 0x600) > 302 { > 303 enum { > 304 TRBN_FIRST = -1501U, > 305 TRBN_LAST = -1519U, > 306 } > 307 } 284 308 285 enum { 309 enum { 286 HDI_WIDTH = 1, 310 HDI_WIDTH = 1, 287 HDI_HEIGHT = 1, 311 HDI_HEIGHT = 1, 288 HDI_TEXT = 2, 312 HDI_TEXT = 2, 289 HDI_FORMAT = 4, 313 HDI_FORMAT = 4, 290 HDI_LPARAM = 8, 314 HDI_LPARAM = 8, ................................................................................................................................................................................ 374 } 398 } 375 } 399 } 376 static if (_WIN32_IE >= 0x400) { 400 static if (_WIN32_IE >= 0x400) { 377 enum { 401 enum { 378 HDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT, 402 HDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT, 379 HDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT 403 HDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT 380 } 404 } > 405 } > 406 static if (_WIN32_IE >= 0x500) { > 407 enum { > 408 HDM_SETBITMAPMARGIN = HDM_FIRST + 20, > 409 HDM_GETBITMAPMARGIN = HDM_FIRST + 21, > 410 HDM_SETFILTERCHANGETIMEOUT = HDM_FIRST + 22, > 411 HDM_EDITFILTER = HDM_FIRST + 23, > 412 HDM_CLEARFILTER = HDM_FIRST + 24, > 413 } > 414 } > 415 static if (_WIN32_IE >= 0x600) { > 416 enum { > 417 HDM_GETITEMDROPDOWNRECT = HDM_FIRST + 25, > 418 HDM_GETOVERFLOWRECT = HDM_FIRST + 26, > 419 HDM_GETFOCUSEDITEM = HDM_FIRST + 27, > 420 HDM_SETFOCUSEDITEM = HDM_FIRST + 28, > 421 } 381 } 422 } 382 423 383 enum { 424 enum { 384 HHT_NOWHERE = 1, 425 HHT_NOWHERE = 1, 385 HHT_ONHEADER = 2, 426 HHT_ONHEADER = 2, 386 HHT_ONDIVIDER = 4, 427 HHT_ONDIVIDER = 4, 387 HHT_ONDIVOPEN = 8, 428 HHT_ONDIVOPEN = 8, ................................................................................................................................................................................ 709 TB_GETPADDING, 750 TB_GETPADDING, 710 TB_SETPADDING, 751 TB_SETPADDING, 711 TB_SETINSERTMARKCOLOR, 752 TB_SETINSERTMARKCOLOR, 712 TB_GETINSERTMARKCOLOR, 753 TB_GETINSERTMARKCOLOR, 713 TB_MAPACCELERATORW, 754 TB_MAPACCELERATORW, 714 TB_GETSTRINGW, 755 TB_GETSTRINGW, 715 TB_GETSTRINGA, // = WM_USER + 92 756 TB_GETSTRINGA, // = WM_USER + 92 > 757 TB_SETHOTITEM2 = WM_USER + 94, > 758 TB_SETLISTGAP = WM_USER + 96, > 759 TB_GETIMAGELISTCOUNT = WM_USER + 98, > 760 TB_GETIDEALSIZE = WM_USER + 99, > 761 //TB_TRANSLATEACCELERATOR = CCM_TRANSLATEACCELERATOR, 716 TB_SETCOLORSCHEME = CCM_SETCOLORSCHEME, 762 TB_SETCOLORSCHEME = CCM_SETCOLORSCHEME, 717 TB_GETCOLORSCHEME = CCM_GETCOLORSCHEME, 763 TB_GETCOLORSCHEME = CCM_GETCOLORSCHEME, 718 TB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT, 764 TB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT, 719 TB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT 765 TB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT 720 } 766 } 721 } 767 } > 768 > 769 static if (_WIN32_WINNT >= 0x501) { > 770 enum { > 771 TB_GETMETRICS = WM_USER + 101, > 772 TB_SETMETRICS = WM_USER + 102, > 773 } > 774 } > 775 > 776 static if (_WIN32_WINNT >= 0x600) { > 777 enum { > 778 TB_GETITEMDROPDOWNRECT = WM_USER + 103, > 779 TB_SETPRESSEDIMAGELIST = WM_USER + 104, > 780 TB_GETPRESSEDIMAGELIST = WM_USER + 105, > 781 } > 782 } 722 783 723 const TBBF_LARGE = 1; 784 const TBBF_LARGE = 1; 724 785 725 enum { 786 enum { 726 TBN_GETBUTTONINFOA = TBN_FIRST -0, 787 TBN_GETBUTTONINFOA = TBN_FIRST -0, 727 TBN_BEGINDRAG = TBN_FIRST -1, 788 TBN_BEGINDRAG = TBN_FIRST -1, 728 TBN_ENDDRAG = TBN_FIRST -2, 789 TBN_ENDDRAG = TBN_FIRST -2, ................................................................................................................................................................................ 879 enum { 940 enum { 880 TTM_UPDATE = WM_USER + 29, 941 TTM_UPDATE = WM_USER + 29, 881 TTM_GETBUBBLESIZE, 942 TTM_GETBUBBLESIZE, 882 TTM_ADJUSTRECT, 943 TTM_ADJUSTRECT, 883 TTM_SETTITLEA, 944 TTM_SETTITLEA, 884 TTM_SETTITLEW // = WM_USER + 33 945 TTM_SETTITLEW // = WM_USER + 33 885 } 946 } > 947 static if (_WIN32_IE >= 0x500) > 948 { > 949 alias TTM_SETTITLEW TTM_SETTITLE; > 950 } > 951 else > 952 { > 953 alias TTM_SETTITLEA TTM_SETTITLE; > 954 } > 955 } > 956 > 957 static if (_WIN32_WINNT >= 0x501) { > 958 enum { > 959 TTM_POPUP = (WM_USER + 34), > 960 TTM_GETTITLE = (WM_USER + 35), > 961 } 886 } 962 } 887 963 888 enum { 964 enum { 889 TTN_GETDISPINFOA = TTN_FIRST - 0, 965 TTN_GETDISPINFOA = TTN_FIRST - 0, 890 TTN_GETDISPINFOW = TTN_FIRST - 10, 966 TTN_GETDISPINFOW = TTN_FIRST - 10, 891 TTN_NEEDTEXTA = TTN_GETDISPINFOA, 967 TTN_NEEDTEXTA = TTN_GETDISPINFOA, 892 TTN_NEEDTEXTW = TTN_GETDISPINFOW, 968 TTN_NEEDTEXTW = TTN_GETDISPINFOW, ................................................................................................................................................................................ 1105 PBM_STEPIT, // = WM_USER + 5 1181 PBM_STEPIT, // = WM_USER + 5 1106 PBM_SETRANGE32 = 1030, 1182 PBM_SETRANGE32 = 1030, 1107 PBM_GETRANGE, 1183 PBM_GETRANGE, 1108 PBM_GETPOS, 1184 PBM_GETPOS, 1109 PBM_SETBARCOLOR, // = 1033 1185 PBM_SETBARCOLOR, // = 1033 1110 PBM_SETBKCOLOR = CCM_SETBKCOLOR 1186 PBM_SETBKCOLOR = CCM_SETBKCOLOR 1111 } 1187 } > 1188 > 1189 static if (_WIN32_WINNT >= 0x501) { > 1190 enum { > 1191 PBM_SETMARQUEE = WM_USER + 10, > 1192 } > 1193 } > 1194 > 1195 static if (_WIN32_WINNT >= 0x600) { > 1196 enum { > 1197 PBM_GETSTEP = WM_USER + 13, > 1198 PBM_GETBKCOLOR, > 1199 PBM_GETBARCOLOR, > 1200 PBM_SETSTATE, > 1201 PBM_GETSTATE, > 1202 } > 1203 } 1112 1204 1113 enum { 1205 enum { 1114 PBS_SMOOTH = 1, 1206 PBS_SMOOTH = 1, 1115 PBS_VERTICAL = 4 1207 PBS_VERTICAL = 4 1116 } 1208 } > 1209 > 1210 static if (_WIN32_WINNT >= 0x501) { > 1211 enum { > 1212 PBS_MARQUEE = 8, > 1213 } > 1214 } > 1215 > 1216 static if (_WIN32_WINNT >= 0x600) { > 1217 enum { > 1218 PBS_SMOOTHREVERSE = 16, > 1219 } > 1220 } 1117 1221 1118 enum { 1222 enum { 1119 LVS_ICON, 1223 LVS_ICON, 1120 LVS_REPORT, 1224 LVS_REPORT, 1121 LVS_SMALLICON, 1225 LVS_SMALLICON, 1122 LVS_LIST, // = 3 1226 LVS_LIST, // = 3 1123 LVS_TYPEMASK = 3, 1227 LVS_TYPEMASK = 3, ................................................................................................................................................................................ 1254 enum { 1358 enum { 1255 LVM_GETBKCOLOR = LVM_FIRST, 1359 LVM_GETBKCOLOR = LVM_FIRST, 1256 LVM_SETBKCOLOR, 1360 LVM_SETBKCOLOR, 1257 LVM_GETIMAGELIST, 1361 LVM_GETIMAGELIST, 1258 LVM_SETIMAGELIST, 1362 LVM_SETIMAGELIST, 1259 LVM_GETITEMCOUNT, // = LVM_FIRST + 4 1363 LVM_GETITEMCOUNT, // = LVM_FIRST + 4 1260 LVM_SORTITEMSEX = LVM_FIRST + 81, 1364 LVM_SORTITEMSEX = LVM_FIRST + 81, > 1365 LVM_GETGROUPSTATE = LVM_FIRST + 92, > 1366 LVM_GETFOCUSEDGROUP, > 1367 LVM_GETGROUPRECT = LVM_FIRST + 98, 1261 LVM_SETVIEW = LVM_FIRST + 142, 1368 LVM_SETVIEW = LVM_FIRST + 142, 1262 LVM_GETVIEW, // = LVM_FIRST + 143 1369 LVM_GETVIEW, // = LVM_FIRST + 143 1263 LVM_INSERTGROUP = LVM_FIRST + 145, 1370 LVM_INSERTGROUP = LVM_FIRST + 145, 1264 LVM_SETGROUPINFO = LVM_FIRST + 147, 1371 LVM_SETGROUPINFO = LVM_FIRST + 147, 1265 LVM_GETGROUPINFO = LVM_FIRST + 149, 1372 LVM_GETGROUPINFO = LVM_FIRST + 149, 1266 LVM_REMOVEGROUP, 1373 LVM_REMOVEGROUP, 1267 LVM_MOVEGROUP, // = LVM_FIRST + 151 1374 LVM_MOVEGROUP, // = LVM_FIRST + 151 > 1375 LVM_GETGROUPCOUNT, > 1376 LVM_GETGROUPINFOBYINDEX, > 1377 LVM_MOVEITEMTOGROUP, 1268 LVM_SETGROUPMETRICS = LVM_FIRST + 155, 1378 LVM_SETGROUPMETRICS = LVM_FIRST + 155, 1269 LVM_GETGROUPMETRICS, 1379 LVM_GETGROUPMETRICS, 1270 LVM_ENABLEGROUPVIEW, 1380 LVM_ENABLEGROUPVIEW, 1271 LVM_SORTGROUPS, 1381 LVM_SORTGROUPS, 1272 LVM_INSERTGROUPSORTED, 1382 LVM_INSERTGROUPSORTED, 1273 LVM_REMOVEALLGROUPS, 1383 LVM_REMOVEALLGROUPS, 1274 LVM_HASGROUP, 1384 LVM_HASGROUP, ................................................................................................................................................................................ 1284 LVM_GETINSERTMARKCOLOR, // = LVM_FIRST + 171 1394 LVM_GETINSERTMARKCOLOR, // = LVM_FIRST + 171 1285 LVM_SETINFOTIP = LVM_FIRST + 173, 1395 LVM_SETINFOTIP = LVM_FIRST + 173, 1286 LVM_GETSELECTEDCOLUMN, 1396 LVM_GETSELECTEDCOLUMN, 1287 LVM_ISGROUPVIEWENABLED, 1397 LVM_ISGROUPVIEWENABLED, 1288 LVM_GETOUTLINECOLOR, 1398 LVM_GETOUTLINECOLOR, 1289 LVM_SETOUTLINECOLOR, // = LVM_FIRST + 177 1399 LVM_SETOUTLINECOLOR, // = LVM_FIRST + 177 1290 LVM_CANCELEDITLABEL = LVM_FIRST + 179, 1400 LVM_CANCELEDITLABEL = LVM_FIRST + 179, > 1401 LVM_MAPINDEXTOID = LVM_FIRST + 180, 1291 LVM_MAPIDTOINDEX = LVM_FIRST + 181 | 1402 LVM_MAPIDTOINDEX = LVM_FIRST + 181, > 1403 LVM_ISITEMVISIBLE = LVM_FIRST + 182, 1292 } 1404 } 1293 1405 1294 static if (_WIN32_WINNT >= 0x501) { 1406 static if (_WIN32_WINNT >= 0x501) { 1295 enum { 1407 enum { 1296 LVM_SETSELECTEDCOLUMN = LVM_FIRST + 140 1408 LVM_SETSELECTEDCOLUMN = LVM_FIRST + 140 1297 } 1409 } 1298 } 1410 } > 1411 > 1412 static if (_WIN32_WINNT >= 0x600) { > 1413 enum { > 1414 LVM_GETEMPTYTEXT = LVM_FIRST + 204, > 1415 LVM_GETFOOTERRECT = LVM_FIRST + 205, > 1416 LVM_GETFOOTERINFO = LVM_FIRST + 206, > 1417 LVM_GETFOOTERITEMRECT = LVM_FIRST + 207, > 1418 LVM_GETFOOTERITEM = (LVM_FIRST + 208), > 1419 LVM_GETITEMINDEXRECT = (LVM_FIRST + 209), > 1420 LVM_SETITEMINDEXSTATE = (LVM_FIRST + 210), > 1421 LVM_GETNEXTITEMINDEX = (LVM_FIRST + 211), > 1422 } > 1423 } 1299 1424 1300 enum { 1425 enum { 1301 LVIF_TEXT = 1, 1426 LVIF_TEXT = 1, 1302 LVIF_IMAGE = 2, 1427 LVIF_IMAGE = 2, 1303 LVIF_PARAM = 4, 1428 LVIF_PARAM = 4, 1304 LVIF_STATE = 8 1429 LVIF_STATE = 8 1305 } 1430 } ................................................................................................................................................................................ 1612 TVIS_USERMASK = 0xF000 1737 TVIS_USERMASK = 0xF000 1613 } 1738 } 1614 1739 1615 enum { 1740 enum { 1616 I_CHILDRENCALLBACK = -1 1741 I_CHILDRENCALLBACK = -1 1617 } 1742 } 1618 1743 1619 alias HANDLE HTREEITEM; | 1744 mixin DECLARE_HANDLE!("HTREEITEM"); > 1745 mixin DECLARE_HANDLE!("HIMAGELIST"); 1620 1746 > 1747 version(Win64) > 1748 { > 1749 const HTREEITEM > 1750 TVI_ROOT = cast(HTREEITEM) cast(ULONG_PTR)-0x10000, > 1751 TVI_FIRST = cast(HTREEITEM) cast(ULONG_PTR)-0xffff, > 1752 TVI_LAST = cast(HTREEITEM) cast(ULONG_PTR)-0xfffe, > 1753 TVI_SORT = cast(HTREEITEM) cast(ULONG_PTR)-0xfffd; > 1754 } else { 1621 const HTREEITEM 1755 const HTREEITEM 1622 TVI_ROOT = cast(HTREEITEM) 0xFFFF0000, 1756 TVI_ROOT = cast(HTREEITEM) 0xFFFF0000, 1623 TVI_FIRST = cast(HTREEITEM) 0xFFFF0001, 1757 TVI_FIRST = cast(HTREEITEM) 0xFFFF0001, 1624 TVI_LAST = cast(HTREEITEM) 0xFFFF0002, 1758 TVI_LAST = cast(HTREEITEM) 0xFFFF0002, 1625 TVI_SORT = cast(HTREEITEM) 0xFFFF0003; 1759 TVI_SORT = cast(HTREEITEM) 0xFFFF0003; > 1760 } 1626 1761 1627 enum { 1762 enum { 1628 TVSIL_NORMAL = 0, 1763 TVSIL_NORMAL = 0, 1629 TVSIL_STATE = 2 1764 TVSIL_STATE = 2 1630 } 1765 } 1631 1766 1632 enum { 1767 enum { ................................................................................................................................................................................ 1688 static if (_WIN32_IE >= 0x500) { 1823 static if (_WIN32_IE >= 0x500) { 1689 enum { 1824 enum { 1690 TVM_GETITEMSTATE = TV_FIRST + 39, 1825 TVM_GETITEMSTATE = TV_FIRST + 39, 1691 TVM_SETLINECOLOR = TV_FIRST + 40, 1826 TVM_SETLINECOLOR = TV_FIRST + 40, 1692 TVM_GETLINECOLOR = TV_FIRST + 41 1827 TVM_GETLINECOLOR = TV_FIRST + 41 1693 } 1828 } 1694 } 1829 } > 1830 > 1831 static if (_WIN32_IE >= 0x501) { > 1832 enum { > 1833 TVM_MAPACCIDTOHTREEITEM = TV_FIRST + 42, > 1834 TVM_MAPHTREEITEMTOACCID = TV_FIRST + 43, > 1835 TVM_SETEXTENDEDSTYLE = TV_FIRST + 44, > 1836 TVM_GETEXTENDEDSTYLE = TV_FIRST + 45, > 1837 TVM_SETAUTOSCROLLINFO = TV_FIRST + 59 > 1838 } > 1839 } > 1840 > 1841 static if (_WIN32_IE >= 0x600) { > 1842 enum { > 1843 TVM_GETSELECTEDCOUNT = TV_FIRST + 70, > 1844 TVM_SHOWINFOTIP = TV_FIRST + 71, > 1845 TVM_GETITEMPARTRECT = TV_FIRST + 72, > 1846 } > 1847 } 1695 1848 1696 enum { 1849 enum { 1697 TVE_COLLAPSE = 1, 1850 TVE_COLLAPSE = 1, 1698 TVE_EXPAND = 2, 1851 TVE_EXPAND = 2, 1699 TVE_TOGGLE = 3, 1852 TVE_TOGGLE = 3, 1700 TVE_COLLAPSERESET = 0x8000 1853 TVE_COLLAPSERESET = 0x8000 1701 } 1854 } ................................................................................................................................................................................ 1726 } 1879 } 1727 1880 1728 static if (_WIN32_IE >= 0x400) { 1881 static if (_WIN32_IE >= 0x400) { 1729 enum { 1882 enum { 1730 TVGN_LASTVISIBLE = 10 1883 TVGN_LASTVISIBLE = 10 1731 } 1884 } 1732 } 1885 } > 1886 > 1887 static if (_WIN32_IE >= 0x600) { > 1888 enum { > 1889 TVGN_NEXTSELECTED = 11 > 1890 } > 1891 } 1733 1892 1734 enum { 1893 enum { 1735 TVN_SELCHANGINGA = TVN_FIRST - 1, 1894 TVN_SELCHANGINGA = TVN_FIRST - 1, 1736 TVN_SELCHANGEDA = TVN_FIRST - 2, 1895 TVN_SELCHANGEDA = TVN_FIRST - 2, 1737 TVN_GETDISPINFOA = TVN_FIRST - 3, 1896 TVN_GETDISPINFOA = TVN_FIRST - 3, 1738 TVN_SETDISPINFOA = TVN_FIRST - 4, 1897 TVN_SETDISPINFOA = TVN_FIRST - 4, 1739 TVN_ITEMEXPANDINGA = TVN_FIRST - 5, 1898 TVN_ITEMEXPANDINGA = TVN_FIRST - 5, ................................................................................................................................................................................ 1933 CCM_GETVERSION = 0x2008, 2092 CCM_GETVERSION = 0x2008, 1934 CCM_SETNOTIFYWINDOW = 0x2009 2093 CCM_SETNOTIFYWINDOW = 0x2009 1935 }*/ 2094 }*/ 1936 2095 1937 static if (_WIN32_WINNT >= 0x501) { 2096 static if (_WIN32_WINNT >= 0x501) { 1938 enum { 2097 enum { 1939 CCM_SETWINDOWTHEME = 0x200b, 2098 CCM_SETWINDOWTHEME = 0x200b, 1940 CCM_DPISCALE = 0x200c | 2099 CCM_DPISCALE = 0x200c, > 2100 > 2101 RB_GETBANDMARGINS = WM_USER + 40, > 2102 RB_SETWINDOWTHEME = CCM_SETWINDOWTHEME, > 2103 TB_SETWINDOWTHEME = CCM_SETWINDOWTHEME, > 2104 TTM_SETWINDOWTHEME = CCM_SETWINDOWTHEME, 1941 } 2105 } 1942 } 2106 } 1943 2107 1944 enum { 2108 enum { 1945 ICC_LISTVIEW_CLASSES = 1, 2109 ICC_LISTVIEW_CLASSES = 1, 1946 ICC_TREEVIEW_CLASSES = 2, 2110 ICC_TREEVIEW_CLASSES = 2, 1947 ICC_BAR_CLASSES = 4, 2111 ICC_BAR_CLASSES = 4, ................................................................................................................................................................................ 2018 } else { 2182 } else { 2019 enum { 2183 enum { 2020 MCS_NOTODAY = 0x0008 2184 MCS_NOTODAY = 0x0008 2021 } 2185 } 2022 } 2186 } 2023 2187 2024 enum { 2188 enum { > 2189 DTM_FIRST = 0x10000, 2025 DTM_GETSYSTEMTIME = 0x1001, 2190 DTM_GETSYSTEMTIME = 0x1001, 2026 DTM_SETSYSTEMTIME = 0x1002, 2191 DTM_SETSYSTEMTIME = 0x1002, 2027 DTM_GETRANGE = 0x1003, 2192 DTM_GETRANGE = 0x1003, 2028 DTM_SETRANGE = 0x1004, 2193 DTM_SETRANGE = 0x1004, 2029 DTM_SETFORMATA = 0x1005, 2194 DTM_SETFORMATA = 0x1005, 2030 DTM_SETMCCOLOR = 0x1006, 2195 DTM_SETMCCOLOR = 0x1006, 2031 DTM_GETMCCOLOR = 0x1007, 2196 DTM_GETMCCOLOR = 0x1007, 2032 DTM_GETMONTHCAL = 0x1008, 2197 DTM_GETMONTHCAL = 0x1008, 2033 DTM_SETMCFONT = 0x1009, 2198 DTM_SETMCFONT = 0x1009, 2034 DTM_GETMCFONT = 0x100a, 2199 DTM_GETMCFONT = 0x100a, 2035 DTM_SETFORMATW = 0x1050 2200 DTM_SETFORMATW = 0x1050 2036 } 2201 } > 2202 > 2203 static if (_WIN32_WINNT >= 0x600) { > 2204 enum { > 2205 DTM_SETMCSTYLE = DTM_FIRST + 11, > 2206 DTM_GETMCSTYLE, > 2207 DTM_CLOSEMONTHCAL, > 2208 DTM_GETDATETIMEPICKERINFO, > 2209 DTM_GETIDEALSIZE, > 2210 } > 2211 } 2037 2212 2038 enum { 2213 enum { 2039 DTN_USERSTRINGA = -758U, 2214 DTN_USERSTRINGA = -758U, 2040 DTN_USERSTRINGW = -745U, 2215 DTN_USERSTRINGW = -745U, 2041 DTN_WMKEYDOWNA = -757U, 2216 DTN_WMKEYDOWNA = -757U, 2042 DTN_WMKEYDOWNW = -744U, 2217 DTN_WMKEYDOWNW = -744U, 2043 DTN_FORMATA = -756U, 2218 DTN_FORMATA = -756U, ................................................................................................................................................................................ 2046 DTN_FORMATQUERYW = -742U, 2221 DTN_FORMATQUERYW = -742U, 2047 DTN_DROPDOWN = -754U, 2222 DTN_DROPDOWN = -754U, 2048 DTN_CLOSEUP = -753U, 2223 DTN_CLOSEUP = -753U, 2049 DTN_DATETIMECHANGE = -759U, 2224 DTN_DATETIMECHANGE = -759U, 2050 } 2225 } 2051 2226 2052 enum { 2227 enum { > 2228 MCM_FIRST = 0x1000, 2053 MCM_GETCURSEL = 0x1001, 2229 MCM_GETCURSEL = 0x1001, 2054 MCM_SETCURSEL = 0x1002, 2230 MCM_SETCURSEL = 0x1002, 2055 MCM_GETMAXSELCOUNT = 0x1003, 2231 MCM_GETMAXSELCOUNT = 0x1003, 2056 MCM_SETMAXSELCOUNT = 0x1004, 2232 MCM_SETMAXSELCOUNT = 0x1004, 2057 MCM_GETSELRANGE = 0x1005, 2233 MCM_GETSELRANGE = 0x1005, 2058 MCM_SETSELRANGE = 0x1006, 2234 MCM_SETSELRANGE = 0x1006, 2059 MCM_GETMONTHRANGE = 0x1007, 2235 MCM_GETMONTHRANGE = 0x1007, ................................................................................................................................................................................ 2070 MCM_SETRANGE = 0x1012, 2246 MCM_SETRANGE = 0x1012, 2071 MCM_GETMONTHDELTA = 0x1013, 2247 MCM_GETMONTHDELTA = 0x1013, 2072 MCM_SETMONTHDELTA = 0x1014, 2248 MCM_SETMONTHDELTA = 0x1014, 2073 MCM_GETMAXTODAYWIDTH = 0x1015, 2249 MCM_GETMAXTODAYWIDTH = 0x1015, 2074 MCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT, 2250 MCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT, 2075 MCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT 2251 MCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT 2076 } 2252 } > 2253 > 2254 static if (_WIN32_WINNT >= 0x600) { > 2255 enum { > 2256 MCM_GETCURRENTVIEW = MCM_FIRST + 22, > 2257 MCM_GETCALENDARCOUNT, > 2258 MCM_GETCALENDARGRIDINFO, > 2259 MCM_GETCALID = MCM_FIRST + 27, > 2260 MCM_SETCALID, > 2261 MCM_SIZERECTTOMIN, > 2262 MCM_SETCALENDARBORDER, > 2263 MCM_GETCALENDARBORDER, > 2264 MCM_SETCURRENTVIEW, > 2265 } > 2266 } 2077 2267 2078 enum { 2268 enum { 2079 MCN_SELCHANGE = -749U, 2269 MCN_SELCHANGE = -749U, 2080 MCN_GETDAYSTATE = -747U, 2270 MCN_GETDAYSTATE = -747U, 2081 MCN_SELECT = -746U 2271 MCN_SELECT = -746U 2082 } 2272 } 2083 2273 ................................................................................................................................................................................ 2355 alias RB_GETBANDINFOA RB_GETBANDINFO; 2545 alias RB_GETBANDINFOA RB_GETBANDINFO; 2356 } 2546 } 2357 } else { 2547 } else { 2358 enum { 2548 enum { 2359 RB_GETBANDINFO = WM_USER + 5 2549 RB_GETBANDINFO = WM_USER + 5 2360 } 2550 } 2361 } 2551 } > 2552 > 2553 static if (_WIN32_IE >= 0x500) { > 2554 enum { > 2555 RB_PUSHCHEVRON = WM_USER + 43, > 2556 } > 2557 } > 2558 > 2559 static if (_WIN32_IE >= 0x600) { > 2560 enum { > 2561 RB_SETEXTENDEDSTYLE = WM_USER + 41, > 2562 RB_GETEXTENDEDSTYLE = WM_USER + 42, > 2563 } > 2564 } > 2565 > 2566 static if (_WIN32_WINNT >= 0x500) { > 2567 enum { > 2568 RB_SETBANDWIDTH = WM_USER + 44, > 2569 } > 2570 } > 2571 > 2572 static if (_WIN32_WINNT >= 0x501) { > 2573 enum { > 2574 ECM_FIRST = 0x1500, > 2575 BCM_FIRST = 0x1600, > 2576 > 2577 BCM_GETIDEALSIZE = BCM_FIRST + 0x0001, > 2578 BCM_SETIMAGELIST = BCM_FIRST + 0x0002, > 2579 BCM_GETIMAGELIST = BCM_FIRST + 0x0003, > 2580 BCM_SETTEXTMARGIN = BCM_FIRST + 0x0004, > 2581 BCM_GETTEXTMARGIN = BCM_FIRST + 0x0005, > 2582 > 2583 BCN_HOTITEMCHANGE = BCN_FIRST + 0x0001, > 2584 } > 2585 > 2586 struct NMBCHOTITEM { > 2587 NMHDR hdr; > 2588 DWORD dwFlags; > 2589 } > 2590 alias NMBCHOTITEM* LPNMBCHOTITEM; > 2591 } > 2592 > 2593 static if(_WIN32_WINNT >= 0x600) { > 2594 enum { > 2595 BST_DROPDOWNPUSHED = 0x0400, > 2596 > 2597 BS_SPLITBUTTON = 0x0000_000C, > 2598 BS_DEFSPLITBUTTON = 0x0000_000D, > 2599 BS_COMMANDLINK = 0x0000_000E, > 2600 BS_DEFCOMMANDLINK = 0x0000_000F, > 2601 > 2602 BCSIF_GLYPH = 0x0001, > 2603 BCSIF_IMAGE = 0x0002, > 2604 BCSIF_STYLE = 0x0004, > 2605 BCSIF_SIZE = 0x0008, > 2606 > 2607 BCSS_NOSPLIT = 0x0001, > 2608 BCSS_STRETCH = 0x0002, > 2609 BCSS_ALIGNLEFT = 0x0004, > 2610 BCSS_IMAGE = 0x0008, > 2611 > 2612 BCM_SETDROPDOWNSTATE = BCM_FIRST + 0x0006, > 2613 BCM_SETSPLITINFO = BCM_FIRST + 0x0007, > 2614 BCM_GETSPLITINFO = BCM_FIRST + 0x0008, > 2615 BCM_SETNOTE = BCM_FIRST + 0x0009, > 2616 BCM_GETNOTE = BCM_FIRST + 0x000A, > 2617 BCM_GETNOTELENGTH = BCM_FIRST + 0x000B, > 2618 BCM_SETSHIELD = BCM_FIRST + 0x000C, > 2619 > 2620 BCN_DROPDOWN = BCN_FIRST + 0x0002, > 2621 } > 2622 > 2623 const HIMAGELIST BCCL_NOGLYPH = cast(HIMAGELIST)-1; > 2624 > 2625 struct BUTTON_SPLITINFO > 2626 { > 2627 UINT mask; > 2628 HIMAGELIST himlGlyph; > 2629 UINT uSplitStyle; > 2630 SIZE size; > 2631 } > 2632 alias BUTTON_SPLITINFO* PBUTTON_SPLITINFO; > 2633 } 2362 2634 2363 enum { 2635 enum { 2364 CBEM_INSERTITEMA = WM_USER + 1, 2636 CBEM_INSERTITEMA = WM_USER + 1, 2365 CBEM_SETIMAGELIST, 2637 CBEM_SETIMAGELIST, 2366 CBEM_GETIMAGELIST, 2638 CBEM_GETIMAGELIST, 2367 CBEM_GETITEMA, 2639 CBEM_GETITEMA, 2368 CBEM_SETITEMA, 2640 CBEM_SETITEMA, ................................................................................................................................................................................ 2384 2656 2385 enum { 2657 enum { 2386 CBEM_HASEDITCHANGED = WM_USER + 10, 2658 CBEM_HASEDITCHANGED = WM_USER + 10, 2387 CBEM_INSERTITEMW = WM_USER + 11, 2659 CBEM_INSERTITEMW = WM_USER + 11, 2388 CBEM_SETITEMW = WM_USER + 12, 2660 CBEM_SETITEMW = WM_USER + 12, 2389 CBEM_GETITEMW = WM_USER + 13 2661 CBEM_GETITEMW = WM_USER + 13 2390 } 2662 } > 2663 > 2664 static if (_WIN32_WINNT >= 0x501) > 2665 { > 2666 enum { > 2667 CBEM_SETWINDOWTHEME = CCM_SETWINDOWTHEME > 2668 } > 2669 } 2391 2670 2392 enum { 2671 enum { 2393 DA_LAST = 0x7fffffff 2672 DA_LAST = 0x7fffffff 2394 } 2673 } 2395 2674 2396 enum { 2675 enum { 2397 DPA_APPEND = 0x7fffffff, 2676 DPA_APPEND = 0x7fffffff, ................................................................................................................................................................................ 2426 WSB_PROP_MASK = 0xfff, 2705 WSB_PROP_MASK = 0xfff, 2427 FSB_FLAT_MODE = 2, 2706 FSB_FLAT_MODE = 2, 2428 FSB_ENCARTA_MODE = 1, 2707 FSB_ENCARTA_MODE = 1, 2429 FSB_REGULAR_MODE = 0 2708 FSB_REGULAR_MODE = 0 2430 } 2709 } 2431 } 2710 } 2432 2711 2433 static if (_WIN32_WINNT >= 0x0501) { | 2712 static if (_WIN32_WINNT >= 0x501) { 2434 enum { 2713 enum { 2435 LIF_ITEMINDEX = 1, 2714 LIF_ITEMINDEX = 1, 2436 LIF_STATE = 2, 2715 LIF_STATE = 2, 2437 LIF_ITEMID = 4, 2716 LIF_ITEMID = 4, 2438 LIF_URL = 8 2717 LIF_URL = 8 2439 } 2718 } 2440 2719 ................................................................................................................................................................................ 2444 LIS_VISITED = 4 2723 LIS_VISITED = 4 2445 } 2724 } 2446 2725 2447 enum { 2726 enum { 2448 LM_HITTEST = WM_USER + 768, 2727 LM_HITTEST = WM_USER + 768, 2449 LM_GETIDEALHEIGHT, 2728 LM_GETIDEALHEIGHT, 2450 LM_SETITEM, 2729 LM_SETITEM, 2451 LM_GETITEM // = WM_USER + 771 | 2730 LM_GETITEM, // = WM_USER + 771 > 2731 LM_GETIDEALSIZE = LM_GETIDEALHEIGHT, 2452 } 2732 } 2453 2733 2454 const size_t MAX_LINKID_TEXT = 48; 2734 const size_t MAX_LINKID_TEXT = 48; 2455 const size_t L_MAX_URL_LENGTH = 2084; 2735 const size_t L_MAX_URL_LENGTH = 2084; 2456 } 2736 } 2457 2737 > 2738 > 2739 struct TBMETRICS { > 2740 UINT cbSize = TBMETRICS.sizeof; > 2741 DWORD dwMask; > 2742 int cxPad; > 2743 int cyPad; > 2744 int cxBarPad; > 2745 int cyBarPad; > 2746 int cxButtonSpacing; > 2747 int cyButtonSpacing; > 2748 } > 2749 alias TBMETRICS* LPTBMETRICS; > 2750 > 2751 static if (_WIN32_WINNT >= 0x501) { > 2752 struct TTGETTITLE { > 2753 DWORD dwSize = TTGETTITLE.sizeof; > 2754 UINT uTitleBitmap; > 2755 UINT cch; > 2756 WCHAR* pszTitle; > 2757 } > 2758 alias TTGETTITLE* PTTGETTITLE; > 2759 } > 2760 > 2761 static if (_WIN32_WINNT >= 0x600) { > 2762 struct MCGRIDINFO { > 2763 UINT cbSize; > 2764 DWORD dwPart; > 2765 DWORD dwFlags; > 2766 int iCalendar; > 2767 int iRow; > 2768 int iCol; > 2769 BOOL bSelected; > 2770 SYSTEMTIME stStart; > 2771 SYSTEMTIME stEnd; > 2772 RECT rc; > 2773 PWSTR pszName; > 2774 size_t cchName; > 2775 } > 2776 alias MCGRIDINFO* PMCGRIDINFO; > 2777 > 2778 struct DATETIMEPICKERINFO > 2779 { > 2780 DWORD cbSize; > 2781 RECT rcCheck; > 2782 DWORD stateCheck; > 2783 RECT rcButton; > 2784 DWORD stateButton; > 2785 HWND hwndEdit; > 2786 HWND hwndUD; > 2787 HWND hwndDropDown; > 2788 } > 2789 alias DATETIMEPICKERINFO* LPDATETIMEPICKERINFO; > 2790 } 2458 2791 2459 struct COMBOBOXEXITEMA { 2792 struct COMBOBOXEXITEMA { 2460 UINT mask; 2793 UINT mask; 2461 int iItem; | 2794 INT_PTR iItem; 2462 LPSTR pszText; 2795 LPSTR pszText; 2463 int cchTextMax; 2796 int cchTextMax; 2464 int iImage; 2797 int iImage; 2465 int iSelectedImage; 2798 int iSelectedImage; 2466 int iOverlay; 2799 int iOverlay; 2467 int iIndent; 2800 int iIndent; 2468 LPARAM lParam; 2801 LPARAM lParam; 2469 } 2802 } 2470 alias COMBOBOXEXITEMA* PCOMBOBOXEXITEMA; | 2803 alias COMBOBOXEXITEMA* PCOMBOBOXEXITEMA; 2471 alias CPtr!(COMBOBOXEXITEMA) PCCOMBOEXITEMA; | 2804 alias const(COMBOBOXEXITEMA)* PCCOMBOEXITEMA; 2472 2805 2473 struct COMBOBOXEXITEMW { 2806 struct COMBOBOXEXITEMW { 2474 UINT mask; 2807 UINT mask; 2475 int iItem; | 2808 INT_PTR iItem; 2476 LPWSTR pszText; 2809 LPWSTR pszText; 2477 int cchTextMax; 2810 int cchTextMax; 2478 int iImage; 2811 int iImage; 2479 int iSelectedImage; 2812 int iSelectedImage; 2480 int iOverlay; 2813 int iOverlay; 2481 int iIndent; 2814 int iIndent; 2482 LPARAM lParam; 2815 LPARAM lParam; 2483 } 2816 } 2484 alias COMBOBOXEXITEMW* PCOMBOBOXEXITEMW; | 2817 alias COMBOBOXEXITEMW* PCOMBOBOXEXITEMW; 2485 alias CPtr!(COMBOBOXEXITEMW) PCCOMBOEXITEMW; | 2818 alias const(COMBOBOXEXITEMW)* PCCOMBOEXITEMW; 2486 2819 2487 static if (_WIN32_IE >= 0x400) { 2820 static if (_WIN32_IE >= 0x400) { 2488 struct NMCOMBOBOXEXA { 2821 struct NMCOMBOBOXEXA { 2489 NMHDR hdr; 2822 NMHDR hdr; 2490 COMBOBOXEXITEMA ceItem; 2823 COMBOBOXEXITEMA ceItem; 2491 } 2824 } 2492 alias NMCOMBOBOXEXA* PNMCOMBOBOXEXA; 2825 alias NMCOMBOBOXEXA* PNMCOMBOBOXEXA; ................................................................................................................................................................................ 2496 COMBOBOXEXITEMW ceItem; 2829 COMBOBOXEXITEMW ceItem; 2497 } 2830 } 2498 alias NMCOMBOBOXEXW* PNMCOMBOBOXEXW; 2831 alias NMCOMBOBOXEXW* PNMCOMBOBOXEXW; 2499 2832 2500 struct NMCBEDRAGBEGINW { 2833 struct NMCBEDRAGBEGINW { 2501 NMHDR hdr; 2834 NMHDR hdr; 2502 int iItemid; 2835 int iItemid; 2503 WCHAR szText[CBEMAXSTRLEN]; | 2836 WCHAR[CBEMAXSTRLEN] szText; 2504 } 2837 } 2505 alias NMCBEDRAGBEGINW* LPNMCBEDRAGBEGINW, PNMCBEDRAGBEGINW; 2838 alias NMCBEDRAGBEGINW* LPNMCBEDRAGBEGINW, PNMCBEDRAGBEGINW; 2506 2839 2507 struct NMCBEDRAGBEGINA { 2840 struct NMCBEDRAGBEGINA { 2508 NMHDR hdr; 2841 NMHDR hdr; 2509 int iItemid; 2842 int iItemid; 2510 char szText[CBEMAXSTRLEN]; | 2843 char[CBEMAXSTRLEN] szText; 2511 } 2844 } 2512 alias NMCBEDRAGBEGINA* LPNMCBEDRAGBEGINA, PNMCBEDRAGBEGINA; 2845 alias NMCBEDRAGBEGINA* LPNMCBEDRAGBEGINA, PNMCBEDRAGBEGINA; 2513 2846 2514 struct NMIPADDRESS { 2847 struct NMIPADDRESS { 2515 NMHDR hdr; 2848 NMHDR hdr; 2516 int iField; 2849 int iField; 2517 int iValue; 2850 int iValue; ................................................................................................................................................................................ 2624 } 2957 } 2625 alias NMDATETIMECHANGE* LPNMDATETIMECHANGE; 2958 alias NMDATETIMECHANGE* LPNMDATETIMECHANGE; 2626 2959 2627 struct NMCBEENDEDITW { 2960 struct NMCBEENDEDITW { 2628 NMHDR hdr; 2961 NMHDR hdr; 2629 BOOL fChanged; 2962 BOOL fChanged; 2630 int iNewSelection; 2963 int iNewSelection; 2631 WCHAR szText[CBEMAXSTRLEN]; | 2964 WCHAR[CBEMAXSTRLEN] szText; 2632 int iWhy; 2965 int iWhy; 2633 } 2966 } 2634 alias NMCBEENDEDITW* LPNMCBEENDEDITW, PNMCBEENDEDITW; 2967 alias NMCBEENDEDITW* LPNMCBEENDEDITW, PNMCBEENDEDITW; 2635 2968 2636 struct NMCBEENDEDITA { 2969 struct NMCBEENDEDITA { 2637 NMHDR hdr; 2970 NMHDR hdr; 2638 BOOL fChanged; 2971 BOOL fChanged; 2639 int iNewSelection; 2972 int iNewSelection; 2640 char szText[CBEMAXSTRLEN]; | 2973 char[CBEMAXSTRLEN] szText; 2641 int iWhy; 2974 int iWhy; 2642 } 2975 } 2643 alias NMCBEENDEDITA* LPNMCBEENDEDITA, PNMCBEENDEDITA; 2976 alias NMCBEENDEDITA* LPNMCBEENDEDITA, PNMCBEENDEDITA; 2644 2977 2645 struct COLORMAP { 2978 struct COLORMAP { 2646 COLORREF from; 2979 COLORREF from; 2647 COLORREF to; 2980 COLORREF to; ................................................................................................................................................................................ 2656 alias DRAGLISTINFO* LPDRAGLISTINFO; 2989 alias DRAGLISTINFO* LPDRAGLISTINFO; 2657 2990 2658 struct TBBUTTON { 2991 struct TBBUTTON { 2659 int iBitmap; 2992 int iBitmap; 2660 int idCommand; 2993 int idCommand; 2661 BYTE fsState; 2994 BYTE fsState; 2662 BYTE fsStyle; 2995 BYTE fsStyle; > 2996 version(Win64){ 2663 BYTE bReserved[2]; | 2997 BYTE[6] bReserved; > 2998 } else { > 2999 BYTE[2] bReserved; > 3000 } 2664 DWORD dwData; | 3001 DWORD_PTR dwData; 2665 int iString; | 3002 INT_PTR iString; 2666 } 3003 } 2667 alias TBBUTTON* PTBBUTTON, LPTBBUTTON; | 3004 alias TBBUTTON* PTBBUTTON, LPTBBUTTON; 2668 alias CPtr!(TBBUTTON) LPCTBBUTTON; | 3005 alias const(TBBUTTON)* LPCTBBUTTON; 2669 3006 2670 static if (_WIN32_IE >= 0x400) { 3007 static if (_WIN32_IE >= 0x400) { 2671 struct TBBUTTONINFOA { 3008 struct TBBUTTONINFOA { 2672 UINT cbSize = TBBUTTONINFOA.sizeof; 3009 UINT cbSize = TBBUTTONINFOA.sizeof; 2673 DWORD dwMask; 3010 DWORD dwMask; 2674 int idCommand; 3011 int idCommand; 2675 int iImage; 3012 int iImage; 2676 BYTE fsState; 3013 BYTE fsState; 2677 BYTE fsStyle; 3014 BYTE fsStyle; 2678 WORD cx; 3015 WORD cx; 2679 DWORD lParam; | 3016 DWORD_PTR lParam; 2680 LPSTR pszText; 3017 LPSTR pszText; 2681 int cchText; 3018 int cchText; 2682 } 3019 } 2683 alias TBBUTTONINFOA* LPTBBUTTONINFOA; 3020 alias TBBUTTONINFOA* LPTBBUTTONINFOA; 2684 3021 2685 struct TBBUTTONINFOW { 3022 struct TBBUTTONINFOW { 2686 UINT cbSize = TBBUTTONINFOW.sizeof; 3023 UINT cbSize = TBBUTTONINFOW.sizeof; 2687 DWORD dwMask; 3024 DWORD dwMask; 2688 int idCommand; 3025 int idCommand; 2689 int iImage; 3026 int iImage; 2690 BYTE fsState; 3027 BYTE fsState; 2691 BYTE fsStyle; 3028 BYTE fsStyle; 2692 WORD cx; 3029 WORD cx; 2693 DWORD lParam; | 3030 DWORD_PTR lParam; 2694 LPWSTR pszText; 3031 LPWSTR pszText; 2695 int cchText; 3032 int cchText; 2696 } 3033 } 2697 alias TBBUTTONINFOW* LPTBBUTTONINFOW; 3034 alias TBBUTTONINFOW* LPTBBUTTONINFOW; 2698 3035 2699 struct TBINSERTMARK { 3036 struct TBINSERTMARK { 2700 int iButton; 3037 int iButton; ................................................................................................................................................................................ 2744 HBITMAP hbmMask; 3081 HBITMAP hbmMask; 2745 int Unused1; 3082 int Unused1; 2746 int Unused2; 3083 int Unused2; 2747 RECT rcImage; 3084 RECT rcImage; 2748 } 3085 } 2749 alias IMAGEINFO* LPIMAGEINFO; 3086 alias IMAGEINFO* LPIMAGEINFO; 2750 3087 2751 alias HANDLE HIMAGELIST; < 2752 < 2753 static if (_WIN32_IE >= 0x500) { 3088 static if (_WIN32_IE >= 0x500) { 2754 struct HDITEMA { 3089 struct HDITEMA { 2755 UINT mask; 3090 UINT mask; 2756 int cxy; 3091 int cxy; 2757 LPSTR pszText; 3092 LPSTR pszText; 2758 HBITMAP hbm; 3093 HBITMAP hbm; 2759 int cchTextMax; 3094 int cchTextMax; ................................................................................................................................................................................ 2832 //alias HDITEM HD_ITEM; fixme 3167 //alias HDITEM HD_ITEM; fixme 2833 } 3168 } 2834 3169 2835 struct HD_LAYOUT { 3170 struct HD_LAYOUT { 2836 RECT* prc; 3171 RECT* prc; 2837 WINDOWPOS* pwpos; 3172 WINDOWPOS* pwpos; 2838 } 3173 } 2839 alias HDLAYOUT* LPHDLAYOUT; | 3174 alias HD_LAYOUT* LPHDLAYOUT; 2840 deprecated alias HD_LAYOUT HDLAYOUT; 3175 deprecated alias HD_LAYOUT HDLAYOUT; 2841 3176 2842 struct HD_HITTESTINFO { 3177 struct HD_HITTESTINFO { 2843 POINT pt; 3178 POINT pt; 2844 UINT flags; 3179 UINT flags; 2845 int iItem; 3180 int iItem; 2846 } 3181 } ................................................................................................................................................................................ 3026 UINT uKeyFlags; 3361 UINT uKeyFlags; 3027 } 3362 } 3028 alias NMITEMACTIVATE* LPNMITEMACTIVATE; 3363 alias NMITEMACTIVATE* LPNMITEMACTIVATE; 3029 } 3364 } 3030 3365 3031 struct TBADDBITMAP { 3366 struct TBADDBITMAP { 3032 HINSTANCE hInst; 3367 HINSTANCE hInst; 3033 UINT nID; | 3368 UINT_PTR nID; 3034 } 3369 } 3035 alias TBADDBITMAP* LPTBADDBITMAP; 3370 alias TBADDBITMAP* LPTBADDBITMAP; 3036 3371 3037 struct TBSAVEPARAMSA { 3372 struct TBSAVEPARAMSA { 3038 HKEY hkr; 3373 HKEY hkr; 3039 LPCSTR pszSubKey; 3374 LPCSTR pszSubKey; 3040 LPCSTR pszValueName; 3375 LPCSTR pszValueName; ................................................................................................................................................................................ 3044 HKEY hkr; 3379 HKEY hkr; 3045 LPCWSTR pszSubKey; 3380 LPCWSTR pszSubKey; 3046 LPCWSTR pszValueName; 3381 LPCWSTR pszValueName; 3047 } 3382 } 3048 3383 3049 struct TBREPLACEBITMAP { 3384 struct TBREPLACEBITMAP { 3050 HINSTANCE hInstOld; 3385 HINSTANCE hInstOld; 3051 UINT nIDOld; | 3386 UINT_PTR nIDOld; 3052 HINSTANCE hInstNew; 3387 HINSTANCE hInstNew; 3053 UINT nIDNew; | 3388 UINT_PTR nIDNew; 3054 int nButtons; 3389 int nButtons; 3055 } 3390 } 3056 alias TBREPLACEBITMAP* LPTBREPLACEBITMAP; 3391 alias TBREPLACEBITMAP* LPTBREPLACEBITMAP; 3057 3392 3058 static if (_WIN32_IE >= 0x500) { 3393 static if (_WIN32_IE >= 0x500) { 3059 struct NMTOOLBARA { 3394 struct NMTOOLBARA { 3060 NMHDR hdr; 3395 NMHDR hdr; ................................................................................................................................................................................ 3100 alias LPNMTOOLBARW LPTBNOTIFYW; 3435 alias LPNMTOOLBARW LPTBNOTIFYW; 3101 3436 3102 static if (_WIN32_WINNT >= 0x501) { 3437 static if (_WIN32_WINNT >= 0x501) { 3103 struct TOOLINFOA { 3438 struct TOOLINFOA { 3104 UINT cbSize = TOOLINFOA.sizeof; 3439 UINT cbSize = TOOLINFOA.sizeof; 3105 UINT uFlags; 3440 UINT uFlags; 3106 HWND hwnd; 3441 HWND hwnd; 3107 UINT uId; | 3442 UINT_PTR uId; 3108 RECT rect; 3443 RECT rect; 3109 HINSTANCE hinst; 3444 HINSTANCE hinst; 3110 LPSTR lpszText; 3445 LPSTR lpszText; 3111 LPARAM lParam; 3446 LPARAM lParam; 3112 void* lpReserved; 3447 void* lpReserved; 3113 } 3448 } 3114 3449 3115 struct TOOLINFOW { 3450 struct TOOLINFOW { 3116 UINT cbSize = TOOLINFOW.sizeof; 3451 UINT cbSize = TOOLINFOW.sizeof; 3117 UINT uFlags; 3452 UINT uFlags; 3118 HWND hwnd; 3453 HWND hwnd; 3119 UINT uId; | 3454 UINT_PTR uId; 3120 RECT rect; 3455 RECT rect; 3121 HINSTANCE hinst; 3456 HINSTANCE hinst; 3122 LPWSTR lpszText; 3457 LPWSTR lpszText; 3123 LPARAM lParam; 3458 LPARAM lParam; 3124 void* lpReserved; 3459 void* lpReserved; 3125 } 3460 } 3126 3461 ................................................................................................................................................................................ 3203 } 3538 } 3204 alias TTHITTESTINFOW* LPTTHITTESTINFOW, LPHITTESTINFOW; 3539 alias TTHITTESTINFOW* LPTTHITTESTINFOW, LPHITTESTINFOW; 3205 3540 3206 static if (_WIN32_IE >= 0x300) { 3541 static if (_WIN32_IE >= 0x300) { 3207 struct NMTTDISPINFOA { 3542 struct NMTTDISPINFOA { 3208 NMHDR hdr; 3543 NMHDR hdr; 3209 LPSTR lpszText; 3544 LPSTR lpszText; 3210 char szText[80]; | 3545 char[80] szText; 3211 HINSTANCE hinst; 3546 HINSTANCE hinst; 3212 UINT uFlags; 3547 UINT uFlags; 3213 LPARAM lParam; 3548 LPARAM lParam; 3214 } 3549 } 3215 3550 3216 struct NMTTDISPINFOW { 3551 struct NMTTDISPINFOW { 3217 NMHDR hdr; 3552 NMHDR hdr; 3218 LPWSTR lpszText; 3553 LPWSTR lpszText; 3219 WCHAR szText[80]; | 3554 WCHAR[80] szText; 3220 HINSTANCE hinst; 3555 HINSTANCE hinst; 3221 UINT uFlags; 3556 UINT uFlags; 3222 LPARAM lParam; 3557 LPARAM lParam; 3223 } 3558 } 3224 } else { 3559 } else { 3225 struct NMTTDISPINFOA { 3560 struct NMTTDISPINFOA { 3226 NMHDR hdr; 3561 NMHDR hdr; 3227 LPSTR lpszText; 3562 LPSTR lpszText; 3228 char szText[80]; | 3563 char[80] szText; 3229 HINSTANCE hinst; 3564 HINSTANCE hinst; 3230 UINT uFlags; 3565 UINT uFlags; 3231 } 3566 } 3232 3567 3233 struct NMTTDISPINFOW { 3568 struct NMTTDISPINFOW { 3234 NMHDR hdr; 3569 NMHDR hdr; 3235 LPWSTR lpszText; 3570 LPWSTR lpszText; 3236 WCHAR szText[80]; | 3571 WCHAR[80] szText; 3237 HINSTANCE hinst; 3572 HINSTANCE hinst; 3238 UINT uFlags; 3573 UINT uFlags; 3239 } 3574 } 3240 } 3575 } 3241 alias NMTTDISPINFOA* LPNMTTDISPINFOA; 3576 alias NMTTDISPINFOA* LPNMTTDISPINFOA; 3242 alias NMTTDISPINFOW* LPNMTTDISPINFOW; 3577 alias NMTTDISPINFOW* LPNMTTDISPINFOW; 3243 alias NMTTDISPINFOA TOOLTIPTEXTA; 3578 alias NMTTDISPINFOA TOOLTIPTEXTA; ................................................................................................................................................................................ 3501 struct LVINSERTMARK { 3836 struct LVINSERTMARK { 3502 UINT cbSize = LVINSERTMARK.sizeof; 3837 UINT cbSize = LVINSERTMARK.sizeof; 3503 DWORD dwFlags; 3838 DWORD dwFlags; 3504 int iItem; 3839 int iItem; 3505 DWORD dwReserved; 3840 DWORD dwReserved; 3506 } 3841 } 3507 alias LVINSERTMARK* PLVINSERTMARK; 3842 alias LVINSERTMARK* PLVINSERTMARK; > 3843 alias LVINSERTMARK* LPLVINSERTMARK; 3508 3844 3509 struct LVTILEINFO { 3845 struct LVTILEINFO { 3510 UINT cbSize = LVTILEINFO.sizeof; 3846 UINT cbSize = LVTILEINFO.sizeof; 3511 int iItem; 3847 int iItem; 3512 UINT cColumns; 3848 UINT cColumns; 3513 PUINT puColumns; 3849 PUINT puColumns; 3514 static if (_WIN32_WINNT >= 0x600) { 3850 static if (_WIN32_WINNT >= 0x600) { ................................................................................................................................................................................ 3541 DWORD dwFlags; 3877 DWORD dwFlags; 3542 LPWSTR pszText; 3878 LPWSTR pszText; 3543 int iItem; 3879 int iItem; 3544 int iSubItem; 3880 int iSubItem; 3545 HBITMAP hbmp; 3881 HBITMAP hbmp; 3546 } 3882 } 3547 alias LVSETINFOTIP* PLVSETINFOTIP; 3883 alias LVSETINFOTIP* PLVSETINFOTIP; > 3884 > 3885 struct BUTTON_IMAGELIST { > 3886 HIMAGELIST himl; > 3887 RECT margin; > 3888 UINT uAlign; > 3889 } > 3890 alias BUTTON_IMAGELIST* PBUTTON_IMAGELIST; > 3891 } > 3892 > 3893 static if (_WIN32_WINNT >= 0x600) { > 3894 struct LVITEMINDEX > 3895 { > 3896 int iItem; > 3897 int iGroup; > 3898 }; > 3899 alias LVITEMINDEX* PLVITEMINDEX; > 3900 > 3901 struct LVFOOTERINFO > 3902 { > 3903 UINT mask; > 3904 LPWSTR pszText; > 3905 int cchTextMax; > 3906 UINT cItems; > 3907 } > 3908 alias LVFOOTERINFO* LPLVFOOTERINFO; > 3909 > 3910 struct LVFOOTERITEM > 3911 { > 3912 UINT mask; > 3913 int iItem; > 3914 LPWSTR pszText; > 3915 int cchTextMax; > 3916 UINT state; > 3917 UINT stateMask; > 3918 } > 3919 alias LVFOOTERITEM *LPLVFOOTERITEM; > 3920 > 3921 alias UINT TVITEMPART; > 3922 enum { > 3923 TVGIPR_BUTTON = 0x0001, > 3924 } 3548 } 3925 } 3549 3926 3550 alias int function(LPARAM, LPARAM, LPARAM) PFNLVCOMPARE; 3927 alias int function(LPARAM, LPARAM, LPARAM) PFNLVCOMPARE; 3551 3928 3552 struct NMLISTVIEW { 3929 struct NMLISTVIEW { 3553 NMHDR hdr; 3930 NMHDR hdr; 3554 int iItem; 3931 int iItem; ................................................................................................................................................................................ 3695 struct TVHITTESTINFO { 4072 struct TVHITTESTINFO { 3696 POINT pt; 4073 POINT pt; 3697 UINT flags; 4074 UINT flags; 3698 HTREEITEM hItem; 4075 HTREEITEM hItem; 3699 } 4076 } 3700 alias TVHITTESTINFO* LPTVHITTESTINFO, LPTV_HITTESTINFO; 4077 alias TVHITTESTINFO* LPTVHITTESTINFO, LPTV_HITTESTINFO; 3701 alias TVHITTESTINFO TV_HITTESTINFO; 4078 alias TVHITTESTINFO TV_HITTESTINFO; > 4079 > 4080 static if (_WIN32_WINNT >= 0x600) { > 4081 struct TVGETITEMPARTRECTINFO { > 4082 HTREEITEM hti; > 4083 RECT* prc; > 4084 TVITEMPART partID; > 4085 } > 4086 } 3702 4087 3703 alias int function(LPARAM, LPARAM, LPARAM) PFNTVCOMPARE; 4088 alias int function(LPARAM, LPARAM, LPARAM) PFNTVCOMPARE; 3704 struct TVSORTCB { 4089 struct TVSORTCB { 3705 HTREEITEM hParent; 4090 HTREEITEM hParent; 3706 PFNTVCOMPARE lpfnCompare; 4091 PFNTVCOMPARE lpfnCompare; 3707 LPARAM lParam; 4092 LPARAM lParam; 3708 } 4093 } ................................................................................................................................................................................ 3980 } 4365 } 3981 4366 3982 enum : size_t { 4367 enum : size_t { 3983 REBARBANDINFOA_V3_SIZE = REBARBANDINFOA.sizeof, 4368 REBARBANDINFOA_V3_SIZE = REBARBANDINFOA.sizeof, 3984 REBARBANDINFOW_V3_SIZE = REBARBANDINFOW.sizeof 4369 REBARBANDINFOW_V3_SIZE = REBARBANDINFOW.sizeof 3985 } 4370 } 3986 } 4371 } 3987 alias REBARBANDINFOA* LPREBARBANDINFOA; | 4372 alias REBARBANDINFOA* LPREBARBANDINFOA; 3988 alias CPtr!(REBARBANDINFOA) LPCREBARBANDINFOA; | 4373 alias const(REBARBANDINFOA)* LPCREBARBANDINFOA; 3989 alias REBARBANDINFOW* LPREBARBANDINFOW; | 4374 alias REBARBANDINFOW* LPREBARBANDINFOW; 3990 alias CPtr!(REBARBANDINFOW) LPCREBARBANDINFOW; | 4375 alias const(REBARBANDINFOW)* LPCREBARBANDINFOW; 3991 4376 3992 static if (_WIN32_IE >= 0x300) { 4377 static if (_WIN32_IE >= 0x300) { 3993 struct NMLVODSTATECHANGE { 4378 struct NMLVODSTATECHANGE { 3994 NMHDR hdr; 4379 NMHDR hdr; 3995 int iFrom; 4380 int iFrom; 3996 int iTo; 4381 int iTo; 3997 UINT uNewState; 4382 UINT uNewState; ................................................................................................................................................................................ 4084 POINT pt; 4469 POINT pt; 4085 UINT flags; 4470 UINT flags; 4086 int iBand; 4471 int iBand; 4087 } 4472 } 4088 alias RBHITTESTINFO* LPRBHITTESTINFO; 4473 alias RBHITTESTINFO* LPRBHITTESTINFO; 4089 } 4474 } 4090 4475 4091 alias HANDLE HDSA; | 4476 mixin DECLARE_HANDLE!("HDSA"); 4092 alias HANDLE HDPA; | 4477 mixin DECLARE_HANDLE!("HDPA"); 4093 4478 4094 version (Unicode) { 4479 version (Unicode) { 4095 alias HDITEMW HDITEM; 4480 alias HDITEMW HDITEM; 4096 alias LPHDITEMW LPHDITEM; 4481 alias LPHDITEMW LPHDITEM; 4097 alias TOOLINFOW TOOLINFO; 4482 alias TOOLINFOW TOOLINFO; 4098 alias TOOLINFOW* PTOOLINFO, LPTOOLINFO; 4483 alias TOOLINFOW* PTOOLINFO, LPTOOLINFO; 4099 alias TTHITTESTINFOW TTHITTESTINFO; 4484 alias TTHITTESTINFOW TTHITTESTINFO; ................................................................................................................................................................................ 4587 HWND Animate_Create(HWND hwndP, UINT id, DWORD dwStyle, 4972 HWND Animate_Create(HWND hwndP, UINT id, DWORD dwStyle, 4588 HINSTANCE hInstance) { 4973 HINSTANCE hInstance) { 4589 return CreateWindow(cast(TCHAR*)ANIMATE_CLASS.ptr, null, dwStyle, 0, 0, 4974 return CreateWindow(cast(TCHAR*)ANIMATE_CLASS.ptr, null, dwStyle, 0, 0, 4590 cast(HMENU) id, hInstance, null); 4975 cast(HMENU) id, hInstance, null); 4591 } 4976 } 4592 4977 4593 BOOL Animate_Open(HWND hwnd, LPTSTR szName) { 4978 BOOL Animate_Open(HWND hwnd, LPTSTR szName) { 4594 return SendMessage(hwnd, ACM_OPEN, 0, cast(LPARAM) szName); | 4979 return cast(BOOL) SendMessage(hwnd, ACM_OPEN, 0, cast(LPARAM) szName); 4595 } 4980 } 4596 4981 4597 BOOL Animate_OpenEx(HWND hwnd, HINSTANCE hInst, LPTSTR szName) { 4982 BOOL Animate_OpenEx(HWND hwnd, HINSTANCE hInst, LPTSTR szName) { 4598 return SendMessage(hwnd, ACM_OPEN, cast(WPARAM) hInst, | 4983 return cast(BOOL) SendMessage(hwnd, ACM_OPEN, cast(WPARAM) hInst, 4599 cast(LPARAM) szName); 4984 cast(LPARAM) szName); 4600 } 4985 } 4601 4986 4602 BOOL Animate_Play(HWND hwnd, int from, int to, int rep) { 4987 BOOL Animate_Play(HWND hwnd, int from, int to, int rep) { 4603 return SendMessage(hwnd, ACM_PLAY, rep, | 4988 return cast(BOOL) SendMessage(hwnd, ACM_PLAY, rep, 4604 MAKELONG(cast(ushort) from, cast(ushort) to)); 4989 MAKELONG(cast(ushort) from, cast(ushort) to)); 4605 } 4990 } 4606 4991 4607 BOOL Animate_Stop(HWND hwnd) { 4992 BOOL Animate_Stop(HWND hwnd) { 4608 return SendMessage(hwnd, ACM_STOP, 0, 0); | 4993 return cast(BOOL) SendMessage(hwnd, ACM_STOP, 0, 0); 4609 } 4994 } 4610 4995 4611 BOOL Animate_Close(HWND hwnd) { 4996 BOOL Animate_Close(HWND hwnd) { 4612 return Animate_Open(hwnd, null); 4997 return Animate_Open(hwnd, null); 4613 } 4998 } 4614 4999 4615 BOOL Animate_Seek(HWND hwnd, int frame) { 5000 BOOL Animate_Seek(HWND hwnd, int frame) { 4616 return Animate_Play(hwnd, frame, frame, 1); 5001 return Animate_Play(hwnd, frame, frame, 1); 4617 } 5002 } 4618 5003 4619 extern (Windows) { 5004 extern (Windows) { 4620 HBITMAP CreateMappedBitmap(HINSTANCE, int, UINT, LPCOLORMAP, int); | 5005 HBITMAP CreateMappedBitmap(HINSTANCE, INT_PTR, UINT, LPCOLORMAP, int); 4621 HWND CreateStatusWindowA(LONG, LPCSTR, HWND, UINT); 5006 HWND CreateStatusWindowA(LONG, LPCSTR, HWND, UINT); 4622 HWND CreateStatusWindowW(LONG, LPCWSTR, HWND, UINT); 5007 HWND CreateStatusWindowW(LONG, LPCWSTR, HWND, UINT); 4623 HWND CreateToolbarEx(HWND, DWORD, UINT, int, HINSTANCE, UINT, | 5008 HWND CreateToolbarEx(HWND, DWORD, UINT, int, HINSTANCE, UINT_PTR, 4624 LPCTBBUTTON, int, int, int, int, int, UINT); 5009 LPCTBBUTTON, int, int, int, int, int, UINT); 4625 HWND CreateUpDownControl(DWORD, int, int, int, int, HWND, int, HINSTANCE 5010 HWND CreateUpDownControl(DWORD, int, int, int, int, HWND, int, HINSTANCE 4626 HWND, int, int, int); 5011 HWND, int, int, int); 4627 } 5012 } 4628 5013 4629 HWND DateTime_GetMonthCal(HWND hwnd) { 5014 HWND DateTime_GetMonthCal(HWND hwnd) { 4630 return cast(HWND) SendMessage(hwnd, DTM_GETMONTHCAL, 0, 0); 5015 return cast(HWND) SendMessage(hwnd, DTM_GETMONTHCAL, 0, 0); ................................................................................................................................................................................ 4635 } 5020 } 4636 5021 4637 HFONT DateTime_GetMonthCalFont(HWND hwnd) { 5022 HFONT DateTime_GetMonthCalFont(HWND hwnd) { 4638 return cast(HFONT) SendMessage(hwnd, DTM_GETMCFONT, 0, 0); 5023 return cast(HFONT) SendMessage(hwnd, DTM_GETMCFONT, 0, 0); 4639 } 5024 } 4640 5025 4641 DWORD DateTime_GetRange(HWND hwnd, LPSYSTEMTIME lpSysTimeArray) { 5026 DWORD DateTime_GetRange(HWND hwnd, LPSYSTEMTIME lpSysTimeArray) { 4642 return SendMessage(hwnd, DTM_GETRANGE, 0, cast(LPARAM) lpSysTimeArray); | 5027 return cast(DWORD) SendMessage(hwnd, DTM_GETRANGE, 0, cast(LPARAM) lpSys 4643 } 5028 } 4644 5029 4645 DWORD DateTime_GetSystemtime(HWND hwnd, LPSYSTEMTIME lpSysTime) { 5030 DWORD DateTime_GetSystemtime(HWND hwnd, LPSYSTEMTIME lpSysTime) { 4646 return SendMessage(hwnd, DTM_GETSYSTEMTIME, 0, cast(LPARAM) lpSysTime); | 5031 return cast(DWORD) SendMessage(hwnd, DTM_GETSYSTEMTIME, 0, cast(LPARAM) 4647 } 5032 } 4648 5033 4649 BOOL DateTime_SetFormat(HWND hwnd, LPCTSTR lpszFormat) { 5034 BOOL DateTime_SetFormat(HWND hwnd, LPCTSTR lpszFormat) { 4650 return cast(BOOL) SendMessage(hwnd, DTM_SETFORMAT, 0, 5035 return cast(BOOL) SendMessage(hwnd, DTM_SETFORMAT, 0, 4651 cast(LPARAM) lpszFormat); 5036 cast(LPARAM) lpszFormat); 4652 } 5037 } 4653 5038 ................................................................................................................................................................................ 4674 void DrawInsert(HWND, HWND, int); 5059 void DrawInsert(HWND, HWND, int); 4675 void DrawStatusTextA(HDC, LPRECT, LPCSTR, UINT); 5060 void DrawStatusTextA(HDC, LPRECT, LPCSTR, UINT); 4676 void DrawStatusTextW(HDC, LPRECT, LPCWSTR, UINT); 5061 void DrawStatusTextW(HDC, LPRECT, LPCWSTR, UINT); 4677 void GetEffectiveClientRect(HWND, LPRECT, LPINT); 5062 void GetEffectiveClientRect(HWND, LPRECT, LPINT); 4678 } 5063 } 4679 5064 4680 int Header_GetItemCount(HWND w) { 5065 int Header_GetItemCount(HWND w) { 4681 return SendMessage(w, HDM_GETITEMCOUNT, 0, 0); | 5066 return cast(int) SendMessage(w, HDM_GETITEMCOUNT, 0, 0); 4682 } 5067 } 4683 5068 4684 int Header_InsertItem(HWND w, int i, CPtr!(HDITEM) phdi) { | 5069 int Header_InsertItem(HWND w, int i, const(HDITEM)* phdi) { 4685 return SendMessage(w, HDM_INSERTITEM, i, cast(LPARAM) phdi); | 5070 return cast(int) SendMessage(w, HDM_INSERTITEM, i, cast(LPARAM) phdi); 4686 } 5071 } 4687 5072 4688 BOOL Header_DeleteItem(HWND w, int i) { 5073 BOOL Header_DeleteItem(HWND w, int i) { 4689 return cast(BOOL) SendMessage(w, HDM_DELETEITEM, i, 0); 5074 return cast(BOOL) SendMessage(w, HDM_DELETEITEM, i, 0); 4690 } 5075 } 4691 5076 4692 BOOL Header_GetItem(HWND w, int i, LPHDITEM phdi) { 5077 BOOL Header_GetItem(HWND w, int i, LPHDITEM phdi) { 4693 return cast(BOOL) SendMessage(w, HDM_GETITEM, i, cast(LPARAM) phdi); 5078 return cast(BOOL) SendMessage(w, HDM_GETITEM, i, cast(LPARAM) phdi); 4694 } 5079 } 4695 5080 4696 BOOL Header_SetItem(HWND w, int i, CPtr!(HDITEM) phdi) { | 5081 BOOL Header_SetItem(HWND w, int i, const(HDITEM)* phdi) { 4697 return cast(BOOL) SendMessage(w, HDM_SETITEM, i, cast(LPARAM) phdi); 5082 return cast(BOOL) SendMessage(w, HDM_SETITEM, i, cast(LPARAM) phdi); 4698 } 5083 } 4699 5084 4700 BOOL Header_Layout(HWND w, LPHDLAYOUT playout) { 5085 BOOL Header_Layout(HWND w, LPHDLAYOUT playout) { 4701 return SendMessage(w, HDM_LAYOUT, 0, cast(LPARAM) playout); | 5086 return cast(BOOL) SendMessage(w, HDM_LAYOUT, 0, cast(LPARAM) playout); 4702 } 5087 } 4703 5088 4704 static if (_WIN32_IE >= 0x300) { 5089 static if (_WIN32_IE >= 0x300) { 4705 int Header_OrderToIndex(HWND w, int i) { 5090 int Header_OrderToIndex(HWND w, int i) { 4706 return SendMessage(w, HDM_ORDERTOINDEX, i, 0); | 5091 return cast(int) SendMessage(w, HDM_ORDERTOINDEX, i, 0); 4707 } 5092 } 4708 5093 4709 BOOL Header_GetItemRect(HWND w, int i, RECT* r) { 5094 BOOL Header_GetItemRect(HWND w, int i, RECT* r) { 4710 return cast(BOOL) SendMessage(w, HDM_GETITEMRECT, i, cast(LPARAM 5095 return cast(BOOL) SendMessage(w, HDM_GETITEMRECT, i, cast(LPARAM 4711 } 5096 } 4712 5097 4713 BOOL Header_GetOrderArray(HWND w, int iSize, LPINT lpiArray) { 5098 BOOL Header_GetOrderArray(HWND w, int iSize, LPINT lpiArray) { ................................................................................................................................................................................ 4801 BOOL ImageList_DragEnter(HWND, int, int); 5186 BOOL ImageList_DragEnter(HWND, int, int); 4802 BOOL ImageList_DragLeave(HWND); 5187 BOOL ImageList_DragLeave(HWND); 4803 BOOL ImageList_DragMove(int, int); 5188 BOOL ImageList_DragMove(int, int); 4804 BOOL ImageList_DragShowNolock(BOOL); 5189 BOOL ImageList_DragShowNolock(BOOL); 4805 BOOL ImageList_Draw(HIMAGELIST, int, HDC, int, int, UINT); 5190 BOOL ImageList_Draw(HIMAGELIST, int, HDC, int, int, UINT); 4806 BOOL ImageList_DrawEx(HIMAGELIST, int, HDC, int, int, int, int, COLORREF 5191 BOOL ImageList_DrawEx(HIMAGELIST, int, HDC, int, int, int, int, COLORREF 4807 COLORREF, UINT); 5192 COLORREF, UINT); 4808 void ImageList_EndDrag(PVOID); | 5193 void ImageList_EndDrag(); 4809 COLORREF ImageList_GetBkColor(HIMAGELIST); 5194 COLORREF ImageList_GetBkColor(HIMAGELIST); 4810 HIMAGELIST ImageList_GetDragImage(LPPOINT, LPPOINT); 5195 HIMAGELIST ImageList_GetDragImage(LPPOINT, LPPOINT); 4811 HICON ImageList_GetIcon(HIMAGELIST, int, UINT); 5196 HICON ImageList_GetIcon(HIMAGELIST, int, UINT); 4812 BOOL ImageList_GetIconSize(HIMAGELIST, int*, int*); 5197 BOOL ImageList_GetIconSize(HIMAGELIST, int*, int*); 4813 int ImageList_GetImageCount(HIMAGELIST); 5198 int ImageList_GetImageCount(HIMAGELIST); 4814 BOOL ImageList_GetImageInfo(HIMAGELIST, int, IMAGEINFO*); 5199 BOOL ImageList_GetImageInfo(HIMAGELIST, int, IMAGEINFO*); 4815 HIMAGELIST ImageList_LoadImageA(HINSTANCE, LPCSTR, int, int, COLORREF, 5200 HIMAGELIST ImageList_LoadImageA(HINSTANCE, LPCSTR, int, int, COLORREF, ................................................................................................................................................................................ 4865 } 5250 } 4866 5251 4867 HIMAGELIST ListView_GetImageList(HWND w, int i) { 5252 HIMAGELIST ListView_GetImageList(HWND w, int i) { 4868 return cast(HIMAGELIST) SendMessage(w, LVM_GETIMAGELIST, i, 0); 5253 return cast(HIMAGELIST) SendMessage(w, LVM_GETIMAGELIST, i, 0); 4869 } 5254 } 4870 5255 4871 int ListView_GetItemCount(HWND w) { 5256 int ListView_GetItemCount(HWND w) { 4872 return SendMessage(w, LVM_GETITEMCOUNT, 0, 0); | 5257 return cast(int) SendMessage(w, LVM_GETITEMCOUNT, 0, 0); 4873 } 5258 } 4874 5259 4875 BOOL ListView_GetItem(HWND w, LPLVITEM pitem) { 5260 BOOL ListView_GetItem(HWND w, LPLVITEM pitem) { 4876 return cast(BOOL) SendMessage(w, LVM_GETITEM, 0, cast(LPARAM) pitem); 5261 return cast(BOOL) SendMessage(w, LVM_GETITEM, 0, cast(LPARAM) pitem); 4877 } 5262 } 4878 5263 4879 BOOL ListView_SetBkColor(HWND w, COLORREF c) { 5264 BOOL ListView_SetBkColor(HWND w, COLORREF c) { ................................................................................................................................................................................ 4881 } 5266 } 4882 5267 4883 HIMAGELIST ListView_SetImageList(HWND w, HIMAGELIST h, int i) { 5268 HIMAGELIST ListView_SetImageList(HWND w, HIMAGELIST h, int i) { 4884 return cast(HIMAGELIST) SendMessage(w, LVM_SETIMAGELIST, i, 5269 return cast(HIMAGELIST) SendMessage(w, LVM_SETIMAGELIST, i, 4885 cast(LPARAM) h); 5270 cast(LPARAM) h); 4886 } 5271 } 4887 5272 4888 BOOL ListView_SetItem(HWND w, CPtr!(LV_ITEM) i) { | 5273 BOOL ListView_SetItem(HWND w, const(LV_ITEM)* i) { 4889 return cast(BOOL) SendMessage(w, LVM_SETITEM, 0, cast(LPARAM) i); 5274 return cast(BOOL) SendMessage(w, LVM_SETITEM, 0, cast(LPARAM) i); 4890 } 5275 } 4891 5276 4892 int ListView_InsertItem(HWND w, CPtr!(LV_ITEM) i) { | 5277 int ListView_InsertItem(HWND w, const(LV_ITEM)* i) { 4893 return SendMessage(w, LVM_INSERTITEM, 0, cast(LPARAM) i); | 5278 return cast(int) SendMessage(w, LVM_INSERTITEM, 0, cast(LPARAM) i); 4894 } 5279 } 4895 5280 4896 BOOL ListView_DeleteItem(HWND w, int i) { 5281 BOOL ListView_DeleteItem(HWND w, int i) { 4897 return cast(BOOL) SendMessage(w, LVM_DELETEITEM, i, 0); 5282 return cast(BOOL) SendMessage(w, LVM_DELETEITEM, i, 0); 4898 } 5283 } 4899 5284 4900 BOOL ListView_DeleteAllItems(HWND w) { 5285 BOOL ListView_DeleteAllItems(HWND w) { ................................................................................................................................................................................ 4906 } 5291 } 4907 5292 4908 BOOL ListView_SetCallbackMask(HWND w, UINT m) { 5293 BOOL ListView_SetCallbackMask(HWND w, UINT m) { 4909 return cast(BOOL) SendMessage(w, LVM_SETCALLBACKMASK, m, 0); 5294 return cast(BOOL) SendMessage(w, LVM_SETCALLBACKMASK, m, 0); 4910 } 5295 } 4911 5296 4912 int ListView_GetNextItem(HWND w, int i, UINT f) { 5297 int ListView_GetNextItem(HWND w, int i, UINT f) { 4913 return SendMessage(w, LVM_GETNEXTITEM, i, MAKELPARAM(cast(ushort)f, 0)); | 5298 return cast(int) SendMessage(w, LVM_GETNEXTITEM, i, MAKELPARAM(cast(usho 4914 } 5299 } 4915 5300 4916 int ListView_FindItem(HWND w, int i, CPtr!(LV_FINDINFO) p) { | 5301 int ListView_FindItem(HWND w, int i, const(LV_FINDINFO)* p) { 4917 return SendMessage(w, LVM_FINDITEM, i, cast(LPARAM) p); | 5302 return cast(int) SendMessage(w, LVM_FINDITEM, i, cast(LPARAM) p); 4918 } 5303 } 4919 5304 4920 BOOL ListView_GetItemRect(HWND w, int i, LPRECT p, int c) { 5305 BOOL ListView_GetItemRect(HWND w, int i, LPRECT p, int c) { 4921 return cast(BOOL) SendMessage(w, LVM_GETITEMRECT, i, p ? 5306 return cast(BOOL) SendMessage(w, LVM_GETITEMRECT, i, p ? 4922 (p.left = c, cast(LPARAM) p) : 0); 5307 (p.left = c, cast(LPARAM) p) : 0); 4923 } 5308 } 4924 5309 ................................................................................................................................................................................ 4931 } 5316 } 4932 5317 4933 DWORD ListView_GetItemSpacing(HWND w, BOOL f) { 5318 DWORD ListView_GetItemSpacing(HWND w, BOOL f) { 4934 return cast(DWORD) SendMessage(w, LVM_GETITEMSPACING, f, 0); 5319 return cast(DWORD) SendMessage(w, LVM_GETITEMSPACING, f, 0); 4935 } 5320 } 4936 5321 4937 int ListView_GetStringWidth(HWND w, LPCSTR s) { 5322 int ListView_GetStringWidth(HWND w, LPCSTR s) { 4938 return SendMessage(w, LVM_GETSTRINGWIDTH, 0, cast(LPARAM) s); | 5323 return cast(int) SendMessage(w, LVM_GETSTRINGWIDTH, 0, cast(LPARAM) s); 4939 } 5324 } 4940 5325 4941 int ListView_HitTest(HWND w, LPLVHITTESTINFO p) { 5326 int ListView_HitTest(HWND w, LPLVHITTESTINFO p) { 4942 return SendMessage(w, LVM_HITTEST, 0, cast(LPARAM) p); | 5327 return cast(int) SendMessage(w, LVM_HITTEST, 0, cast(LPARAM) p); 4943 } 5328 } 4944 5329 4945 BOOL ListView_EnsureVisible(HWND w, int i, BOOL f) { 5330 BOOL ListView_EnsureVisible(HWND w, int i, BOOL f) { 4946 return cast(BOOL) SendMessage(w, LVM_ENSUREVISIBLE, i, MAKELPARAM(cast(u 5331 return cast(BOOL) SendMessage(w, LVM_ENSUREVISIBLE, i, MAKELPARAM(cast(u 4947 } 5332 } 4948 5333 4949 BOOL ListView_Scroll(HWND w, int dx, int dy) { 5334 BOOL ListView_Scroll(HWND w, int dx, int dy) { ................................................................................................................................................................................ 4966 return cast(HWND) SendMessage(w, LVM_GETEDITCONTROL, 0, 0); 5351 return cast(HWND) SendMessage(w, LVM_GETEDITCONTROL, 0, 0); 4967 } 5352 } 4968 5353 4969 BOOL ListView_GetColumn(HWND w, int i, LPLVCOLUMN p) { 5354 BOOL ListView_GetColumn(HWND w, int i, LPLVCOLUMN p) { 4970 return cast(BOOL) SendMessage(w, LVM_GETCOLUMN, i, cast(LPARAM) p); 5355 return cast(BOOL) SendMessage(w, LVM_GETCOLUMN, i, cast(LPARAM) p); 4971 } 5356 } 4972 5357 4973 BOOL ListView_SetColumn(HWND w, int i, CPtr!(LV_COLUMN) p) { | 5358 BOOL ListView_SetColumn(HWND w, int i, const(LV_COLUMN)* p) { 4974 return cast(BOOL) SendMessage(w, LVM_SETCOLUMN, i, cast(LPARAM) p); 5359 return cast(BOOL) SendMessage(w, LVM_SETCOLUMN, i, cast(LPARAM) p); 4975 } 5360 } 4976 5361 4977 int ListView_InsertColumn(HWND w, int i, CPtr!(LV_COLUMN) p) { | 5362 int ListView_InsertColumn(HWND w, int i, const(LV_COLUMN)* p) { 4978 return SendMessage(w, LVM_INSERTCOLUMN, i, cast(LPARAM) p); | 5363 return cast(int) SendMessage(w, LVM_INSERTCOLUMN, i, cast(LPARAM) p); 4979 } 5364 } 4980 5365 4981 BOOL ListView_DeleteColumn(HWND w, int i) { 5366 BOOL ListView_DeleteColumn(HWND w, int i) { 4982 return cast(BOOL) SendMessage(w, LVM_DELETECOLUMN, i, 0); 5367 return cast(BOOL) SendMessage(w, LVM_DELETECOLUMN, i, 0); 4983 } 5368 } 4984 5369 4985 int ListView_GetColumnWidth(HWND w, int i) { 5370 int ListView_GetColumnWidth(HWND w, int i) { 4986 return SendMessage(w, LVM_GETCOLUMNWIDTH, i, 0); | 5371 return cast(int) SendMessage(w, LVM_GETCOLUMNWIDTH, i, 0); 4987 } 5372 } 4988 5373 4989 BOOL ListView_SetColumnWidth(HWND w, int i, int x) { 5374 BOOL ListView_SetColumnWidth(HWND w, int i, int x) { 4990 return cast(BOOL) SendMessage(w, LVM_SETCOLUMNWIDTH, i, MAKELPARAM(cast( 5375 return cast(BOOL) SendMessage(w, LVM_SETCOLUMNWIDTH, i, MAKELPARAM(cast( 4991 } 5376 } 4992 5377 4993 HIMAGELIST ListView_CreateDragImage(HWND w, int i, LPPOINT p) { 5378 HIMAGELIST ListView_CreateDragImage(HWND w, int i, LPPOINT p) { ................................................................................................................................................................................ 5012 } 5397 } 5013 5398 5014 BOOL ListView_SetTextBkColor(HWND w, COLORREF c) { 5399 BOOL ListView_SetTextBkColor(HWND w, COLORREF c) { 5015 return cast(BOOL) SendMessage(w, LVM_SETTEXTBKCOLOR, 0, cast(LPARAM) c); 5400 return cast(BOOL) SendMessage(w, LVM_SETTEXTBKCOLOR, 0, cast(LPARAM) c); 5016 } 5401 } 5017 5402 5018 int ListView_GetTopIndex(HWND w) { 5403 int ListView_GetTopIndex(HWND w) { 5019 return SendMessage(w, LVM_GETTOPINDEX, 0, 0); | 5404 return cast(int) SendMessage(w, LVM_GETTOPINDEX, 0, 0); 5020 } 5405 } 5021 5406 5022 int ListView_GetCountPerPage(HWND w) { 5407 int ListView_GetCountPerPage(HWND w) { 5023 return SendMessage(w, LVM_GETCOUNTPERPAGE, 0, 0); | 5408 return cast(int) SendMessage(w, LVM_GETCOUNTPERPAGE, 0, 0); 5024 } 5409 } 5025 5410 5026 BOOL ListView_GetOrigin(HWND w, LPPOINT p) { 5411 BOOL ListView_GetOrigin(HWND w, LPPOINT p) { 5027 return cast(BOOL) SendMessage(w, LVM_GETORIGIN, 0, cast(LPARAM) p); 5412 return cast(BOOL) SendMessage(w, LVM_GETORIGIN, 0, cast(LPARAM) p); 5028 } 5413 } 5029 5414 5030 BOOL ListView_Update(HWND w, WPARAM i) { 5415 BOOL ListView_Update(HWND w, WPARAM i) { ................................................................................................................................................................................ 5094 SendMessage(w, LVM_CANCELEDITLABEL, 0, 0); 5479 SendMessage(w, LVM_CANCELEDITLABEL, 0, 0); 5095 } 5480 } 5096 5481 5097 int ListView_EnableGroupView(HWND w, BOOL i) { 5482 int ListView_EnableGroupView(HWND w, BOOL i) { 5098 return cast(int) SendMessage(w, LVM_ENABLEGROUPVIEW, i, 0); 5483 return cast(int) SendMessage(w, LVM_ENABLEGROUPVIEW, i, 0); 5099 } 5484 } 5100 5485 5101 static if (_WIN32_WINDOWS >= 0x410 && (_WIN32_WINNT >= 0x500 || _WIN32_IE >= 0x5 | 5486 static if (_WIN32_WINNT >= 0x500 || _WIN32_IE >= 0x500) { 5102 BOOL ListView_SortItemsEx(HWND w, PFNLVCOMPARE c, LPARAM p) { 5487 BOOL ListView_SortItemsEx(HWND w, PFNLVCOMPARE c, LPARAM p) { 5103 return SendMessage(w, LVM_SORTITEMSEX, cast(WPARAM) p, cast(LPAR | 5488 return cast(BOOL) SendMessage(w, LVM_SORTITEMSEX, cast(WPARAM) p 5104 } 5489 } 5105 } 5490 } 5106 5491 5107 static if (_WIN32_WINNT >= 0x501) { 5492 static if (_WIN32_WINNT >= 0x501) { 5108 int ListView_GetGroupInfo(HWND w, int i, PLVGROUP p) { 5493 int ListView_GetGroupInfo(HWND w, int i, PLVGROUP p) { 5109 return SendMessage(w, LVM_GETGROUPINFO, i, cast(LPARAM) p); | 5494 return cast(int) SendMessage(w, LVM_GETGROUPINFO, i, cast(LPARAM 5110 } 5495 } 5111 5496 5112 void ListView_GetGroupMetrics(HWND w, PLVGROUPMETRICS p) { 5497 void ListView_GetGroupMetrics(HWND w, PLVGROUPMETRICS p) { 5113 SendMessage(w, LVM_GETGROUPMETRICS, 0, cast(LPARAM) p); 5498 SendMessage(w, LVM_GETGROUPMETRICS, 0, cast(LPARAM) p); 5114 } 5499 } 5115 5500 5116 BOOL ListView_GetInsertMark(HWND w, PLVINSERTMARK p) { 5501 BOOL ListView_GetInsertMark(HWND w, PLVINSERTMARK p) { 5117 return SendMessage(w, LVM_GETINSERTMARK, 0, cast(LPARAM) p); | 5502 return cast(BOOL) SendMessage(w, LVM_GETINSERTMARK, 0, cast(LPAR 5118 } 5503 } 5119 5504 5120 COLORREF ListView_GetInsertMarkColor(HWND w) { 5505 COLORREF ListView_GetInsertMarkColor(HWND w) { 5121 return SendMessage(w, LVM_GETINSERTMARKCOLOR, 0, 0); | 5506 return cast(COLORREF) SendMessage(w, LVM_GETINSERTMARKCOLOR, 0, 5122 } 5507 } 5123 5508 5124 int ListView_GetInsertMarkRect(HWND w, LPRECT p) { 5509 int ListView_GetInsertMarkRect(HWND w, LPRECT p) { 5125 return SendMessage(w, LVM_GETINSERTMARKRECT, 0, cast(LPARAM) p); | 5510 return cast(int) SendMessage(w, LVM_GETINSERTMARKRECT, 0, cast(L 5126 } 5511 } 5127 5512 5128 COLORREF ListView_GetOutlineColor(HWND w) { 5513 COLORREF ListView_GetOutlineColor(HWND w) { 5129 return SendMessage(w, LVM_GETOUTLINECOLOR, 0, 0); | 5514 return cast(COLORREF) SendMessage(w, LVM_GETOUTLINECOLOR, 0, 0); 5130 } 5515 } 5131 5516 5132 UINT ListView_GetSelectedColumn(HWND w) { 5517 UINT ListView_GetSelectedColumn(HWND w) { 5133 return SendMessage(w, LVM_GETSELECTEDCOLUMN, 0, 0); | 5518 return cast(UINT) SendMessage(w, LVM_GETSELECTEDCOLUMN, 0, 0); 5134 } 5519 } 5135 5520 5136 void ListView_GetTileInfo(HWND w, PLVTILEINFO p) { 5521 void ListView_GetTileInfo(HWND w, PLVTILEINFO p) { 5137 SendMessage(w, LVM_GETTILEINFO, 0, cast(LPARAM) p); 5522 SendMessage(w, LVM_GETTILEINFO, 0, cast(LPARAM) p); 5138 } 5523 } 5139 5524 5140 void ListView_GetTileViewInfo(HWND w, PLVTILEVIEWINFO p) { 5525 void ListView_GetTileViewInfo(HWND w, PLVTILEVIEWINFO p) { 5141 SendMessage(w, LVM_GETTILEVIEWINFO, 0, cast(LPARAM) p); 5526 SendMessage(w, LVM_GETTILEVIEWINFO, 0, cast(LPARAM) p); 5142 } 5527 } 5143 5528 5144 DWORD ListView_GetView(HWND w) { 5529 DWORD ListView_GetView(HWND w) { 5145 return SendMessage(w, LVM_GETVIEW, 0, 0); | 5530 return cast(DWORD) SendMessage(w, LVM_GETVIEW, 0, 0); 5146 } 5531 } 5147 5532 5148 BOOL ListView_HasGroup(HWND w, int i) { 5533 BOOL ListView_HasGroup(HWND w, int i) { 5149 return SendMessage(w, LVM_HASGROUP, i, 0); | 5534 return cast(BOOL) SendMessage(w, LVM_HASGROUP, i, 0); 5150 } 5535 } 5151 5536 5152 int ListView_InsertGroup(HWND w, int i, PLVGROUP p) { 5537 int ListView_InsertGroup(HWND w, int i, PLVGROUP p) { 5153 return SendMessage(w, LVM_INSERTGROUP, i, cast(LPARAM) p); | 5538 return cast(int) SendMessage(w, LVM_INSERTGROUP, i, cast(LPARAM) 5154 } 5539 } 5155 5540 5156 void ListView_InsertGroupSorted(HWND w, PLVINSERTGROUPSORTED p) { 5541 void ListView_InsertGroupSorted(HWND w, PLVINSERTGROUPSORTED p) { 5157 SendMessage(w, LVM_INSERTGROUPSORTED, cast(WPARAM) p, 0); 5542 SendMessage(w, LVM_INSERTGROUPSORTED, cast(WPARAM) p, 0); 5158 } 5543 } 5159 5544 5160 BOOL ListView_InsertMarkHitTest(HWND w, LPPOINT p, PLVINSERTMARK t) { 5545 BOOL ListView_InsertMarkHitTest(HWND w, LPPOINT p, PLVINSERTMARK t) { 5161 return SendMessage(w, LVM_INSERTMARKHITTEST, cast(WPARAM) p, cas | 5546 return cast(BOOL) SendMessage(w, LVM_INSERTMARKHITTEST, cast(WPA 5162 } 5547 } 5163 5548 5164 BOOL ListView_IsGroupViewEnabled(HWND w) { 5549 BOOL ListView_IsGroupViewEnabled(HWND w) { 5165 return SendMessage(w, LVM_ISGROUPVIEWENABLED, 0, 0); | 5550 return cast(BOOL) SendMessage(w, LVM_ISGROUPVIEWENABLED, 0, 0); 5166 } 5551 } 5167 5552 5168 UINT ListView_MapIDToIndex(HWND w, UINT i) { 5553 UINT ListView_MapIDToIndex(HWND w, UINT i) { 5169 return SendMessage(w, LVM_MAPIDTOINDEX, i, 0); | 5554 return cast(UINT) SendMessage(w, LVM_MAPIDTOINDEX, i, 0); 5170 } 5555 } 5171 5556 5172 /* ??? MSDN documents this as "Not implemented", except in relation 5557 /* ??? MSDN documents this as "Not implemented", except in relation 5173 * Windows CE/Mobile. 5558 * Windows CE/Mobile. 5174 */ 5559 */ 5175 void ListView_MoveGroup(HWND w, int i, int t) { 5560 void ListView_MoveGroup(HWND w, int i, int t) { 5176 SendMessage(w, LVM_MOVEGROUP, i, t); 5561 SendMessage(w, LVM_MOVEGROUP, i, t); ................................................................................................................................................................................ 5177 } 5562 } 5178 5563 5179 void ListView_RemoveAllGroups(HWND w) { 5564 void ListView_RemoveAllGroups(HWND w) { 5180 SendMessage(w, LVM_REMOVEALLGROUPS, 0, 0); 5565 SendMessage(w, LVM_REMOVEALLGROUPS, 0, 0); 5181 } 5566 } 5182 5567 5183 int ListView_RemoveGroup(HWND w, int i) { 5568 int ListView_RemoveGroup(HWND w, int i) { 5184 return SendMessage(w, LVM_REMOVEGROUP, i, 0); | 5569 return cast(int) SendMessage(w, LVM_REMOVEGROUP, i, 0); 5185 } 5570 } 5186 5571 5187 int ListView_SetGroupInfo(HWND w, int i, PLVGROUP p) { 5572 int ListView_SetGroupInfo(HWND w, int i, PLVGROUP p) { 5188 return SendMessage(w, LVM_SETGROUPINFO, i, cast(LPARAM) p); | 5573 return cast(int) SendMessage(w, LVM_SETGROUPINFO, i, cast(LPARAM 5189 } 5574 } 5190 5575 5191 void ListView_SetGroupMetrics(HWND w, PLVGROUPMETRICS p) { 5576 void ListView_SetGroupMetrics(HWND w, PLVGROUPMETRICS p) { 5192 SendMessage(w, LVM_SETGROUPMETRICS, 0, cast(LPARAM) p); 5577 SendMessage(w, LVM_SETGROUPMETRICS, 0, cast(LPARAM) p); 5193 } 5578 } 5194 5579 5195 BOOL ListView_SetInfoTip(HWND w, PLVSETINFOTIP p) { 5580 BOOL ListView_SetInfoTip(HWND w, PLVSETINFOTIP p) { 5196 return SendMessage(w, LVM_SETINFOTIP, 0, cast(LPARAM) p); | 5581 return cast(BOOL) SendMessage(w, LVM_SETINFOTIP, 0, cast(LPARAM) 5197 } 5582 } 5198 5583 5199 BOOL ListView_SetInsertMark(HWND w, PLVINSERTMARK p) { 5584 BOOL ListView_SetInsertMark(HWND w, PLVINSERTMARK p) { 5200 return SendMessage(w, LVM_SETINSERTMARK, 0, cast(LPARAM) p); | 5585 return cast(BOOL) SendMessage(w, LVM_SETINSERTMARK, 0, cast(LPAR 5201 } 5586 } 5202 5587 5203 COLORREF ListView_SetInsertMarkColor(HWND w, COLORREF c) { 5588 COLORREF ListView_SetInsertMarkColor(HWND w, COLORREF c) { 5204 return SendMessage(w, LVM_SETINSERTMARKCOLOR, 0, c); | 5589 return cast(COLORREF) SendMessage(w, LVM_SETINSERTMARKCOLOR, 0, 5205 } 5590 } 5206 5591 5207 COLORREF ListView_SetOutlineColor(HWND w, COLORREF c) { 5592 COLORREF ListView_SetOutlineColor(HWND w, COLORREF c) { 5208 return SendMessage(w, LVM_SETOUTLINECOLOR, 0, c); | 5593 return cast(COLORREF) SendMessage(w, LVM_SETOUTLINECOLOR, 0, c); 5209 } 5594 } 5210 5595 5211 void ListView_SetSelectedColumn(HWND w, int i) { 5596 void ListView_SetSelectedColumn(HWND w, int i) { 5212 SendMessage(w, LVM_SETSELECTEDCOLUMN, i, 0); 5597 SendMessage(w, LVM_SETSELECTEDCOLUMN, i, 0); 5213 } 5598 } 5214 5599 5215 BOOL ListView_SetTileInfo(HWND w, PLVTILEINFO p) { 5600 BOOL ListView_SetTileInfo(HWND w, PLVTILEINFO p) { 5216 return SendMessage(w, LVM_SETTILEINFO, 0, cast(LPARAM) p); | 5601 return cast(BOOL) SendMessage(w, LVM_SETTILEINFO, 0, cast(LPARAM 5217 } 5602 } 5218 5603 5219 BOOL ListView_SetTileViewInfo(HWND w, PLVTILEVIEWINFO p) { 5604 BOOL ListView_SetTileViewInfo(HWND w, PLVTILEVIEWINFO p) { 5220 return SendMessage(w, LVM_SETTILEVIEWINFO, 0, cast(LPARAM) p); | 5605 return cast(BOOL) SendMessage(w, LVM_SETTILEVIEWINFO, 0, cast(LP 5221 } 5606 } 5222 5607 5223 int ListView_SetView(HWND w, DWORD i) { 5608 int ListView_SetView(HWND w, DWORD i) { 5224 return SendMessage(w, LVM_SETVIEW, i, 0); | 5609 return cast(int) SendMessage(w, LVM_SETVIEW, i, 0); 5225 } 5610 } 5226 5611 5227 int ListView_SortGroups(HWND w, PFNLVGROUPCOMPARE c, LPVOID p) { 5612 int ListView_SortGroups(HWND w, PFNLVGROUPCOMPARE c, LPVOID p) { 5228 return SendMessage(w, LVM_SORTGROUPS, cast(WPARAM) c, cast(LPARA | 5613 return cast(int) SendMessage(w, LVM_SORTGROUPS, cast(WPARAM) c, 5229 } 5614 } 5230 } 5615 } 5231 5616 5232 static if (_WIN32_WINNT >= 0x501) { 5617 static if (_WIN32_WINNT >= 0x501) { 5233 enum { 5618 enum { 5234 CBM_FIRST = 0x1700, 5619 CBM_FIRST = 0x1700, 5235 CB_SETMINVISIBLE = CBM_FIRST + 1, 5620 CB_SETMINVISIBLE = CBM_FIRST + 1, 5236 CB_GETMINVISIBLE = CBM_FIRST + 2 | 5621 CB_GETMINVISIBLE = CBM_FIRST + 2, > 5622 CB_SETCUEBANNER = CBM_FIRST + 3, > 5623 CB_GETCUEBANNER = CBM_FIRST + 4, 5237 } 5624 } 5238 5625 5239 BOOL ComboBox_SetMinVisible(HWND w, INT i) { 5626 BOOL ComboBox_SetMinVisible(HWND w, INT i) { 5240 return cast(BOOL) SendMessage(w, CB_SETMINVISIBLE, cast(WPARAM) 5627 return cast(BOOL) SendMessage(w, CB_SETMINVISIBLE, cast(WPARAM) 5241 } 5628 } 5242 5629 5243 int ComboBox_GetMinVisible(HWND w) { 5630 int ComboBox_GetMinVisible(HWND w) { 5244 return SendMessage(w, CB_GETMINVISIBLE, 0, 0); | 5631 return cast(int) SendMessage(w, CB_GETMINVISIBLE, 0, 0); 5245 } 5632 } 5246 } 5633 } 5247 5634 5248 extern (Windows) BOOL MakeDragList(HWND); 5635 extern (Windows) BOOL MakeDragList(HWND); 5249 extern (Windows) void MenuHelp(UINT, WPARAM, LPARAM, HMENU, HINSTANCE, HWND, 5636 extern (Windows) void MenuHelp(UINT, WPARAM, LPARAM, HMENU, HINSTANCE, HWND, 5250 PUINT); 5637 PUINT); 5251 5638 ................................................................................................................................................................................ 5273 5660 5274 BOOL MonthCal_GetMinReqRect(HWND hwnd, LPRECT lpRectInfo) { 5661 BOOL MonthCal_GetMinReqRect(HWND hwnd, LPRECT lpRectInfo) { 5275 return cast(BOOL) SendMessage(hwnd, MCM_GETMINREQRECT, 0, 5662 return cast(BOOL) SendMessage(hwnd, MCM_GETMINREQRECT, 0, 5276 cast(LPARAM) lpRectInfo); 5663 cast(LPARAM) lpRectInfo); 5277 } 5664 } 5278 5665 5279 INT MonthCal_GetMonthDelta(HWND hwnd) { 5666 INT MonthCal_GetMonthDelta(HWND hwnd) { 5280 return SendMessage(hwnd, MCM_GETMONTHDELTA, 0, 0); | 5667 return cast(INT) SendMessage(hwnd, MCM_GETMONTHDELTA, 0, 0); 5281 } 5668 } 5282 5669 5283 INT MonthCal_GetMonthRange(HWND hwnd, DWORD flag, LPSYSTEMTIME systimearray) { 5670 INT MonthCal_GetMonthRange(HWND hwnd, DWORD flag, LPSYSTEMTIME systimearray) { 5284 return SendMessage(hwnd, MCM_GETMONTHRANGE, cast(WPARAM) flag, | 5671 return cast(INT) SendMessage(hwnd, MCM_GETMONTHRANGE, cast(WPARAM) flag, 5285 cast(LPARAM) systimearray); 5672 cast(LPARAM) systimearray); 5286 } 5673 } 5287 5674 5288 DWORD MonthCal_GetRange(HWND hwnd, LPSYSTEMTIME systimearray) { 5675 DWORD MonthCal_GetRange(HWND hwnd, LPSYSTEMTIME systimearray) { 5289 return cast(DWORD) SendMessage(hwnd, MCM_GETRANGE, 0, 5676 return cast(DWORD) SendMessage(hwnd, MCM_GETRANGE, 0, 5290 cast(LPARAM) systimearray); 5677 cast(LPARAM) systimearray); 5291 } 5678 } ................................................................................................................................................................................ 5331 5718 5332 BOOL MonthCal_SetMaxSelCount(HWND hwnd, UINT imax) { 5719 BOOL MonthCal_SetMaxSelCount(HWND hwnd, UINT imax) { 5333 return cast(BOOL) SendMessage(hwnd, MCM_SETMAXSELCOUNT, 5720 return cast(BOOL) SendMessage(hwnd, MCM_SETMAXSELCOUNT, 5334 cast(WPARAM) imax, 0); 5721 cast(WPARAM) imax, 0); 5335 } 5722 } 5336 5723 5337 INT MonthCal_SetMonthDelta(HWND hwnd, INT idelta) { 5724 INT MonthCal_SetMonthDelta(HWND hwnd, INT idelta) { 5338 return SendMessage(hwnd, MCM_SETMONTHDELTA, cast(WPARAM) idelta, 0); | 5725 return cast(INT) SendMessage(hwnd, MCM_SETMONTHDELTA, cast(WPARAM) idelt 5339 } 5726 } 5340 5727 5341 BOOL MonthCal_SetSelRange(HWND hwnd, LPSYSTEMTIME systimearray) { 5728 BOOL MonthCal_SetSelRange(HWND hwnd, LPSYSTEMTIME systimearray) { 5342 return cast(BOOL) SendMessage(hwnd, MCM_SETSELRANGE, 0, 5729 return cast(BOOL) SendMessage(hwnd, MCM_SETSELRANGE, 0, 5343 cast(LPARAM) systimearray); 5730 cast(LPARAM) systimearray); 5344 } 5731 } 5345 5732 ................................................................................................................................................................................ 5353 } 5740 } 5354 5741 5355 BOOL MonthCal_SetRange(HWND w, DWORD f, LPSYSTEMTIME st) { 5742 BOOL MonthCal_SetRange(HWND w, DWORD f, LPSYSTEMTIME st) { 5356 return cast(BOOL) SendMessage(w, MCM_SETRANGE, cast(WPARAM) f, 5743 return cast(BOOL) SendMessage(w, MCM_SETRANGE, cast(WPARAM) f, 5357 cast(LPARAM) st); 5744 cast(LPARAM) st); 5358 } 5745 } 5359 5746 5360 extern (Windows) BOOL ShowHideMenuCtl(HWND, UINT, PINT); | 5747 extern (Windows) BOOL ShowHideMenuCtl(HWND, UINT_PTR, PINT); 5361 5748 5362 BOOL TabCtrl_GetItem(HWND w, int i, LPTCITEM p) { 5749 BOOL TabCtrl_GetItem(HWND w, int i, LPTCITEM p) { 5363 return cast(BOOL) SendMessage(w, TCM_GETITEM, i, cast(LPARAM) p); 5750 return cast(BOOL) SendMessage(w, TCM_GETITEM, i, cast(LPARAM) p); 5364 } 5751 } 5365 5752 5366 BOOL TabCtrl_SetItem(HWND w, int i, LPTCITEM p) { 5753 BOOL TabCtrl_SetItem(HWND w, int i, LPTCITEM p) { 5367 return cast(BOOL) SendMessage(w, TCM_SETITEM, i, cast(LPARAM) p); 5754 return cast(BOOL) SendMessage(w, TCM_SETITEM, i, cast(LPARAM) p); 5368 } 5755 } 5369 5756 5370 int TabCtrl_InsertItem(HWND w, int i, CPtr!(TC_ITEM) p) { | 5757 int TabCtrl_InsertItem(HWND w, int i, const(TC_ITEM)* p) { 5371 return SendMessage(w, TCM_INSERTITEM, i, cast(LPARAM) p); | 5758 return cast(int) SendMessage(w, TCM_INSERTITEM, i, cast(LPARAM) p); 5372 } 5759 } 5373 5760 5374 BOOL TabCtrl_DeleteItem(HWND w, int i) { 5761 BOOL TabCtrl_DeleteItem(HWND w, int i) { 5375 return cast(BOOL) SendMessage(w, TCM_DELETEITEM, i, 0); 5762 return cast(BOOL) SendMessage(w, TCM_DELETEITEM, i, 0); 5376 } 5763 } 5377 5764 5378 BOOL TabCtrl_DeleteAllItems(HWND w) { 5765 BOOL TabCtrl_DeleteAllItems(HWND w) { ................................................................................................................................................................................ 5380 } 5767 } 5381 5768 5382 BOOL TabCtrl_GetItemRect(HWND w, int i, LPRECT p) { 5769 BOOL TabCtrl_GetItemRect(HWND w, int i, LPRECT p) { 5383 return cast(BOOL) SendMessage(w, TCM_GETITEMRECT, i, cast(LPARAM) p); 5770 return cast(BOOL) SendMessage(w, TCM_GETITEMRECT, i, cast(LPARAM) p); 5384 } 5771 } 5385 5772 5386 int TabCtrl_GetCurSel(HWND w) { 5773 int TabCtrl_GetCurSel(HWND w) { 5387 return SendMessage(w, TCM_GETCURSEL, 0, 0); | 5774 return cast(int) SendMessage(w, TCM_GETCURSEL, 0, 0); 5388 } 5775 } 5389 5776 5390 int TabCtrl_SetCurSel(HWND w, int i) { 5777 int TabCtrl_SetCurSel(HWND w, int i) { 5391 return SendMessage(w, TCM_SETCURSEL, i, 0); | 5778 return cast(int) SendMessage(w, TCM_SETCURSEL, i, 0); 5392 } 5779 } 5393 5780 5394 int TabCtrl_HitTest(HWND w, LPTCHITTESTINFO p) { 5781 int TabCtrl_HitTest(HWND w, LPTCHITTESTINFO p) { 5395 return SendMessage(w, TCM_HITTEST, 0, cast(LPARAM) p); | 5782 return cast(int) SendMessage(w, TCM_HITTEST, 0, cast(LPARAM) p); 5396 } 5783 } 5397 5784 5398 BOOL TabCtrl_SetItemExtra(HWND w, int c) { 5785 BOOL TabCtrl_SetItemExtra(HWND w, int c) { 5399 return cast(BOOL) SendMessage(w, TCM_SETITEMEXTRA, c, 0); 5786 return cast(BOOL) SendMessage(w, TCM_SETITEMEXTRA, c, 0); 5400 } 5787 } 5401 5788 5402 int TabCtrl_AdjustRect(HWND w, BOOL b, LPRECT p) { 5789 int TabCtrl_AdjustRect(HWND w, BOOL b, LPRECT p) { 5403 return SendMessage(w, TCM_ADJUSTRECT, b, cast(LPARAM) p); | 5790 return cast(int) SendMessage(w, TCM_ADJUSTRECT, b, cast(LPARAM) p); 5404 } 5791 } 5405 5792 5406 DWORD TabCtrl_SetItemSize(HWND w, int x, int y) { 5793 DWORD TabCtrl_SetItemSize(HWND w, int x, int y) { 5407 return cast(DWORD) SendMessage(w, TCM_SETITEMSIZE, 0, MAKELPARAM(cast(us 5794 return cast(DWORD) SendMessage(w, TCM_SETITEMSIZE, 0, MAKELPARAM(cast(us 5408 } 5795 } 5409 5796 5410 void TabCtrl_RemoveImage(HWND w, int i) { 5797 void TabCtrl_RemoveImage(HWND w, int i) { ................................................................................................................................................................................ 5412 } 5799 } 5413 5800 5414 void TabCtrl_SetPadding(HWND w, int x, int y) { 5801 void TabCtrl_SetPadding(HWND w, int x, int y) { 5415 SendMessage(w, TCM_SETPADDING, 0, MAKELPARAM(cast(ushort)x, cast(ushort) 5802 SendMessage(w, TCM_SETPADDING, 0, MAKELPARAM(cast(ushort)x, cast(ushort) 5416 } 5803 } 5417 5804 5418 int TabCtrl_GetRowCount(HWND w) { 5805 int TabCtrl_GetRowCount(HWND w) { 5419 return SendMessage(w, TCM_GETROWCOUNT, 0, 0); | 5806 return cast(int) SendMessage(w, TCM_GETROWCOUNT, 0, 0); 5420 } 5807 } 5421 5808 5422 HWND TabCtrl_GetToolTips(HWND w) { 5809 HWND TabCtrl_GetToolTips(HWND w) { 5423 return cast(HWND) SendMessage(w, TCM_GETTOOLTIPS, 0, 0); 5810 return cast(HWND) SendMessage(w, TCM_GETTOOLTIPS, 0, 0); 5424 } 5811 } 5425 5812 5426 void TabCtrl_SetToolTips(HWND w, HWND t) { 5813 void TabCtrl_SetToolTips(HWND w, HWND t) { 5427 SendMessage(w, TCM_SETTOOLTIPS, cast(WPARAM) t, 0); 5814 SendMessage(w, TCM_SETTOOLTIPS, cast(WPARAM) t, 0); 5428 } 5815 } 5429 5816 5430 int TabCtrl_GetCurFocus(HWND w) { 5817 int TabCtrl_GetCurFocus(HWND w) { 5431 return SendMessage(w, TCM_GETCURFOCUS, 0, 0); | 5818 return cast(int) SendMessage(w, TCM_GETCURFOCUS, 0, 0); 5432 } 5819 } 5433 5820 5434 void TabCtrl_SetCurFocus(HWND w, int i) { 5821 void TabCtrl_SetCurFocus(HWND w, int i) { 5435 SendMessage(w, TCM_SETCURFOCUS, i, 0); 5822 SendMessage(w, TCM_SETCURFOCUS, i, 0); 5436 } 5823 } 5437 5824 5438 HIMAGELIST TabCtrl_GetImageList(HWND w) { 5825 HIMAGELIST TabCtrl_GetImageList(HWND w) { ................................................................................................................................................................................ 5441 5828 5442 HIMAGELIST TabCtrl_SetImageList(HWND w, HIMAGELIST h) { 5829 HIMAGELIST TabCtrl_SetImageList(HWND w, HIMAGELIST h) { 5443 return cast(HIMAGELIST) SendMessage(w, TCM_SETIMAGELIST, 0, 5830 return cast(HIMAGELIST) SendMessage(w, TCM_SETIMAGELIST, 0, 5444 cast(LPARAM) h); 5831 cast(LPARAM) h); 5445 } 5832 } 5446 5833 5447 int TabCtrl_GetItemCount(HWND w) { 5834 int TabCtrl_GetItemCount(HWND w) { 5448 return SendMessage(w, TCM_GETITEMCOUNT, 0, 0); | 5835 return cast(int) SendMessage(w, TCM_GETITEMCOUNT, 0, 0); 5449 } 5836 } 5450 5837 5451 extern (Windows) BOOL _TrackMouseEvent(LPTRACKMOUSEEVENT); 5838 extern (Windows) BOOL _TrackMouseEvent(LPTRACKMOUSEEVENT); 5452 5839 5453 HTREEITEM TreeView_InsertItem(HWND w, LPTVINSERTSTRUCT i) { 5840 HTREEITEM TreeView_InsertItem(HWND w, LPTVINSERTSTRUCT i) { 5454 return cast(HTREEITEM) SendMessage(w, TVM_INSERTITEM, 0, cast(LPARAM) i) 5841 return cast(HTREEITEM) SendMessage(w, TVM_INSERTITEM, 0, cast(LPARAM) i) 5455 } 5842 } ................................................................................................................................................................................ 5552 return TreeView_Select(w, i, TVGN_FIRSTVISIBLE); 5939 return TreeView_Select(w, i, TVGN_FIRSTVISIBLE); 5553 } 5940 } 5554 5941 5555 BOOL TreeView_GetItem(HWND w, LPTVITEM i) { 5942 BOOL TreeView_GetItem(HWND w, LPTVITEM i) { 5556 return cast(BOOL) SendMessage(w, TVM_GETITEM, 0, cast(LPARAM) i); 5943 return cast(BOOL) SendMessage(w, TVM_GETITEM, 0, cast(LPARAM) i); 5557 } 5944 } 5558 5945 5559 BOOL TreeView_SetItem(HWND w, CPtr!(TV_ITEM) i) { | 5946 BOOL TreeView_SetItem(HWND w, const(TV_ITEM)* i) { 5560 return cast(BOOL) SendMessage(w, TVM_SETITEM, 0, cast(LPARAM) i); 5947 return cast(BOOL) SendMessage(w, TVM_SETITEM, 0, cast(LPARAM) i); 5561 } 5948 } 5562 5949 5563 HWND TreeView_EditLabel(HWND w, HTREEITEM i) { 5950 HWND TreeView_EditLabel(HWND w, HTREEITEM i) { 5564 return cast(HWND) SendMessage(w, TVM_EDITLABEL, 0, cast(LPARAM) i); 5951 return cast(HWND) SendMessage(w, TVM_EDITLABEL, 0, cast(LPARAM) i); 5565 } 5952 } 5566 5953 ................................................................................................................................................................................ 5630 } 6017 } 5631 6018 5632 HCURSOR ListView_GetHotCursor(HWND w) { 6019 HCURSOR ListView_GetHotCursor(HWND w) { 5633 return cast(HCURSOR) SendMessage(w, LVM_GETHOTCURSOR, 0, 0); 6020 return cast(HCURSOR) SendMessage(w, LVM_GETHOTCURSOR, 0, 0); 5634 } 6021 } 5635 6022 5636 INT ListView_GetHotItem(HWND w) { 6023 INT ListView_GetHotItem(HWND w) { 5637 return SendMessage(w, LVM_GETHOTITEM, 0, 0); | 6024 return cast(INT) SendMessage(w, LVM_GETHOTITEM, 0, 0); 5638 } 6025 } 5639 6026 5640 BOOL ListView_GetSubItemRect(HWND w, int i, int isi, int c, LPRECT p) { 6027 BOOL ListView_GetSubItemRect(HWND w, int i, int isi, int c, LPRECT p) { 5641 return cast(BOOL) SendMessage(w, LVM_GETSUBITEMRECT, i, 6028 return cast(BOOL) SendMessage(w, LVM_GETSUBITEMRECT, i, 5642 p ? (p.left = c, p.top = isi, cast(LPARAM) p) : 0); 6029 p ? (p.left = c, p.top = isi, cast(LPARAM) p) : 0); 5643 } 6030 } 5644 6031 5645 HCURSOR ListView_SetHotCursor(HWND w, HCURSOR c) { 6032 HCURSOR ListView_SetHotCursor(HWND w, HCURSOR c) { 5646 return cast(HCURSOR) SendMessage(w, LVM_SETHOTCURSOR, 0, 6033 return cast(HCURSOR) SendMessage(w, LVM_SETHOTCURSOR, 0, 5647 cast(LPARAM) c); 6034 cast(LPARAM) c); 5648 } 6035 } 5649 6036 5650 INT ListView_SetHotItem(HWND w, INT i) { 6037 INT ListView_SetHotItem(HWND w, INT i) { 5651 return SendMessage(w, LVM_SETHOTITEM, cast(WPARAM) i, 0); | 6038 return cast(INT) SendMessage(w, LVM_SETHOTITEM, cast(WPARAM) i, 5652 } 6039 } 5653 6040 5654 DWORD ListView_SetIconSpacing(HWND w, int x, int y) { 6041 DWORD ListView_SetIconSpacing(HWND w, int x, int y) { 5655 return cast(DWORD) SendMessage(w, LVM_SETICONSPACING, 0, 6042 return cast(DWORD) SendMessage(w, LVM_SETICONSPACING, 0, 5656 MAKELONG(cast(ushort)x, cast(ushort)y)); 6043 MAKELONG(cast(ushort)x, cast(ushort)y)); 5657 } 6044 } 5658 6045 5659 INT ListView_SubItemHitTest(HWND w, LPLVHITTESTINFO p) { 6046 INT ListView_SubItemHitTest(HWND w, LPLVHITTESTINFO p) { 5660 return SendMessage(w, LVM_SUBITEMHITTEST, 0, cast(LPARAM) p); | 6047 return cast(INT) SendMessage(w, LVM_SUBITEMHITTEST, 0, cast(LPAR 5661 } 6048 } 5662 6049 5663 BOOL ListView_SetItemCountEx(HWND w, int i, DWORD f) { 6050 BOOL ListView_SetItemCountEx(HWND w, int i, DWORD f) { 5664 return cast(BOOL) SendMessage(w, LVM_SETITEMCOUNT, i, cast(LPARA 6051 return cast(BOOL) SendMessage(w, LVM_SETITEMCOUNT, i, cast(LPARA 5665 } 6052 } 5666 6053 5667 extern (Windows) { 6054 extern (Windows) { 5668 WINBOOL ImageList_SetImageCount(HIMAGELIST, UINT); 6055 WINBOOL ImageList_SetImageCount(HIMAGELIST, UINT); 5669 WINBOOL ImageList_Copy(HIMAGELIST, int, HIMAGELIST, int, UINT); 6056 WINBOOL ImageList_Copy(HIMAGELIST, int, HIMAGELIST, int, UINT); 5670 WINBOOL ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*); 6057 WINBOOL ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*); 5671 } 6058 } 5672 6059 5673 int TabCtrl_SetMinTabWidth(HWND hwnd, int x) { 6060 int TabCtrl_SetMinTabWidth(HWND hwnd, int x) { 5674 return SendMessage(hwnd, TCM_SETMINTABWIDTH, 0, x); | 6061 return cast(int) SendMessage(hwnd, TCM_SETMINTABWIDTH, 0, x); 5675 } 6062 } 5676 6063 5677 VOID TabCtrl_DeselectAll(HWND hwnd, UINT fExcludeFocus) { 6064 VOID TabCtrl_DeselectAll(HWND hwnd, UINT fExcludeFocus) { 5678 SendMessage(hwnd, TCM_DESELECTALL, fExcludeFocus, 0); 6065 SendMessage(hwnd, TCM_DESELECTALL, fExcludeFocus, 0); 5679 } 6066 } 5680 6067 5681 HWND TreeView_GetToolTips(HWND w) { 6068 HWND TreeView_GetToolTips(HWND w) { ................................................................................................................................................................................ 5721 } 6108 } 5722 6109 5723 DWORD ListView_GetHoverTime(HWND w) { 6110 DWORD ListView_GetHoverTime(HWND w) { 5724 return cast(DWORD) SendMessage(w, LVM_GETHOVERTIME, 0, 0); 6111 return cast(DWORD) SendMessage(w, LVM_GETHOVERTIME, 0, 0); 5725 } 6112 } 5726 6113 5727 INT ListView_GetSelectionMark(HWND w) { 6114 INT ListView_GetSelectionMark(HWND w) { 5728 return SendMessage(w, LVM_GETSELECTIONMARK, 0, 0); | 6115 return cast(INT) SendMessage(w, LVM_GETSELECTIONMARK, 0, 0); 5729 } 6116 } 5730 6117 5731 INT ListView_SetSelectionMark(HWND w, INT i) { 6118 INT ListView_SetSelectionMark(HWND w, INT i) { 5732 return SendMessage(w, LVM_SETSELECTIONMARK, 0, cast(LPARAM) i); | 6119 return cast(INT) SendMessage(w, LVM_SETSELECTIONMARK, 0, cast(LP 5733 } 6120 } 5734 6121 5735 HWND ListView_SetToolTips(HWND w, HWND n) { 6122 HWND ListView_SetToolTips(HWND w, HWND n) { 5736 return cast(HWND) SendMessage(w, LVM_SETTOOLTIPS, cast(WPARAM) n 6123 return cast(HWND) SendMessage(w, LVM_SETTOOLTIPS, cast(WPARAM) n 5737 } 6124 } 5738 6125 5739 HWND ListView_GetToolTips(HWND w) { 6126 HWND ListView_GetToolTips(HWND w) { ................................................................................................................................................................................ 5776 } 6163 } 5777 6164 5778 COLORREF TreeView_GetInsertMarkColor(HWND w) { 6165 COLORREF TreeView_GetInsertMarkColor(HWND w) { 5779 return cast(COLORREF) SendMessage(w, TVM_GETINSERTMARKCOLOR, 0, 6166 return cast(COLORREF) SendMessage(w, TVM_GETINSERTMARKCOLOR, 0, 5780 } 6167 } 5781 6168 5782 int TreeView_GetItemHeight(HWND w) { 6169 int TreeView_GetItemHeight(HWND w) { 5783 return SendMessage(w, TVM_GETITEMHEIGHT, 0, 0); | 6170 return cast(int) SendMessage(w, TVM_GETITEMHEIGHT, 0, 0); 5784 } 6171 } 5785 6172 5786 UINT TreeView_GetScrollTime(HWND w) { 6173 UINT TreeView_GetScrollTime(HWND w) { 5787 return cast(UINT) SendMessage(w, TVM_GETSCROLLTIME, 0, 0); 6174 return cast(UINT) SendMessage(w, TVM_GETSCROLLTIME, 0, 0); 5788 } 6175 } 5789 6176 5790 COLORREF TreeView_GetTextColor(HWND w) { 6177 COLORREF TreeView_GetTextColor(HWND w) { ................................................................................................................................................................................ 5798 6185 5799 COLORREF TreeView_SetInsertMarkColor(HWND w, COLORREF c) { 6186 COLORREF TreeView_SetInsertMarkColor(HWND w, COLORREF c) { 5800 return cast(COLORREF) SendMessage(w, TVM_SETINSERTMARKCOLOR, 0, 6187 return cast(COLORREF) SendMessage(w, TVM_SETINSERTMARKCOLOR, 0, 5801 cast(LPARAM) c); 6188 cast(LPARAM) c); 5802 } 6189 } 5803 6190 5804 int TreeView_SetItemHeight(HWND w, SHORT h) { 6191 int TreeView_SetItemHeight(HWND w, SHORT h) { 5805 return SendMessage(w, TVM_SETITEMHEIGHT, cast(WPARAM) h, 0); | 6192 return cast(int) SendMessage(w, TVM_SETITEMHEIGHT, cast(WPARAM) 5806 } 6193 } 5807 6194 5808 UINT TreeView_SetScrollTime(HWND w, UINT t) { 6195 UINT TreeView_SetScrollTime(HWND w, UINT t) { 5809 return cast(UINT) SendMessage(w, TVM_SETSCROLLTIME, cast(WPARAM) 6196 return cast(UINT) SendMessage(w, TVM_SETSCROLLTIME, cast(WPARAM) 5810 } 6197 } 5811 6198 5812 COLORREF TreeView_SetTextColor(HWND w, COLORREF c) { 6199 COLORREF TreeView_SetTextColor(HWND w, COLORREF c) { ................................................................................................................................................................................ 5868 // MinGW: These two are not in the DLL 6255 // MinGW: These two are not in the DLL 5869 void CommandBar_InsertButton(HWND hwnd, int i, LPTBBUTTON lptbbutton) { 6256 void CommandBar_InsertButton(HWND hwnd, int i, LPTBBUTTON lptbbutton) { 5870 SendMessage(hwnd, TB_INSERTBUTTON, i, lptbbutton); 6257 SendMessage(hwnd, TB_INSERTBUTTON, i, lptbbutton); 5871 } 6258 } 5872 alias DestroyWindow CommandBar_Destroy; 6259 alias DestroyWindow CommandBar_Destroy; 5873 +/ 6260 +/ 5874 //#endif // _WIN32_WCE 6261 //#endif // _WIN32_WCE > 6262 > 6263 > 6264 static if (_WIN32_WINNT >= 0x501) { > 6265 struct EDITBALLOONTIP > 6266 { > 6267 DWORD cbStruct; > 6268 LPCWSTR pszTitle; > 6269 LPCWSTR pszText; > 6270 INT ttiIcon; > 6271 } > 6272 alias EDITBALLOONTIP* PEDITBALLOONTIP; > 6273 > 6274 const EM_SETCUEBANNER = ECM_FIRST + 1; > 6275 const EM_GETCUEBANNER = ECM_FIRST + 2; > 6276 const EM_SHOWBALLOONTIP = ECM_FIRST + 3; > 6277 const EM_HIDEBALLOONTIP = ECM_FIRST + 4; > 6278 } > 6279 > 6280 static if (_WIN32_WINNT >= 0x600) { > 6281 const EM_SETHILITE = ECM_FIRST + 5; > 6282 const EM_GETHILITE = ECM_FIRST + 6; > 6283 }

Modified src/win32/commdlg.d from [dce8014c88d4101f] to [969f3a046d040fe8].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW API for MS-Windows 3.12 * 6 * Translated from MinGW API for MS-Windows 3.12 * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.commdlg; 10 module win32.commdlg; 11 pragma(lib, "comdlg32.lib"); | 11 pragma(lib, "comdlg32"); 12 12 13 private import win32.w32api; 13 private import win32.w32api; 14 import win32.windef, win32.winuser; 14 import win32.windef, win32.winuser; 15 import win32.wingdi; // for LPLOGFONTA 15 import win32.wingdi; // for LPLOGFONTA 16 16 17 const TCHAR[] 17 const TCHAR[] 18 LBSELCHSTRING = "commdlg_LBSelChangedNotify", 18 LBSELCHSTRING = "commdlg_LBSelChangedNotify", ................................................................................................................................................................................ 28 CDN_LAST = -699, 28 CDN_LAST = -699, 29 CDN_INITDONE = CDN_FIRST, 29 CDN_INITDONE = CDN_FIRST, 30 CDN_SELCHANGE = CDN_FIRST - 1, 30 CDN_SELCHANGE = CDN_FIRST - 1, 31 CDN_FOLDERCHANGE = CDN_FIRST - 2, 31 CDN_FOLDERCHANGE = CDN_FIRST - 2, 32 CDN_SHAREVIOLATION = CDN_FIRST - 3, 32 CDN_SHAREVIOLATION = CDN_FIRST - 3, 33 CDN_HELP = CDN_FIRST - 4, 33 CDN_HELP = CDN_FIRST - 4, 34 CDN_FILEOK = CDN_FIRST - 5, 34 CDN_FILEOK = CDN_FIRST - 5, 35 CDN_TYPECHANGE = CDN_FIRST - 6 | 35 CDN_TYPECHANGE = CDN_FIRST - 6, > 36 } > 37 > 38 static if(_WIN32_WINNT >= 0x500) > 39 { > 40 enum : UINT { > 41 CDN_INCLUDEITEM = CDN_FIRST - 7, > 42 } 36 } 43 } 37 44 38 enum : UINT { 45 enum : UINT { 39 CDM_FIRST = WM_USER + 100, 46 CDM_FIRST = WM_USER + 100, 40 CDM_LAST = WM_USER + 200, 47 CDM_LAST = WM_USER + 200, 41 CDM_GETSPEC = CDM_FIRST, 48 CDM_GETSPEC = CDM_FIRST, 42 CDM_GETFILEPATH, 49 CDM_GETFILEPATH, ................................................................................................................................................................................ 184 PD_USEDEVMODECOPIES = 0x040000, 191 PD_USEDEVMODECOPIES = 0x040000, 185 PD_USEDEVMODECOPIESANDCOLLATE = 0x040000, 192 PD_USEDEVMODECOPIESANDCOLLATE = 0x040000, 186 PD_DISABLEPRINTTOFILE = 0x080000, 193 PD_DISABLEPRINTTOFILE = 0x080000, 187 PD_HIDEPRINTTOFILE = 0x100000, 194 PD_HIDEPRINTTOFILE = 0x100000, 188 PD_NONETWORKBUTTON = 0x200000 195 PD_NONETWORKBUTTON = 0x200000 189 } 196 } 190 197 191 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { | 198 static if (_WIN32_WINNT >= 0x500) { 192 enum : DWORD { 199 enum : DWORD { 193 PD_CURRENTPAGE = 0x00400000, 200 PD_CURRENTPAGE = 0x00400000, 194 PD_NOCURRENTPAGE = 0x00800000, 201 PD_NOCURRENTPAGE = 0x00800000, 195 PD_EXCLUSIONFLAGS = 0x01000000, 202 PD_EXCLUSIONFLAGS = 0x01000000, 196 PD_USELARGETEMPLATE = 0x10000000, 203 PD_USELARGETEMPLATE = 0x10000000, 197 } 204 } 198 205 ................................................................................................................................................................................ 285 CommDlg_OpenSave_GetFilePathA, CommDlg_OpenSave_GetFilePathW; 292 CommDlg_OpenSave_GetFilePathA, CommDlg_OpenSave_GetFilePathW; 286 alias CommDlg_OpenSave_GetFolderPath 293 alias CommDlg_OpenSave_GetFolderPath 287 CommDlg_OpenSave_GetFolderPathA, CommDlg_OpenSave_GetFolderPathW; 294 CommDlg_OpenSave_GetFolderPathA, CommDlg_OpenSave_GetFolderPathW; 288 +/ 295 +/ 289 296 290 // Callbacks. 297 // Callbacks. 291 extern(Windows) { 298 extern(Windows) { 292 alias UINT function (HWND, UINT, WPARAM, LPARAM) | 299 alias UINT_PTR function (HWND, UINT, WPARAM, LPARAM) 293 LPCCHOOKPROC, LPCFHOOKPROC, LPFRHOOKPROC, LPOFNHOOKPROC, 300 LPCCHOOKPROC, LPCFHOOKPROC, LPFRHOOKPROC, LPOFNHOOKPROC, 294 LPPAGEPAINTHOOK, LPPAGESETUPHOOK, LPSETUPHOOKPROC, LPPRINTHOOKPROC; 301 LPPAGEPAINTHOOK, LPPAGESETUPHOOK, LPSETUPHOOKPROC, LPPRINTHOOKPROC; 295 } 302 } 296 303 297 align (1): 304 align (1): 298 305 299 struct CHOOSECOLORA { 306 struct CHOOSECOLORA { ................................................................................................................................................................................ 418 WORD nFileOffset; 425 WORD nFileOffset; 419 WORD nFileExtension; 426 WORD nFileExtension; 420 LPCSTR lpstrDefExt; 427 LPCSTR lpstrDefExt; 421 DWORD lCustData; 428 DWORD lCustData; 422 LPOFNHOOKPROC lpfnHook; 429 LPOFNHOOKPROC lpfnHook; 423 LPCSTR lpTemplateName; 430 LPCSTR lpTemplateName; 424 431 425 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x0500) { | 432 static if (_WIN32_WINNT >= 0x500) { 426 void *pvReserved; 433 void *pvReserved; 427 DWORD dwReserved; 434 DWORD dwReserved; 428 DWORD FlagsEx; 435 DWORD FlagsEx; 429 } 436 } 430 } 437 } 431 alias OPENFILENAMEA* LPOPENFILENAMEA; 438 alias OPENFILENAMEA* LPOPENFILENAMEA; 432 439 ................................................................................................................................................................................ 448 WORD nFileOffset; 455 WORD nFileOffset; 449 WORD nFileExtension; 456 WORD nFileExtension; 450 LPCWSTR lpstrDefExt; 457 LPCWSTR lpstrDefExt; 451 DWORD lCustData; 458 DWORD lCustData; 452 LPOFNHOOKPROC lpfnHook; 459 LPOFNHOOKPROC lpfnHook; 453 LPCWSTR lpTemplateName; 460 LPCWSTR lpTemplateName; 454 461 455 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x0500) { | 462 static if (_WIN32_WINNT >= 0x500) { 456 void *pvReserved; 463 void *pvReserved; 457 DWORD dwReserved; 464 DWORD dwReserved; 458 DWORD FlagsEx; 465 DWORD FlagsEx; 459 } 466 } 460 } 467 } 461 alias OPENFILENAMEW* LPOPENFILENAMEW; 468 alias OPENFILENAMEW* LPOPENFILENAMEW; 462 469 ................................................................................................................................................................................ 554 LPCWSTR lpPrintTemplateName; 561 LPCWSTR lpPrintTemplateName; 555 LPCWSTR lpSetupTemplateName; 562 LPCWSTR lpSetupTemplateName; 556 HANDLE hPrintTemplate; 563 HANDLE hPrintTemplate; 557 HANDLE hSetupTemplate; 564 HANDLE hSetupTemplate; 558 } 565 } 559 alias PRINTDLGW* LPPRINTDLGW; 566 alias PRINTDLGW* LPPRINTDLGW; 560 567 561 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { | 568 static if (_WIN32_WINNT >= 0x500) { 562 import win32.unknwn; // for LPUNKNOWN 569 import win32.unknwn; // for LPUNKNOWN 563 import win32.prsht; // for HPROPSHEETPAGE 570 import win32.prsht; // for HPROPSHEETPAGE 564 571 565 struct PRINTPAGERANGE { 572 struct PRINTPAGERANGE { 566 DWORD nFromPage; 573 DWORD nFromPage; 567 DWORD nToPage; 574 DWORD nToPage; 568 } 575 } ................................................................................................................................................................................ 614 DWORD nPropertyPages; 621 DWORD nPropertyPages; 615 HPROPSHEETPAGE* lphPropertyPages; 622 HPROPSHEETPAGE* lphPropertyPages; 616 DWORD nStartPage; 623 DWORD nStartPage; 617 DWORD dwResultAction; 624 DWORD dwResultAction; 618 } 625 } 619 alias PRINTDLGEXW* LPPRINTDLGEXW; 626 alias PRINTDLGEXW* LPPRINTDLGEXW; 620 627 621 } // _WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500 | 628 } // _WIN32_WINNT >= 0x500 622 629 623 extern (Windows) { 630 extern (Windows) { 624 BOOL ChooseColorA(LPCHOOSECOLORA); 631 BOOL ChooseColorA(LPCHOOSECOLORA); 625 BOOL ChooseColorW(LPCHOOSECOLORW); 632 BOOL ChooseColorW(LPCHOOSECOLORW); 626 BOOL ChooseFontA(LPCHOOSEFONTA); 633 BOOL ChooseFontA(LPCHOOSEFONTA); 627 BOOL ChooseFontW(LPCHOOSEFONTW); 634 BOOL ChooseFontW(LPCHOOSEFONTW); 628 DWORD CommDlgExtendedError(); 635 DWORD CommDlgExtendedError(); ................................................................................................................................................................................ 637 BOOL PageSetupDlgA(LPPAGESETUPDLGA); 644 BOOL PageSetupDlgA(LPPAGESETUPDLGA); 638 BOOL PageSetupDlgW(LPPAGESETUPDLGW); 645 BOOL PageSetupDlgW(LPPAGESETUPDLGW); 639 BOOL PrintDlgA(LPPRINTDLGA); 646 BOOL PrintDlgA(LPPRINTDLGA); 640 BOOL PrintDlgW(LPPRINTDLGW); 647 BOOL PrintDlgW(LPPRINTDLGW); 641 HWND ReplaceTextA(LPFINDREPLACEA); 648 HWND ReplaceTextA(LPFINDREPLACEA); 642 HWND ReplaceTextW(LPFINDREPLACEW); 649 HWND ReplaceTextW(LPFINDREPLACEW); 643 650 644 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { | 651 static if (_WIN32_WINNT >= 0x500) { 645 HRESULT PrintDlgExA(LPPRINTDLGEXA); 652 HRESULT PrintDlgExA(LPPRINTDLGEXA); 646 HRESULT PrintDlgExW(LPPRINTDLGEXW); 653 HRESULT PrintDlgExW(LPPRINTDLGEXW); 647 } 654 } 648 } 655 } 649 656 650 version (Unicode) { 657 version (Unicode) { 651 alias CHOOSECOLORW CHOOSECOLOR; 658 alias CHOOSECOLORW CHOOSECOLOR; ................................................................................................................................................................................ 662 alias GetFileTitleW GetFileTitle; 669 alias GetFileTitleW GetFileTitle; 663 alias GetOpenFileNameW GetOpenFileName; 670 alias GetOpenFileNameW GetOpenFileName; 664 alias GetSaveFileNameW GetSaveFileName; 671 alias GetSaveFileNameW GetSaveFileName; 665 alias PageSetupDlgW PageSetupDlg; 672 alias PageSetupDlgW PageSetupDlg; 666 alias PrintDlgW PrintDlg; 673 alias PrintDlgW PrintDlg; 667 alias ReplaceTextW ReplaceText; 674 alias ReplaceTextW ReplaceText; 668 675 669 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { | 676 static if (_WIN32_WINNT >= 0x500) { 670 alias PRINTDLGEXW PRINTDLGEX; 677 alias PRINTDLGEXW PRINTDLGEX; 671 alias PrintDlgExW PrintDlgEx; 678 alias PrintDlgExW PrintDlgEx; 672 } 679 } 673 680 674 } else { // UNICODE 681 } else { // UNICODE 675 682 676 alias CHOOSECOLORA CHOOSECOLOR; 683 alias CHOOSECOLORA CHOOSECOLOR; ................................................................................................................................................................................ 687 alias GetFileTitleA GetFileTitle; 694 alias GetFileTitleA GetFileTitle; 688 alias GetOpenFileNameA GetOpenFileName; 695 alias GetOpenFileNameA GetOpenFileName; 689 alias GetSaveFileNameA GetSaveFileName; 696 alias GetSaveFileNameA GetSaveFileName; 690 alias PageSetupDlgA PageSetupDlg; 697 alias PageSetupDlgA PageSetupDlg; 691 alias PrintDlgA PrintDlg; 698 alias PrintDlgA PrintDlg; 692 alias ReplaceTextA ReplaceText; 699 alias ReplaceTextA ReplaceText; 693 700 694 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { | 701 static if (_WIN32_WINNT >= 0x500) { 695 alias PRINTDLGEXA PRINTDLGEX; 702 alias PRINTDLGEXA PRINTDLGEX; 696 alias PrintDlgExA PrintDlgEx; 703 alias PrintDlgExA PrintDlgEx; 697 } 704 } 698 705 699 } // UNICODE 706 } // UNICODE 700 707 701 alias CHOOSECOLOR* LPCHOOSECOLOR; 708 alias CHOOSECOLOR* LPCHOOSECOLOR; 702 alias CHOOSEFONT* LPCHOOSEFONT; 709 alias CHOOSEFONT* LPCHOOSEFONT; 703 alias FINDREPLACE* LPFINDREPLACE; 710 alias FINDREPLACE* LPFINDREPLACE; 704 alias OPENFILENAME* LPOPENFILENAME; 711 alias OPENFILENAME* LPOPENFILENAME; 705 alias OFNOTIFY* LPOFNOTIFY; 712 alias OFNOTIFY* LPOFNOTIFY; 706 alias PAGESETUPDLG* LPPAGESETUPDLG; 713 alias PAGESETUPDLG* LPPAGESETUPDLG; 707 alias PRINTDLG* LPPRINTDLG; 714 alias PRINTDLG* LPPRINTDLG; 708 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { | 715 static if (_WIN32_WINNT >= 0x500) { 709 alias PRINTDLGEX* LPPRINTDLGEX; 716 alias PRINTDLGEX* LPPRINTDLGEX; 710 } 717 }

Modified src/win32/core.d from [6c13098b7fb6c6bb] to [e5e5eb8c58232f94].

23 public import win32.wincon; 23 public import win32.wincon; 24 public import win32.winbase; 24 public import win32.winbase; 25 public import win32.wingdi; 25 public import win32.wingdi; 26 public import win32.winuser; 26 public import win32.winuser; 27 public import win32.winnls; 27 public import win32.winnls; 28 public import win32.winver; 28 public import win32.winver; 29 public import win32.winnetwk; 29 public import win32.winnetwk; 30 < 31 // We can't use static if for imports, build gets confused. < 32 // static if (_WIN32_WINNT_ONLY) import win32.winsvc; < 33 version (WindowsVista) { < 34 version = WIN32_WINNT_ONLY; < 35 } else version (Windows2003) { < 36 version = WIN32_WINNT_ONLY; < 37 } else version (WindowsXP) { < 38 version = WIN32_WINNT_ONLY; < 39 } else version (WindowsNTonly) { < 40 version = WIN32_WINNT_ONLY; < 41 } < 42 < 43 version (WIN32_WINNT_ONLY) { < 44 public import win32.winsvc; | 30 public import win32.winsvc; 45 } <

Modified src/win32/cpl.d from [a3afcd1ae7c02e60] to [328401c2f5b596bc].

Modified src/win32/cplext.d from [343570357e337d93] to [af4d6a6acf290cf4].

Modified src/win32/custcntl.d from [0b928064c01a1f8e] to [c2a5d303a50bd653].

Modified src/win32/dbt.d from [aebc33dc791d8664] to [b2df05f31e090a3d].

21 DBT_DEVICEARRIVAL = 0x8000, 21 DBT_DEVICEARRIVAL = 0x8000, 22 DBT_DEVICEQUERYREMOVE = 0x8001, 22 DBT_DEVICEQUERYREMOVE = 0x8001, 23 DBT_DEVICEQUERYREMOVEFAILED = 0x8002, 23 DBT_DEVICEQUERYREMOVEFAILED = 0x8002, 24 DBT_DEVICEREMOVEPENDING = 0x8003, 24 DBT_DEVICEREMOVEPENDING = 0x8003, 25 DBT_DEVICEREMOVECOMPLETE = 0x8004, 25 DBT_DEVICEREMOVECOMPLETE = 0x8004, 26 DBT_DEVICETYPESPECIFIC = 0x8005, 26 DBT_DEVICETYPESPECIFIC = 0x8005, 27 DBT_DEVTYP_OEM = 0, 27 DBT_DEVTYP_OEM = 0, 28 DBT_DEVTYP_DEVNODE = 1, | 28 DBT_DEVTYP_DEVNODE, 29 DBT_DEVTYP_VOLUME = 2, | 29 DBT_DEVTYP_VOLUME, 30 DBT_DEVTYP_PORT = 3, | 30 DBT_DEVTYP_PORT, 31 DBT_DEVTYP_NET = 4 | 31 DBT_DEVTYP_NET, 32 } < 33 < 34 static if (_WIN32_WINDOWS >= 0x040A) { < 35 enum : DWORD { < 36 DBT_DEVTYP_DEVICEINTERFACE = 5, | 32 DBT_DEVTYP_DEVICEINTERFACE, 37 DBT_DEVTYP_HANDLE = 6 | 33 DBT_DEVTYP_HANDLE // = 6 38 } < 39 } 34 } 40 35 41 enum : DWORD { 36 enum : DWORD { 42 DBT_APPYBEGIN, 37 DBT_APPYBEGIN, 43 DBT_APPYEND, 38 DBT_APPYEND, 44 DBT_DEVNODES_CHANGED = 7, 39 DBT_DEVNODES_CHANGED = 7, 45 DBT_QUERYCHANGECONFIG = 0x17, 40 DBT_QUERYCHANGECONFIG = 0x17, ................................................................................................................................................................................ 77 BSF_NOTIMEOUTIFNOTHUNG = 0x00000040, 72 BSF_NOTIMEOUTIFNOTHUNG = 0x00000040, 78 BSF_POSTMESSAGE = 0x00000010, 73 BSF_POSTMESSAGE = 0x00000010, 79 BSF_QUERY = 0x00000001, 74 BSF_QUERY = 0x00000001, 80 BSF_MSGSRV32ISOK_BIT = 31, 75 BSF_MSGSRV32ISOK_BIT = 31, 81 BSF_MSGSRV32ISOK = 0x80000000 76 BSF_MSGSRV32ISOK = 0x80000000 82 } 77 } 83 78 84 static if (_WIN32_WINNT >= 0x0500) { | 79 static if (_WIN32_WINNT >= 0x500) { 85 enum : DWORD { 80 enum : DWORD { 86 BSF_ALLOWSFW = 0x00000080, 81 BSF_ALLOWSFW = 0x00000080, 87 BSF_SENDNOTIFYMESSAGE = 0x00000100 82 BSF_SENDNOTIFYMESSAGE = 0x00000100 88 } 83 } 89 } 84 } 90 85 91 static if (_WIN32_WINNT >= 0x0501) { | 86 static if (_WIN32_WINNT >= 0x501) { 92 enum : DWORD { 87 enum : DWORD { 93 BSF_LUID = 0x00000400, 88 BSF_LUID = 0x00000400, 94 BSF_RETURNHDESK = 0x00000200 89 BSF_RETURNHDESK = 0x00000200 95 } 90 } 96 } 91 } 97 92 98 struct DEV_BROADCAST_HDR { 93 struct DEV_BROADCAST_HDR { ................................................................................................................................................................................ 147 version (Unicode) { 142 version (Unicode) { 148 alias DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT; 143 alias DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT; 149 } else { 144 } else { 150 alias DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT; 145 alias DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT; 151 } 146 } 152 alias DEV_BROADCAST_PORT* PDEV_BROADCAST_PORT; 147 alias DEV_BROADCAST_PORT* PDEV_BROADCAST_PORT; 153 148 154 static if ((_WIN32_WINDOWS >= 0x0410) || (_WIN32_WINNT >= 0x0500)) { | 149 static if (_WIN32_WINNT >= 0x500) { 155 struct DEV_BROADCAST_DEVICEINTERFACE_A { 150 struct DEV_BROADCAST_DEVICEINTERFACE_A { 156 DWORD dbcc_size = DEV_BROADCAST_DEVICEINTERFACE_A.sizeof; 151 DWORD dbcc_size = DEV_BROADCAST_DEVICEINTERFACE_A.sizeof; 157 DWORD dbcc_devicetype; 152 DWORD dbcc_devicetype; 158 DWORD dbcc_reserved; 153 DWORD dbcc_reserved; 159 GUID dbcc_classguid; 154 GUID dbcc_classguid; 160 char _dbcc_name; 155 char _dbcc_name; 161 char* dbcc_name() { return &_dbcc_name; } 156 char* dbcc_name() { return &_dbcc_name; }

Modified src/win32/dde.d from [958265cdfd657f8f] to [4b60b1e6f45bd956].

5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * by Stewart Gordon * 7 * by Stewart Gordon * 8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.dde; 11 module win32.dde; 12 pragma(lib, "user32.lib"); | 12 pragma(lib, "user32"); 13 13 14 private import win32.windef; 14 private import win32.windef; 15 15 16 enum : uint { 16 enum : uint { 17 WM_DDE_FIRST = 0x03E0, 17 WM_DDE_FIRST = 0x03E0, 18 WM_DDE_INITIATE = WM_DDE_FIRST, 18 WM_DDE_INITIATE = WM_DDE_FIRST, 19 WM_DDE_TERMINATE, 19 WM_DDE_TERMINATE, ................................................................................................................................................................................ 27 WM_DDE_LAST = WM_DDE_EXECUTE 27 WM_DDE_LAST = WM_DDE_EXECUTE 28 } 28 } 29 29 30 struct DDEACK { 30 struct DDEACK { 31 ubyte bAppReturnCode; 31 ubyte bAppReturnCode; 32 ubyte _bf; 32 ubyte _bf; 33 33 34 ubyte reserved() { return cast(ubyte) (_bf & 0x3F); } | 34 @property ubyte reserved() { return cast(ubyte) (_bf & 0x3F); } 35 bool fBusy() { return cast(bool) (_bf & 0x40); } | 35 @property bool fBusy() { return cast(bool) (_bf & 0x40); } 36 bool fAck() { return cast(bool) (_bf & 0x80); } | 36 @property bool fAck() { return cast(bool) (_bf & 0x80); } 37 37 38 ubyte reserved(ubyte r) { | 38 @property ubyte reserved(ubyte r) { 39 _bf = cast(ubyte) ((_bf & ~0x3F) | (r & 0x3F)); 39 _bf = cast(ubyte) ((_bf & ~0x3F) | (r & 0x3F)); 40 return cast(ubyte)(r & 0x3F); 40 return cast(ubyte)(r & 0x3F); 41 } 41 } 42 42 43 bool fBusy(bool f) { _bf = cast(ubyte) ((_bf & ~0x40) | (f << 6)); retur | 43 @property bool fBusy(bool f) { _bf = cast(ubyte) ((_bf & ~0x40) | (f << 44 bool fAck(bool f) { _bf = cast(ubyte) ((_bf & ~0x80) | (f << 7)); retur | 44 @property bool fAck(bool f) { _bf = cast(ubyte) ((_bf & ~0x80) | (f << 45 } 45 } 46 46 47 struct DDEADVISE { 47 struct DDEADVISE { 48 ushort _bf; 48 ushort _bf; 49 short cfFormat; 49 short cfFormat; 50 50 51 ushort reserved() { return cast(ushort) (_bf & 0x3FFF); } | 51 @property ushort reserved() { return cast(ushort) (_bf & 0x3FFF); } 52 bool fDeferUpd() { return cast(bool) (_bf & 0x4000); } | 52 @property bool fDeferUpd() { return cast(bool) (_bf & 0x4000); } 53 bool fAckReq() { return cast(bool) (_bf & 0x8000); } | 53 @property bool fAckReq() { return cast(bool) (_bf & 0x8000); } 54 54 55 ushort reserved(ushort r) { | 55 @property ushort reserved(ushort r) { 56 _bf = cast(ushort) ((_bf & ~0x3FFF) | (r & 0x3FFF)); 56 _bf = cast(ushort) ((_bf & ~0x3FFF) | (r & 0x3FFF)); 57 return cast(ushort)(r & 0x3FFF); 57 return cast(ushort)(r & 0x3FFF); 58 } 58 } 59 59 60 bool fDeferUpd(bool f) { _bf = cast(ushort) ((_bf & ~0x4000) | (f << 1 | 60 @property bool fDeferUpd(bool f) { _bf = cast(ushort) ((_bf & ~0x4000) 61 bool fAckReq(bool f) { _bf = cast(ushort) ((_bf & ~0x8000) | (f << 1 | 61 @property bool fAckReq(bool f) { _bf = cast(ushort) ((_bf & ~0x8000) 62 } 62 } 63 63 64 struct DDEDATA { 64 struct DDEDATA { 65 ushort _bf; 65 ushort _bf; 66 short cfFormat; 66 short cfFormat; 67 byte _Value; 67 byte _Value; 68 68 69 ushort unused() { return cast(ushort) (_bf & 0x0FFF); } | 69 @property ushort unused() { return cast(ushort) (_bf & 0x0FFF); } 70 bool fResponse() { return cast(bool) (_bf & 0x1000); } | 70 @property bool fResponse() { return cast(bool) (_bf & 0x1000); } 71 bool fRelease() { return cast(bool) (_bf & 0x2000); } | 71 @property bool fRelease() { return cast(bool) (_bf & 0x2000); } 72 bool reserved() { return cast(bool) (_bf & 0x4000); } | 72 @property bool reserved() { return cast(bool) (_bf & 0x4000); } 73 bool fAckReq() { return cast(bool) (_bf & 0x8000); } | 73 @property bool fAckReq() { return cast(bool) (_bf & 0x8000); } 74 74 75 byte* Value() { return &_Value; } | 75 @property byte* Value() { return &_Value; } 76 76 77 ushort unused(ushort r) { | 77 @property ushort unused(ushort r) { 78 _bf = cast(ushort) ((_bf & ~0x0FFF) | (r & 0x0FFF)); 78 _bf = cast(ushort) ((_bf & ~0x0FFF) | (r & 0x0FFF)); 79 return cast(ushort)(r & 0x0FFF); 79 return cast(ushort)(r & 0x0FFF); 80 } 80 } 81 81 82 bool fResponse(bool f) { _bf = cast(ushort) ((_bf & ~0x1000) | (f << 1 | 82 @property bool fResponse(bool f) { _bf = cast(ushort) ((_bf & ~0x1000) 83 bool fRelease(bool f) { _bf = cast(ushort) ((_bf & ~0x2000) | (f << 1 | 83 @property bool fRelease(bool f) { _bf = cast(ushort) ((_bf & ~0x2000) 84 bool reserved(bool f) { _bf = cast(ushort) ((_bf & ~0x4000) | (f << 1 | 84 @property bool reserved(bool f) { _bf = cast(ushort) ((_bf & ~0x4000) 85 bool fAckReq(bool f) { _bf = cast(ushort) ((_bf & ~0x8000) | (f << 1 | 85 @property bool fAckReq(bool f) { _bf = cast(ushort) ((_bf & ~0x8000) 86 } 86 } 87 87 88 struct DDEPOKE { 88 struct DDEPOKE { 89 ushort _bf; 89 ushort _bf; 90 short cfFormat; 90 short cfFormat; 91 byte _Value; 91 byte _Value; 92 92 93 ushort unused() { return cast(ushort) (_bf & 0x1FFF); } | 93 @property ushort unused() { return cast(ushort) (_bf & 0x1FFF); } 94 bool fRelease() { return cast(bool) (_bf & 0x2000); } | 94 @property bool fRelease() { return cast(bool) (_bf & 0x2000); } 95 ubyte fReserved() { return cast(ubyte) ((_bf & 0xC000) >>> 14); } | 95 @property ubyte fReserved() { return cast(ubyte) ((_bf & 0xC000) >>> 1 96 96 97 byte* Value() { return &_Value; } | 97 @property byte* Value() { return &_Value; } 98 98 99 ushort unused(ushort u) { | 99 @property ushort unused(ushort u) { 100 _bf = cast(ushort) ((_bf & ~0x1FFF) | (u & 0x1FFF)); 100 _bf = cast(ushort) ((_bf & ~0x1FFF) | (u & 0x1FFF)); 101 return cast(ushort)(u & 0x1FFF); 101 return cast(ushort)(u & 0x1FFF); 102 } 102 } 103 103 104 bool fRelease(bool f) { _bf = cast(ushort) ((_bf & ~0x2000) | (f << | 104 @property bool fRelease(bool f) { _bf = cast(ushort) ((_bf & ~0x2000 105 ubyte fReserved(ubyte r) { _bf = cast(ushort) ((_bf & ~0xC000) | (r << | 105 @property ubyte fReserved(ubyte r) { _bf = cast(ushort) ((_bf & ~0xC000 106 } 106 } 107 107 108 deprecated struct DDELN { 108 deprecated struct DDELN { 109 ushort _bf; 109 ushort _bf; 110 short cfFormat; 110 short cfFormat; 111 111 112 ushort unused() { return cast(ushort) (_bf & 0x1FFF); } | 112 @property ushort unused() { return cast(ushort) (_bf & 0x1FFF); } 113 bool fRelease() { return cast(bool) (_bf & 0x2000); } | 113 @property bool fRelease() { return cast(bool) (_bf & 0x2000); } 114 bool fDeferUpd() { return cast(bool) (_bf & 0x4000); } | 114 @property bool fDeferUpd() { return cast(bool) (_bf & 0x4000); } 115 bool fAckReq() { return cast(bool) (_bf & 0x8000); } | 115 @property bool fAckReq() { return cast(bool) (_bf & 0x8000); } 116 116 117 ushort unused(ushort u) { | 117 @property ushort unused(ushort u) { 118 _bf = cast(ushort)((_bf & ~0x1FFF) | (u & 0x1FFF)); 118 _bf = cast(ushort)((_bf & ~0x1FFF) | (u & 0x1FFF)); 119 return cast(ushort)(u & 0x1FFF); 119 return cast(ushort)(u & 0x1FFF); 120 } 120 } 121 121 122 bool fRelease(bool f) { _bf = cast(ushort) ((_bf & ~0x2000) | (f << 1 | 122 @property bool fRelease(bool f) { _bf = cast(ushort) ((_bf & ~0x2000) 123 bool fDeferUpd(bool f) { _bf = cast(ushort) ((_bf & ~0x4000) | (f << 1 | 123 @property bool fDeferUpd(bool f) { _bf = cast(ushort) ((_bf & ~0x4000) 124 bool fAckReq(bool f) { _bf = cast(ushort) ((_bf & ~0x8000) | (f << 1 | 124 @property bool fAckReq(bool f) { _bf = cast(ushort) ((_bf & ~0x8000) 125 } 125 } 126 126 127 deprecated struct DDEUP { 127 deprecated struct DDEUP { 128 ushort _bf; 128 ushort _bf; 129 short cfFormat; 129 short cfFormat; 130 byte _rgb; 130 byte _rgb; 131 131 132 ushort unused() { return cast(ushort) (_bf & 0x0FFF); } | 132 @property ushort unused() { return cast(ushort) (_bf & 0x0FFF); } 133 bool fAck() { return cast(bool) (_bf & 0x1000); } | 133 @property bool fAck() { return cast(bool) (_bf & 0x1000); } 134 bool fRelease() { return cast(bool) (_bf & 0x2000); } | 134 @property bool fRelease() { return cast(bool) (_bf & 0x2000); } 135 bool fReserved() { return cast(bool) (_bf & 0x4000); } | 135 @property bool fReserved() { return cast(bool) (_bf & 0x4000); } 136 bool fAckReq() { return cast(bool) (_bf & 0x8000); } | 136 @property bool fAckReq() { return cast(bool) (_bf & 0x8000); } 137 137 138 byte* rgb() { return &_rgb; } | 138 @property byte* rgb() { return &_rgb; } 139 139 140 ushort unused(ushort r) { | 140 @property ushort unused(ushort r) { 141 _bf = cast(ushort) ((_bf & ~0x0FFF) | (r & 0x0FFF)); 141 _bf = cast(ushort) ((_bf & ~0x0FFF) | (r & 0x0FFF)); 142 return cast(ushort)(r & 0x0FFF); 142 return cast(ushort)(r & 0x0FFF); 143 } 143 } 144 144 145 bool fAck(bool f) { _bf = cast(ushort) ((_bf & ~0x1000) | (f << 1 | 145 @property bool fAck(bool f) { _bf = cast(ushort) ((_bf & ~0x1000) 146 bool fRelease(bool f) { _bf = cast(ushort) ((_bf & ~0x2000) | (f << 1 | 146 @property bool fRelease(bool f) { _bf = cast(ushort) ((_bf & ~0x2000) 147 bool fReserved(bool f) { _bf = cast(ushort) ((_bf & ~0x4000) | (f << 1 | 147 @property bool fReserved(bool f) { _bf = cast(ushort) ((_bf & ~0x4000) 148 bool fAckReq(bool f) { _bf = cast(ushort) ((_bf & ~0x8000) | (f << 1 | 148 @property bool fAckReq(bool f) { _bf = cast(ushort) ((_bf & ~0x8000) 149 } 149 } 150 150 151 extern (Windows) { 151 extern (Windows) { 152 BOOL DdeSetQualityOfService(HWND, CPtr!(SECURITY_QUALITY_OF_SERVICE), | 152 BOOL DdeSetQualityOfService(HWND, const(SECURITY_QUALITY_OF_SERVICE)*, 153 PSECURITY_QUALITY_OF_SERVICE); 153 PSECURITY_QUALITY_OF_SERVICE); 154 BOOL ImpersonateDdeClientWindow(HWND, HWND); 154 BOOL ImpersonateDdeClientWindow(HWND, HWND); 155 LPARAM PackDDElParam(UINT, UINT_PTR, UINT_PTR); 155 LPARAM PackDDElParam(UINT, UINT_PTR, UINT_PTR); 156 BOOL UnpackDDElParam(UINT, LPARAM, PUINT_PTR, PUINT_PTR); 156 BOOL UnpackDDElParam(UINT, LPARAM, PUINT_PTR, PUINT_PTR); 157 BOOL FreeDDElParam(UINT, LPARAM); 157 BOOL FreeDDElParam(UINT, LPARAM); 158 LPARAM ReuseDDElParam(LPARAM, UINT, UINT, UINT_PTR, UINT_PTR); 158 LPARAM ReuseDDElParam(LPARAM, UINT, UINT, UINT_PTR, UINT_PTR); 159 } 159 }

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

5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * by Stewart Gordon * 7 * by Stewart Gordon * 8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.ddeml; 11 module win32.ddeml; 12 pragma(lib, "user32.lib"); | 12 pragma(lib, "user32"); 13 13 14 private import win32.basetsd, win32.windef, win32.winnt; 14 private import win32.basetsd, win32.windef, win32.winnt; 15 15 16 enum : int { 16 enum : int { 17 CP_WINANSI = 1004, 17 CP_WINANSI = 1004, 18 CP_WINUNICODE = 1200 18 CP_WINUNICODE = 1200 19 } 19 } ................................................................................................................................................................................ 185 enum : int { 185 enum : int { 186 MH_CREATE = 1, 186 MH_CREATE = 1, 187 MH_KEEP = 2, 187 MH_KEEP = 2, 188 MH_DELETE = 3, 188 MH_DELETE = 3, 189 MH_CLEANUP = 4 189 MH_CLEANUP = 4 190 } 190 } 191 191 192 alias HANDLE HCONVLIST, HCONV, HSZ, HDDEDATA; | 192 mixin DECLARE_HANDLE!("HCONVLIST"); > 193 mixin DECLARE_HANDLE!("HCONV"); > 194 mixin DECLARE_HANDLE!("HSZ"); > 195 mixin DECLARE_HANDLE!("HDDEDATA"); 193 196 194 extern (Windows) alias HDDEDATA 197 extern (Windows) alias HDDEDATA 195 function(UINT, UINT, HCONV, HSZ, HSZ, HDDEDATA, DWORD, DWORD) PFNCALLBACK; 198 function(UINT, UINT, HCONV, HSZ, HSZ, HDDEDATA, DWORD, DWORD) PFNCALLBACK; 196 199 197 struct HSZPAIR { 200 struct HSZPAIR { 198 HSZ hszSvc; 201 HSZ hszSvc; 199 HSZ hszTopic; 202 HSZ hszTopic; ................................................................................................................................................................................ 228 CONVCONTEXT ConvCtxt; 231 CONVCONTEXT ConvCtxt; 229 HWND hwnd; 232 HWND hwnd; 230 HWND hwndPartner; 233 HWND hwndPartner; 231 } 234 } 232 alias CONVINFO* PCONVINFO; 235 alias CONVINFO* PCONVINFO; 233 236 234 struct DDEML_MSG_HOOK_DATA { 237 struct DDEML_MSG_HOOK_DATA { 235 UINT uiLo; | 238 UINT_PTR uiLo; 236 UINT uiHi; | 239 UINT_PTR uiHi; 237 DWORD cbData; 240 DWORD cbData; 238 DWORD[8] Data; 241 DWORD[8] Data; 239 } 242 } 240 243 241 struct MONHSZSTRUCT { 244 struct MONHSZSTRUCT { 242 UINT cb = MONHSZSTRUCT.sizeof; 245 UINT cb = MONHSZSTRUCT.sizeof; 243 int fsAction; 246 int fsAction;

Modified src/win32/dhcpcsdk.d from [682f5c773e9d0f3b] to [ca4c8f50da03899c].

8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.dhcpcsdk; 11 module win32.dhcpcsdk; 12 12 13 private import win32.w32api, win32.windef; 13 private import win32.w32api, win32.windef; 14 14 15 static assert (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500, | 15 static assert (_WIN32_WINNT >= 0x500, 16 "win32.dhcpcsdk is available only if version WindowsXP, Windows2003 | 16 "win32.dhcpcsdk is available only if version Windows2000, WindowsXP, Windows2003 17 or WindowsVista is set, or both Windows2000 and WindowsNTonly are set"); | 17 or WindowsVista is set"); 18 18 19 //#if (_WIN32_WINNT >= 0x0500) | 19 //#if (_WIN32_WINNT >= 0x500) 20 20 21 // FIXME: check type 21 // FIXME: check type 22 const DHCPCAPI_REGISTER_HANDLE_EVENT = 1; 22 const DHCPCAPI_REGISTER_HANDLE_EVENT = 1; 23 const DHCPCAPI_REQUEST_PERSISTENT = 1; 23 const DHCPCAPI_REQUEST_PERSISTENT = 1; 24 const DHCPCAPI_REQUEST_SYNCHRONOUS = 2; 24 const DHCPCAPI_REQUEST_SYNCHRONOUS = 2; 25 25 26 struct DHCPCAPI_CLASSID { 26 struct DHCPCAPI_CLASSID { ................................................................................................................................................................................ 51 DWORD DhcpDeRegisterParamChange(DWORD, LPVOID, LPVOID); 51 DWORD DhcpDeRegisterParamChange(DWORD, LPVOID, LPVOID); 52 DWORD DhcpRegisterParamChange(DWORD, LPVOID, PWSTR, LPDHCPCAPI_CLASSID, 52 DWORD DhcpRegisterParamChange(DWORD, LPVOID, PWSTR, LPDHCPCAPI_CLASSID, 53 DHCPCAPI_PARAMS_ARRAY, LPVOID); 53 DHCPCAPI_PARAMS_ARRAY, LPVOID); 54 DWORD DhcpRemoveDNSRegistrations(); 54 DWORD DhcpRemoveDNSRegistrations(); 55 DWORD DhcpUndoRequestParams(DWORD, LPVOID, LPWSTR, LPWSTR); 55 DWORD DhcpUndoRequestParams(DWORD, LPVOID, LPWSTR, LPWSTR); 56 } 56 } 57 57 58 //#endif // (_WIN32_WINNT >= 0x0500) | 58 //#endif // (_WIN32_WINNT >= 0x500)

Added src/win32/directx/d3d10.d version [440959a663efe1fe]

> 1 /***********************************************************************\ > 2 * d3d10.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Placed into public domain * > 7 \***********************************************************************/ > 8 module win32.directx.d3d10; > 9 > 10 private import win32.windows; > 11 > 12 public import win32.directx.dxgitype; > 13 public import win32.directx.dxgi; > 14 public import win32.directx.d3d10misc; > 15 > 16 pragma(lib, "d3d10.lib"); > 17 > 18 const D3D10_16BIT_INDEX_STRIP_CUT_VALUE = 0xffff; > 19 const D3D10_32BIT_INDEX_STRIP_CUT_VALUE = 0xffffffff; > 20 const D3D10_8BIT_INDEX_STRIP_CUT_VALUE = 0xff; > 21 const D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = 9; > 22 const D3D10_CLIP_OR_CULL_DISTANCE_COUNT = 8; > 23 const D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = 2; > 24 const D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14; > 25 const D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4; > 26 const D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32; > 27 const D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = 15; > 28 const D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4; > 29 const D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15; > 30 const D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1; > 31 const D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1; > 32 const D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = 64; > 33 const D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4; > 34 const D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = 1; > 35 const D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1; > 36 const D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1; > 37 const D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = 32; > 38 const D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = 1; > 39 const D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = 128; > 40 const D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = 1; > 41 const D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = 1; > 42 const D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = 128; > 43 const D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = 1; > 44 const D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT = 16; > 45 const D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = 1; > 46 const D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = 1; > 47 const D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT = 16; > 48 const D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = 32; > 49 const D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS = 4; > 50 const D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = 32; > 51 const D3D10_COMMONSHADER_TEMP_REGISTER_COUNT = 4096; > 52 const D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = 3; > 53 const D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS = 3; > 54 const D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = 10; > 55 const D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = -10; > 56 const D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = -8; > 57 const D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = 7; > 58 const D3D10_DEFAULT_BLEND_FACTOR_ALPHA = 1.0f; > 59 const D3D10_DEFAULT_BLEND_FACTOR_BLUE = 1.0f; > 60 const D3D10_DEFAULT_BLEND_FACTOR_GREEN = 1.0f; > 61 const D3D10_DEFAULT_BLEND_FACTOR_RED = 1.0f; > 62 const D3D10_DEFAULT_BORDER_COLOR_COMPONENT = 0.0f; > 63 const D3D10_DEFAULT_DEPTH_BIAS = 0; > 64 const D3D10_DEFAULT_DEPTH_BIAS_CLAMP = 0.0f; > 65 const D3D10_DEFAULT_MAX_ANISOTROPY = 16.0f; > 66 const D3D10_DEFAULT_MIP_LOD_BIAS = 0.0f; > 67 const D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0; > 68 const D3D10_DEFAULT_SAMPLE_MASK = 0xffffffff; > 69 const D3D10_DEFAULT_SCISSOR_ENDX = 0; > 70 const D3D10_DEFAULT_SCISSOR_ENDY = 0; > 71 const D3D10_DEFAULT_SCISSOR_STARTX = 0; > 72 const D3D10_DEFAULT_SCISSOR_STARTY = 0; > 73 const D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS = 0.0f; > 74 const D3D10_DEFAULT_STENCIL_READ_MASK = 0xff; > 75 const D3D10_DEFAULT_STENCIL_REFERENCE = 0; > 76 const D3D10_DEFAULT_STENCIL_WRITE_MASK = 0xff; > 77 const D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0; > 78 const D3D10_DEFAULT_VIEWPORT_HEIGHT = 0; > 79 const D3D10_DEFAULT_VIEWPORT_MAX_DEPTH = 0.0f; > 80 const D3D10_DEFAULT_VIEWPORT_MIN_DEPTH = 0.0f; > 81 const D3D10_DEFAULT_VIEWPORT_TOPLEFTX = 0; > 82 const D3D10_DEFAULT_VIEWPORT_TOPLEFTY = 0; > 83 const D3D10_DEFAULT_VIEWPORT_WIDTH = 0; > 84 const D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP = 0.6; > 85 const D3D10_FLOAT32_MAX = 3.402823466e+38f; > 86 const D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP = 0.6f; > 87 const D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR = 2.4f; > 88 const D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR = 1.0f; > 89 const D3D10_FLOAT_TO_SRGB_OFFSET = 0.055f; > 90 const D3D10_FLOAT_TO_SRGB_SCALE_1 = 12.92f; > 91 const D3D10_FLOAT_TO_SRGB_SCALE_2 = 1.055f; > 92 const D3D10_FLOAT_TO_SRGB_THRESHOLD = 0.0031308f; > 93 const D3D10_FTOI_INSTRUCTION_MAX_INPUT = 2147483647.999f; > 94 const D3D10_FTOI_INSTRUCTION_MIN_INPUT = -2147483648.999f; > 95 const D3D10_FTOU_INSTRUCTION_MAX_INPUT = 4294967295.999f; > 96 const D3D10_FTOU_INSTRUCTION_MIN_INPUT = 0.0f; > 97 const D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS = 1; > 98 const D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT = 32; > 99 const D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT = 1; > 100 const D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST = 2; > 101 const D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS = 1; > 102 const D3D10_GS_INPUT_REGISTER_COMPONENTS = 4; > 103 const D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32; > 104 const D3D10_GS_INPUT_REGISTER_COUNT = 16; > 105 const D3D10_GS_INPUT_REGISTER_READS_PER_INST = 2; > 106 const D3D10_GS_INPUT_REGISTER_READ_PORTS = 1; > 107 const D3D10_GS_INPUT_REGISTER_VERTICES = 6; > 108 const D3D10_GS_OUTPUT_ELEMENTS = 32; > 109 const D3D10_GS_OUTPUT_REGISTER_COMPONENTS = 4; > 110 const D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32; > 111 const D3D10_GS_OUTPUT_REGISTER_COUNT = 32; > 112 const D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = 0; > 113 const D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY = 0; > 114 const D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = 0; > 115 const D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = 1; > 116 const D3D10_IA_INSTANCE_ID_BIT_COUNT = 32; > 117 const D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT = 32; > 118 const D3D10_IA_PRIMITIVE_ID_BIT_COUNT = 32; > 119 const D3D10_IA_VERTEX_ID_BIT_COUNT = 32; > 120 const D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 16; > 121 const D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = 64; > 122 const D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = 16; > 123 const D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT = 0xffffffff; > 124 const D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER = 0xffffffff; > 125 const D3D10_LINEAR_GAMMA = 1.0f; > 126 const D3D10_MAX_BORDER_COLOR_COMPONENT = 1.0f; > 127 const D3D10_MAX_DEPTH = 1.0f; > 128 const D3D10_MAX_MAXANISOTROPY = 16; > 129 const D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT = 32; > 130 const D3D10_MAX_POSITION_VALUE = 3.402823466e+34f; > 131 const D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP = 17; > 132 const D3D10_MIN_BORDER_COLOR_COMPONENT = 0.0f; > 133 const D3D10_MIN_DEPTH = 0.0f; > 134 const D3D10_MIN_MAXANISOTROPY = 0; > 135 const D3D10_MIP_LOD_BIAS_MAX = 15.99f; > 136 const D3D10_MIP_LOD_BIAS_MIN = -16.0f; > 137 const D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT = 6; > 138 const D3D10_MIP_LOD_RANGE_BIT_COUNT = 8; > 139 const D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH = 1.4f; > 140 const D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT = 0; > 141 const D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT = 13; > 142 const D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT = 15; > 143 const D3D10_PS_FRONTFACING_DEFAULT_VALUE = 0xffffffff; > 144 const D3D10_PS_FRONTFACING_FALSE_VALUE = 0; > 145 const D3D10_PS_FRONTFACING_TRUE_VALUE = 0xffffffff; > 146 const D3D10_PS_INPUT_REGISTER_COMPONENTS = 4; > 147 const D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32; > 148 const D3D10_PS_INPUT_REGISTER_COUNT = 32; > 149 const D3D10_PS_INPUT_REGISTER_READS_PER_INST = 2; > 150 const D3D10_PS_INPUT_REGISTER_READ_PORTS = 1; > 151 const D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.0f; > 152 const D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = 1; > 153 const D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = 32; > 154 const D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT = 1; > 155 const D3D10_PS_OUTPUT_REGISTER_COMPONENTS = 4; > 156 const D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32; > 157 const D3D10_PS_OUTPUT_REGISTER_COUNT = 8; > 158 const D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.5f; > 159 const D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT = 4096; > 160 const D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = 27; > 161 const D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096; > 162 const D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT = 4096; > 163 const D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 32; > 164 const D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = 32; > 165 const D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = 8192; > 166 const D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = 1024; > 167 const D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096; > 168 const D3D10_REQ_MAXANISOTROPY = 16; > 169 const D3D10_REQ_MIP_LEVELS = 14; > 170 const D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = 2048; > 171 const D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT = 4096; > 172 const D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = 8192; > 173 const D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES = 128; > 174 const D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP = 20; > 175 const D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT = 4096; > 176 const D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 512; > 177 const D3D10_REQ_TEXTURE1D_U_DIMENSION = 8192; > 178 const D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 512; > 179 const D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION = 8192; > 180 const D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048; > 181 const D3D10_REQ_TEXTURECUBE_DIMENSION = 8192; > 182 const D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0; > 183 const D3D10_SHADER_MAJOR_VERSION = 4; > 184 const D3D10_SHADER_MINOR_VERSION = 0; > 185 const D3D10_SHIFT_INSTRUCTION_PAD_VALUE = 0; > 186 const D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = 5; > 187 const D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT = 8; > 188 const D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048; > 189 const D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 256; > 190 const D3D10_SO_BUFFER_SLOT_COUNT = 4; > 191 const D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP = 0xffffffff; > 192 const D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER = 1; > 193 const D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT = 64; > 194 const D3D10_SRGB_GAMMA = 2.2f; > 195 const D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 = 12.92f; > 196 const D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 = 1.055f; > 197 const D3D10_SRGB_TO_FLOAT_EXPONENT = 2.4f; > 198 const D3D10_SRGB_TO_FLOAT_OFFSET = 0.055f; > 199 const D3D10_SRGB_TO_FLOAT_THRESHOLD = 0.04045f; > 200 const D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP = 0.5f; > 201 const D3D10_STANDARD_COMPONENT_BIT_COUNT = 32; > 202 const D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = 64; > 203 const D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4; > 204 const D3D10_STANDARD_PIXEL_COMPONENT_COUNT = 128; > 205 const D3D10_STANDARD_PIXEL_ELEMENT_COUNT = 32; > 206 const D3D10_STANDARD_VECTOR_SIZE = 4; > 207 const D3D10_STANDARD_VERTEX_ELEMENT_COUNT = 16; > 208 const D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = 64; > 209 const D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT = 8; > 210 const D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT = 6; > 211 const D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT = 18; > 212 const D3D10_UNBOUND_MEMORY_ACCESS_RESULT = 0; > 213 const D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15; > 214 const D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16; > 215 const D3D10_VIEWPORT_BOUNDS_MAX = 16383; > 216 const D3D10_VIEWPORT_BOUNDS_MIN = -16384; > 217 const D3D10_VS_INPUT_REGISTER_COMPONENTS = 4; > 218 const D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32; > 219 const D3D10_VS_INPUT_REGISTER_COUNT = 16; > 220 const D3D10_VS_INPUT_REGISTER_READS_PER_INST = 2; > 221 const D3D10_VS_INPUT_REGISTER_READ_PORTS = 1; > 222 const D3D10_VS_OUTPUT_REGISTER_COMPONENTS = 4; > 223 const D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32; > 224 const D3D10_VS_OUTPUT_REGISTER_COUNT = 16; > 225 const D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT = 10; > 226 const D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 25; > 227 const D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP = 25; > 228 const D3D_MAJOR_VERSION = 10; > 229 const D3D_MINOR_VERSION = 0; > 230 const D3D_SPEC_DATE_DAY = 8; > 231 const D3D_SPEC_DATE_MONTH = 8; > 232 const D3D_SPEC_DATE_YEAR = 2006; > 233 const D3D_SPEC_VERSION = 1.050005; > 234 > 235 const _FACD3D10 = 0x879; > 236 const _FACD3D10DEBUG = _FACD3D10 + 1; > 237 > 238 HRESULT MAKE_D3D10_HRESULT(T)(T code) { > 239 return MAKE_HRESULT(1, _FACD3D10, code); > 240 } > 241 > 242 HRESULT MAKE_D3D10_STATUS(T)(T code) { > 243 return MAKE_HRESULT(0, _FACD3D10, code); > 244 } > 245 > 246 const D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS = MAKE_D3D10_HRESULT(1); > 247 const D3D10_ERROR_FILE_NOT_FOUND = MAKE_D3D10_HRESULT(2); > 248 > 249 enum D3D10_INPUT_CLASSIFICATION { > 250 D3D10_INPUT_PER_VERTEX_DATA = 0, > 251 D3D10_INPUT_PER_INSTANCE_DATA = 1 > 252 } > 253 > 254 const D3D10_APPEND_ALIGNED_ELEMENT = 0xffffffff; > 255 > 256 struct D3D10_INPUT_ELEMENT_DESC { > 257 LPCSTR SemanticName; > 258 UINT SemanticIndex; > 259 DXGI_FORMAT Format; > 260 UINT InputSlot; > 261 UINT AlignedByteOffset; > 262 D3D10_INPUT_CLASSIFICATION InputSlotClass; > 263 UINT InstanceDataStepRate; > 264 } > 265 > 266 enum D3D10_FILL_MODE { > 267 D3D10_FILL_WIREFRAME = 2, > 268 D3D10_FILL_SOLID = 3 > 269 } > 270 > 271 enum D3D10_PRIMITIVE_TOPOLOGY { > 272 D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0, > 273 D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = 1, > 274 D3D10_PRIMITIVE_TOPOLOGY_LINELIST = 2, > 275 D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = 3, > 276 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4, > 277 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5, > 278 D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10, > 279 D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11, > 280 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12, > 281 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13 > 282 } > 283 > 284 enum D3D10_PRIMITIVE { > 285 D3D10_PRIMITIVE_UNDEFINED = 0, > 286 D3D10_PRIMITIVE_POINT = 1, > 287 D3D10_PRIMITIVE_LINE = 2, > 288 D3D10_PRIMITIVE_TRIANGLE = 3, > 289 D3D10_PRIMITIVE_LINE_ADJ = 6, > 290 D3D10_PRIMITIVE_TRIANGLE_ADJ = 7 > 291 } > 292 > 293 enum D3D10_CULL_MODE { > 294 D3D10_CULL_NONE = 1, > 295 D3D10_CULL_FRONT, > 296 D3D10_CULL_BACK > 297 } > 298 > 299 struct D3D10_SO_DECLARATION_ENTRY { > 300 LPCSTR SemanticName; > 301 UINT SemanticIndex; > 302 BYTE StartComponent; > 303 BYTE ComponentCount; > 304 BYTE OutputSlot; > 305 } > 306 > 307 struct D3D10_VIEWPORT { > 308 INT TopLeftX; > 309 INT TopLeftY; > 310 UINT Width; > 311 UINT Height; > 312 FLOAT MinDepth; > 313 FLOAT MaxDepth; > 314 } > 315 > 316 enum D3D10_RESOURCE_DIMENSION { > 317 D3D10_RESOURCE_DIMENSION_UNKNOWN = 0, > 318 D3D10_RESOURCE_DIMENSION_BUFFER, > 319 D3D10_RESOURCE_DIMENSION_TEXTURE1D, > 320 D3D10_RESOURCE_DIMENSION_TEXTURE2D, > 321 D3D10_RESOURCE_DIMENSION_TEXTURE3D > 322 } > 323 > 324 enum D3D10_SRV_DIMENSION { > 325 D3D10_SRV_DIMENSION_UNKNOWN = 0, > 326 D3D10_SRV_DIMENSION_BUFFER, > 327 D3D10_SRV_DIMENSION_TEXTURE1D, > 328 D3D10_SRV_DIMENSION_TEXTURE1DARRAY, > 329 D3D10_SRV_DIMENSION_TEXTURE2D, > 330 D3D10_SRV_DIMENSION_TEXTURE2DARRAY, > 331 D3D10_SRV_DIMENSION_TEXTURE2DMS, > 332 D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY, > 333 D3D10_SRV_DIMENSION_TEXTURE3D, > 334 D3D10_SRV_DIMENSION_TEXTURECUBE > 335 } > 336 > 337 enum D3D10_DSV_DIMENSION { > 338 D3D10_DSV_DIMENSION_UNKNOWN = 0, > 339 D3D10_DSV_DIMENSION_TEXTURE1D, > 340 D3D10_DSV_DIMENSION_TEXTURE1DARRAY, > 341 D3D10_DSV_DIMENSION_TEXTURE2D, > 342 D3D10_DSV_DIMENSION_TEXTURE2DARRAY, > 343 D3D10_DSV_DIMENSION_TEXTURE2DMS, > 344 D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY6 > 345 } > 346 > 347 enum D3D10_RTV_DIMENSION { > 348 D3D10_RTV_DIMENSION_UNKNOWN = 0, > 349 D3D10_RTV_DIMENSION_BUFFER, > 350 D3D10_RTV_DIMENSION_TEXTURE1D, > 351 D3D10_RTV_DIMENSION_TEXTURE1DARRAY, > 352 D3D10_RTV_DIMENSION_TEXTURE2D, > 353 D3D10_RTV_DIMENSION_TEXTURE2DARRAY, > 354 D3D10_RTV_DIMENSION_TEXTURE2DMS, > 355 D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY, > 356 D3D10_RTV_DIMENSION_TEXTURE3D > 357 } > 358 > 359 enum D3D10_USAGE { > 360 D3D10_USAGE_DEFAULT = 0, > 361 D3D10_USAGE_IMMUTABLE, > 362 D3D10_USAGE_DYNAMIC, > 363 D3D10_USAGE_STAGING > 364 } > 365 > 366 enum D3D10_BIND_FLAG { > 367 D3D10_BIND_VERTEX_BUFFER = 0x01, > 368 D3D10_BIND_INDEX_BUFFER = 0x02, > 369 D3D10_BIND_CONSTANT_BUFFER = 0x04, > 370 D3D10_BIND_SHADER_RESOURCE = 0x08, > 371 D3D10_BIND_STREAM_OUTPUT = 0x10, > 372 D3D10_BIND_RENDER_TARGET = 0x20, > 373 D3D10_BIND_DEPTH_STENCIL = 0x40 > 374 } > 375 > 376 enum D3D10_CPU_ACCESS_FLAG { > 377 D3D10_CPU_ACCESS_WRITE = 0x10000, > 378 D3D10_CPU_ACCESS_READ = 0x20000 > 379 } > 380 > 381 enum D3D10_RESOURCE_MISC_FLAG { > 382 D3D10_RESOURCE_MISC_GENERATE_MIPS = 0x01, > 383 D3D10_RESOURCE_MISC_SHARED = 0x02, > 384 D3D10_RESOURCE_MISC_TEXTURECUBE = 0x04 > 385 } > 386 > 387 enum D3D10_MAP { > 388 D3D10_MAP_READ = 1, > 389 D3D10_MAP_WRITE, > 390 D3D10_MAP_READ_WRITE, > 391 D3D10_MAP_WRITE_DISCARD, > 392 D3D10_MAP_WRITE_NO_OVERWRITE > 393 } > 394 > 395 enum D3D10_MAP_FLAG { > 396 D3D10_MAP_FLAG_DO_NOT_WAIT = 0x100000 > 397 } > 398 > 399 enum D3D10_RAISE_FLAG { > 400 D3D10_RAISE_FLAG_DRIVER_INTERNAL_ERROR = 0x01 > 401 } > 402 > 403 enum D3D10_CLEAR_FLAG { > 404 D3D10_CLEAR_DEPTH = 0x01, > 405 D3D10_CLEAR_STENCIL = 0x02 > 406 } > 407 > 408 alias RECT D3D10_RECT; > 409 > 410 struct D3D10_BOX { > 411 UINT left; > 412 UINT top; > 413 UINT front; > 414 UINT right; > 415 UINT bottom; > 416 UINT back; > 417 } > 418 > 419 extern (Windows) interface ID3D10DeviceChild : IUnknown { > 420 //extern(Windows) : > 421 void GetDevice(ID3D10Device* ppDevice); > 422 HRESULT GetPrivateData(REFGUID guid, UINT *pDataSize, void *pData); > 423 HRESULT SetPrivateData(REFGUID guid, UINT DataSize, void *pData); > 424 HRESULT SetPrivateDataInterface(REFGUID guid, IUnknown pData); > 425 } > 426 > 427 enum D3D10_COMPARISON_FUNC { > 428 D3D10_COMPARISON_NEVER = 1, > 429 D3D10_COMPARISON_LESS, > 430 D3D10_COMPARISON_EQUAL, > 431 D3D10_COMPARISON_LESS_EQUAL, > 432 D3D10_COMPARISON_GREATER, > 433 D3D10_COMPARISON_NOT_EQUAL, > 434 D3D10_COMPARISON_GREATER_EQUAL, > 435 D3D10_COMPARISON_ALWAYS > 436 } > 437 > 438 enum D3D10_DEPTH_WRITE_MASK { > 439 D3D10_DEPTH_WRITE_MASK_ZERO = 0, > 440 D3D10_DEPTH_WRITE_MASK_ALL > 441 } > 442 > 443 enum D3D10_STENCIL_OP { > 444 D3D10_STENCIL_OP_KEEP = 1, > 445 D3D10_STENCIL_OP_ZERO, > 446 D3D10_STENCIL_OP_REPLACE, > 447 D3D10_STENCIL_OP_INCR_SAT, > 448 D3D10_STENCIL_OP_DECR_SAT, > 449 D3D10_STENCIL_OP_INVERT, > 450 D3D10_STENCIL_OP_INCR, > 451 D3D10_STENCIL_OP_DECR > 452 } > 453 > 454 struct D3D10_DEPTH_STENCILOP_DESC { > 455 D3D10_STENCIL_OP StencilFailOp; > 456 D3D10_STENCIL_OP StencilDepthFailOp; > 457 D3D10_STENCIL_OP StencilPassOp; > 458 D3D10_COMPARISON_FUNC StencilFunc; > 459 } > 460 > 461 struct D3D10_DEPTH_STENCIL_DESC { > 462 BOOL DepthEnable; > 463 D3D10_DEPTH_WRITE_MASK DepthWriteMask; > 464 D3D10_COMPARISON_FUNC DepthFunc; > 465 BOOL StencilEnable; > 466 UINT8 StencilReadMask; > 467 UINT8 StencilWriteMask; > 468 D3D10_DEPTH_STENCILOP_DESC FrontFace; > 469 D3D10_DEPTH_STENCILOP_DESC BackFace; > 470 } > 471 > 472 interface ID3D10DepthStencilState : ID3D10DeviceChild { > 473 extern(Windows) : > 474 void GetDesc(D3D10_DEPTH_STENCIL_DESC *pDesc); > 475 } > 476 > 477 enum D3D10_BLEND { > 478 D3D10_BLEND_ZERO = 1, > 479 D3D10_BLEND_ONE = 2, > 480 D3D10_BLEND_SRC_COLOR = 3, > 481 D3D10_BLEND_INV_SRC_COLOR = 4, > 482 D3D10_BLEND_SRC_ALPHA = 5, > 483 D3D10_BLEND_INV_SRC_ALPHA = 6, > 484 D3D10_BLEND_DEST_ALPHA = 7, > 485 D3D10_BLEND_INV_DEST_ALPHA = 8, > 486 D3D10_BLEND_DEST_COLOR = 9, > 487 D3D10_BLEND_INV_DEST_COLOR = 10, > 488 D3D10_BLEND_SRC_ALPHA_SAT = 11, > 489 D3D10_BLEND_BLEND_FACTOR = 14, > 490 D3D10_BLEND_INV_BLEND_FACTOR = 15, > 491 D3D10_BLEND_SRC1_COLOR = 16, > 492 D3D10_BLEND_INV_SRC1_COLOR = 17, > 493 D3D10_BLEND_SRC1_ALPHA = 18, > 494 D3D10_BLEND_INV_SRC1_ALPHA = 19 > 495 } > 496 > 497 enum D3D10_BLEND_OP { > 498 D3D10_BLEND_OP_ADD = 1, > 499 D3D10_BLEND_OP_SUBTRACT, > 500 D3D10_BLEND_OP_REV_SUBTRACT, > 501 D3D10_BLEND_OP_MIN, > 502 D3D10_BLEND_OP_MAX > 503 } > 504 > 505 enum D3D10_COLOR_WRITE_ENABLE { > 506 D3D10_COLOR_WRITE_ENABLE_RED = 1, > 507 D3D10_COLOR_WRITE_ENABLE_GREEN = 2, > 508 D3D10_COLOR_WRITE_ENABLE_BLUE = 4, > 509 D3D10_COLOR_WRITE_ENABLE_ALPHA = 8, > 510 D3D10_COLOR_WRITE_ENABLE_ALL = (((D3D10_COLOR_WRITE_ENABLE_RED | D3D1 > 511 } > 512 > 513 struct D3D10_BLEND_DESC { > 514 BOOL AlphaToCoverageEnable; > 515 BOOL[8] BlendEnable; > 516 D3D10_BLEND SrcBlend; > 517 D3D10_BLEND DestBlend; > 518 D3D10_BLEND_OP BlendOp; > 519 D3D10_BLEND SrcBlendAlpha; > 520 D3D10_BLEND DestBlendAlpha; > 521 D3D10_BLEND_OP BlendOpAlpha; > 522 UINT8[8] RenderTargetWriteMask; > 523 } > 524 > 525 interface ID3D10BlendState : ID3D10DeviceChild { > 526 extern(Windows) : > 527 void GetDesc(D3D10_BLEND_DESC *pDesc); > 528 } > 529 > 530 struct D3D10_RASTERIZER_DESC { > 531 D3D10_FILL_MODE FillMode; > 532 D3D10_CULL_MODE CullMode; > 533 BOOL FrontCounterClockwise; > 534 INT DepthBias; > 535 FLOAT DepthBiasClamp; > 536 FLOAT SlopeScaledDepthBias; > 537 BOOL DepthClipEnable; > 538 BOOL ScissorEnable; > 539 BOOL MultisampleEnable; > 540 BOOL AntialiasedLineEnable; > 541 } > 542 > 543 interface ID3D10RasterizerState : ID3D10DeviceChild { > 544 extern(Windows) : > 545 void GetDesc(D3D10_RASTERIZER_DESC *pDesc); > 546 } > 547 > 548 UINT D3D10CalcSubresource(UINT MipSlice, UINT ArraySlice, UINT MipLevels) { > 549 return MipSlice + ArraySlice * MipLevels; > 550 } > 551 > 552 struct D3D10_SUBRESOURCE_DATA { > 553 void *pSysMem; > 554 UINT SysMemPitch; > 555 UINT SysMemSlicePitch; > 556 } > 557 > 558 interface ID3D10Resource : ID3D10DeviceChild { > 559 extern(Windows) : > 560 void GetType(D3D10_RESOURCE_DIMENSION *rType); > 561 void SetEvictionPriority(UINT EvictionPriority); > 562 UINT GetEvictionPriority(); > 563 } > 564 > 565 struct D3D10_BUFFER_DESC { > 566 UINT ByteWidth; > 567 D3D10_USAGE Usage; > 568 UINT BindFlags; > 569 UINT CPUAccessFlags; > 570 UINT MiscFlags; > 571 } > 572 > 573 interface ID3D10Buffer : ID3D10Resource { > 574 extern(Windows) : > 575 HRESULT Map(D3D10_MAP MapType, UINT MapFlags, void **ppData); > 576 void Unmap(); > 577 void GetDesc(D3D10_BUFFER_DESC *pDesc); > 578 } > 579 > 580 struct D3D10_TEXTURE1D_DESC { > 581 UINT Width; > 582 UINT MipLevels; > 583 UINT ArraySize; > 584 DXGI_FORMAT Format; > 585 D3D10_USAGE Usage; > 586 UINT BindFlags; > 587 UINT CPUAccessFlags; > 588 UINT MiscFlags; > 589 } > 590 > 591 interface ID3D10Texture1D : ID3D10Resource { > 592 extern(Windows) : > 593 HRESULT Map(UINT Subresource, D3D10_MAP MapType, UINT MapFlags, void **p > 594 void Unmap(UINT Subresource); > 595 void GetDesc(D3D10_TEXTURE1D_DESC *pDesc); > 596 } > 597 > 598 struct D3D10_TEXTURE2D_DESC { > 599 UINT Width; > 600 UINT Height; > 601 UINT MipLevels; > 602 UINT ArraySize; > 603 DXGI_FORMAT Format; > 604 DXGI_SAMPLE_DESC SampleDesc; > 605 D3D10_USAGE Usage; > 606 UINT BindFlags; > 607 UINT CPUAccessFlags; > 608 UINT MiscFlags; > 609 } > 610 > 611 struct D3D10_MAPPED_TEXTURE2D { > 612 void *pData; > 613 UINT RowPitch; > 614 } > 615 > 616 interface ID3D10Texture2D : ID3D10Resource { > 617 extern(Windows) : > 618 HRESULT Map(UINT Subresource, D3D10_MAP MapType, UINT MapFlags, D3D10_MA > 619 void Unmap(UINT Subresource); > 620 void GetDesc(D3D10_TEXTURE2D_DESC *pDesc); > 621 } > 622 > 623 struct D3D10_TEXTURE3D_DESC { > 624 UINT Width; > 625 UINT Height; > 626 UINT Depth; > 627 UINT MipLevels; > 628 DXGI_FORMAT Format; > 629 D3D10_USAGE Usage; > 630 UINT BindFlags; > 631 UINT CPUAccessFlags; > 632 UINT MiscFlags; > 633 } > 634 > 635 struct D3D10_MAPPED_TEXTURE3D { > 636 void *pData; > 637 UINT RowPitch; > 638 UINT DepthPitch; > 639 } > 640 > 641 interface ID3D10Texture3D : ID3D10Resource { > 642 extern(Windows) : > 643 HRESULT Map(UINT Subresource, D3D10_MAP MapType, UINT MapFlags, D3D10_MA > 644 void Unmap(UINT Subresource); > 645 void GetDesc(D3D10_TEXTURE3D_DESC *pDesc); > 646 } > 647 > 648 enum D3D10_TEXTURECUBE_FACE { > 649 D3D10_TEXTURECUBE_FACE_POSITIVE_X = 0, > 650 D3D10_TEXTURECUBE_FACE_NEGATIVE_X, > 651 D3D10_TEXTURECUBE_FACE_POSITIVE_Y, > 652 D3D10_TEXTURECUBE_FACE_NEGATIVE_Y, > 653 D3D10_TEXTURECUBE_FACE_POSITIVE_Z, > 654 D3D10_TEXTURECUBE_FACE_NEGATIVE_Z > 655 } > 656 > 657 interface ID3D10View : ID3D10DeviceChild { > 658 extern(Windows) : > 659 void GetResource(ID3D10Resource *ppResource); > 660 } > 661 > 662 struct D3D10_BUFFER_SRV { > 663 UINT ElementOffset; > 664 UINT ElementWidth; > 665 } > 666 > 667 struct D3D10_TEX1D_SRV { > 668 UINT MostDetailedMip; > 669 UINT MipLevels; > 670 } > 671 > 672 struct D3D10_TEX1D_ARRAY_SRV { > 673 UINT MostDetailedMip; > 674 UINT MipLevels; > 675 UINT FirstArraySlice; > 676 UINT ArraySize; > 677 } > 678 > 679 struct D3D10_TEX2D_SRV { > 680 UINT MostDetailedMip; > 681 UINT MipLevels; > 682 } > 683 > 684 struct D3D10_TEX2D_ARRAY_SRV { > 685 UINT MostDetailedMip; > 686 UINT MipLevels; > 687 UINT FirstArraySlice; > 688 UINT ArraySize; > 689 } > 690 > 691 struct D3D10_TEX3D_SRV { > 692 UINT MostDetailedMip; > 693 UINT MipLevels; > 694 } > 695 > 696 struct D3D10_TEXCUBE_SRV { > 697 UINT MostDetailedMip; > 698 UINT MipLevels; > 699 } > 700 > 701 struct D3D10_TEX2DMS_SRV { > 702 UINT UnusedField_NothingToDefine; > 703 } > 704 > 705 struct D3D10_TEX2DMS_ARRAY_SRV { > 706 UINT FirstArraySlice; > 707 UINT ArraySize; > 708 } > 709 > 710 struct D3D10_SHADER_RESOURCE_VIEW_DESC { > 711 DXGI_FORMAT Format; > 712 D3D10_SRV_DIMENSION ViewDimension; > 713 union { > 714 D3D10_BUFFER_SRV Buffer; > 715 D3D10_TEX1D_SRV Texture1D; > 716 D3D10_TEX1D_ARRAY_SRV Texture1DArray; > 717 D3D10_TEX2D_SRV Texture2D; > 718 D3D10_TEX2D_ARRAY_SRV Texture2DArray; > 719 D3D10_TEX2DMS_SRV Texture2DMS; > 720 D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray; > 721 D3D10_TEX3D_SRV Texture3D; > 722 D3D10_TEXCUBE_SRV TextureCube; > 723 } > 724 } > 725 > 726 interface ID3D10ShaderResourceView : ID3D10View { > 727 extern(Windows) : > 728 void GetDesc(D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc); > 729 } > 730 > 731 struct D3D10_BUFFER_RTV { > 732 UINT ElementOffset; > 733 UINT ElementWidth; > 734 } > 735 > 736 struct D3D10_TEX1D_RTV { > 737 UINT MipSlice; > 738 } > 739 > 740 struct D3D10_TEX1D_ARRAY_RTV { > 741 UINT MipSlice; > 742 UINT FirstArraySlice; > 743 UINT ArraySize; > 744 } > 745 > 746 struct D3D10_TEX2D_RTV { > 747 UINT MipSlice; > 748 } > 749 > 750 struct D3D10_TEX2DMS_RTV { > 751 UINT UnusedField_NothingToDefine; > 752 } > 753 > 754 struct D3D10_TEX2D_ARRAY_RTV { > 755 UINT MipSlice; > 756 UINT FirstArraySlice; > 757 UINT ArraySize; > 758 } > 759 > 760 struct D3D10_TEX2DMS_ARRAY_RTV { > 761 UINT FirstArraySlice; > 762 UINT ArraySize; > 763 } > 764 > 765 struct D3D10_TEX3D_RTV { > 766 UINT MipSlice; > 767 UINT FirstWSlice; > 768 UINT WSize; > 769 } > 770 > 771 struct D3D10_RENDER_TARGET_VIEW_DESC { > 772 DXGI_FORMAT Format; > 773 D3D10_RTV_DIMENSION ViewDimension; > 774 union { > 775 D3D10_BUFFER_RTV Buffer; > 776 D3D10_TEX1D_RTV Texture1D; > 777 D3D10_TEX1D_ARRAY_RTV Texture1DArray; > 778 D3D10_TEX2D_RTV Texture2D; > 779 D3D10_TEX2D_ARRAY_RTV Texture2DArray; > 780 D3D10_TEX2DMS_RTV Texture2DMS; > 781 D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray; > 782 D3D10_TEX3D_RTV Texture3D; > 783 } > 784 } > 785 > 786 interface ID3D10RenderTargetView : ID3D10View { > 787 extern(Windows) : > 788 void GetDesc(D3D10_RENDER_TARGET_VIEW_DESC *pDesc); > 789 } > 790 > 791 struct D3D10_TEX1D_DSV { > 792 UINT MipSlice; > 793 } > 794 > 795 struct D3D10_TEX1D_ARRAY_DSV { > 796 UINT MipSlice; > 797 UINT FirstArraySlice; > 798 UINT ArraySize; > 799 } > 800 > 801 struct D3D10_TEX2D_DSV { > 802 UINT MipSlice; > 803 } > 804 > 805 struct D3D10_TEX2D_ARRAY_DSV { > 806 UINT MipSlice; > 807 UINT FirstArraySlice; > 808 UINT ArraySize; > 809 } > 810 > 811 struct D3D10_TEX2DMS_DSV { > 812 UINT UnusedField_NothingToDefine; > 813 } > 814 > 815 struct D3D10_TEX2DMS_ARRAY_DSV { > 816 UINT FirstArraySlice; > 817 UINT ArraySize; > 818 } > 819 > 820 struct D3D10_DEPTH_STENCIL_VIEW_DESC { > 821 DXGI_FORMAT Format; > 822 D3D10_DSV_DIMENSION ViewDimension; > 823 union { > 824 D3D10_TEX1D_DSV Texture1D; > 825 D3D10_TEX1D_ARRAY_DSV Texture1DArray; > 826 D3D10_TEX2D_DSV Texture2D; > 827 D3D10_TEX2D_ARRAY_DSV Texture2DArray; > 828 D3D10_TEX2DMS_DSV Texture2DMS; > 829 D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray; > 830 } > 831 } > 832 > 833 interface ID3D10DepthStencilView : ID3D10View { > 834 extern(Windows) : > 835 void GetDesc(D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc); > 836 } > 837 > 838 interface ID3D10VertexShader : ID3D10DeviceChild { } > 839 > 840 interface ID3D10GeometryShader : ID3D10DeviceChild { } > 841 > 842 interface ID3D10PixelShader : ID3D10DeviceChild { } > 843 > 844 interface ID3D10InputLayout : ID3D10DeviceChild { } > 845 > 846 enum D3D10_FILTER { > 847 D3D10_FILTER_MIN_MAG_MIP_POINT > 848 D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR > 849 D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT > 850 D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR > 851 D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT > 852 D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11, > 853 D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT > 854 D3D10_FILTER_MIN_MAG_MIP_LINEAR > 855 D3D10_FILTER_ANISOTROPIC > 856 D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT > 857 D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81, > 858 D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84, > 859 D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85, > 860 D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90, > 861 D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91, > 862 D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94, > 863 D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR > 864 D3D10_FILTER_COMPARISON_ANISOTROPIC > 865 D3D10_FILTER_TEXT_1BIT > 866 } > 867 > 868 > 869 enum D3D10_FILTER_TYPE { > 870 D3D10_FILTER_TYPE_POINT = 0, > 871 D3D10_FILTER_TYPE_LINEAR > 872 } > 873 > 874 const D3D10_FILTER_TYPE_MASK = 0x03; > 875 > 876 const D3D10_MIN_FILTER_SHIFT = 4; > 877 > 878 const D3D10_MAG_FILTER_SHIFT = 2; > 879 > 880 const D3D10_MIP_FILTER_SHIFT = 0; > 881 > 882 const D3D10_COMPARISON_FILTERING_BIT = 0x80; > 883 > 884 const D3D10_ANISOTROPIC_FILTERING_BIT = 0x40; > 885 > 886 const D3D10_TEXT_1BIT_BIT = 0x80000000; > 887 > 888 D3D10_FILTER D3D10_ENCODE_BASIC_FILTER(int min, int mag, int mip, bool bComparis > 889 return cast(D3D10_FILTER)(((bComparison) ? D3D10_COMPARISON_FILTERING_BI > 890 ((min & D3D10_FILTER_TYPE_MASK) << D3D10_MIN_FILTER_SHIFT) | > 891 ((mag & D3D10_FILTER_TYPE_MASK) << D3D10_MAG_FILTER_SHIFT) | > 892 ((mip & D3D10_FILTER_TYPE_MASK) << D3D10_MIP_FILTER_SHIFT)); > 893 } > 894 > 895 D3D10_FILTER D3D10_ENCODE_ANISOTROPIC_FILTER(bool bComparison) { > 896 return cast(D3D10_FILTER)(D3D10_ANISOTROPIC_FILTERING_BIT | > 897 D3D10_ENCODE_BASIC_FILTER(D3D10_FILTER_TYPE.D3D10_FILTER_TYPE_LI > 898 D3D10_FILTER_TYPE.D3D10_FILTER_TYPE_LINEAR, D3D10_FILTER > 899 bComparison)); > 900 } > 901 > 902 D3D10_FILTER_TYPE D3D10_DECODE_MIN_FILTER(D3D10_FILTER d3d10Filter) { > 903 return cast(D3D10_FILTER_TYPE)((d3d10Filter >> D3D10_MIN_FILTER_SHIFT) & > 904 } > 905 > 906 D3D10_FILTER_TYPE D3D10_DECODE_MAG_FILTER(D3D10_FILTER d3d10Filter) { > 907 return cast(D3D10_FILTER_TYPE)((d3d10Filter >> D3D10_MAG_FILTER_SHIFT) & > 908 } > 909 > 910 D3D10_FILTER_TYPE D3D10_DECODE_MIP_FILTER(D3D10_FILTER d3d10Filter) { > 911 return cast(D3D10_FILTER_TYPE)((d3d10Filter >> D3D10_MIP_FILTER_SHIFT) & > 912 } > 913 > 914 bool D3D10_DECODE_IS_COMPARISON_FILTER(D3D10_FILTER d3d10Filter) { > 915 return (d3d10Filter & D3D10_COMPARISON_FILTERING_BIT) == D3D10_COMPARISO > 916 } > 917 > 918 bool D3D10_DECODE_IS_ANISOTROPIC_FILTER(D3D10_FILTER d3d10Filter) { > 919 return ((d3d10Filter & D3D10_ANISOTROPIC_FILTERING_BIT) && > 920 (D3D10_FILTER_TYPE.D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MIN_F > 921 (D3D10_FILTER_TYPE.D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MAG_F > 922 (D3D10_FILTER_TYPE.D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MIP_F > 923 } > 924 > 925 bool D3D10_DECODE_IS_TEXT_1BIT_FILTER(D3D10_FILTER d3d10Filter) { > 926 return d3d10Filter == D3D10_TEXT_1BIT_BIT; > 927 } > 928 > 929 enum D3D10_TEXTURE_ADDRESS_MODE { > 930 D3D10_TEXTURE_ADDRESS_WRAP = 1, > 931 D3D10_TEXTURE_ADDRESS_MIRROR, > 932 D3D10_TEXTURE_ADDRESS_CLAMP, > 933 D3D10_TEXTURE_ADDRESS_BORDER, > 934 D3D10_TEXTURE_ADDRESS_MIRROR_ONCE > 935 } > 936 > 937 struct D3D10_SAMPLER_DESC { > 938 D3D10_FILTER Filter; > 939 D3D10_TEXTURE_ADDRESS_MODE AddressU; > 940 D3D10_TEXTURE_ADDRESS_MODE AddressV; > 941 D3D10_TEXTURE_ADDRESS_MODE AddressW; > 942 FLOAT MipLODBias; > 943 UINT MaxAnisotropy; > 944 D3D10_COMPARISON_FUNC ComparisonFunc; > 945 FLOAT[4] BorderColor; > 946 FLOAT MinLOD; > 947 FLOAT MaxLOD; > 948 } > 949 > 950 interface ID3D10SamplerState : ID3D10DeviceChild { > 951 extern(Windows) : > 952 void GetDesc(D3D10_SAMPLER_DESC *pDesc); > 953 } > 954 > 955 enum D3D10_FORMAT_SUPPORT { > 956 D3D10_FORMAT_SUPPORT_BUFFER > 957 D3D10_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x000002, > 958 D3D10_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x000004, > 959 D3D10_FORMAT_SUPPORT_SO_BUFFER = 0x0000 > 960 D3D10_FORMAT_SUPPORT_TEXTURE1D = 0x0000 > 961 D3D10_FORMAT_SUPPORT_TEXTURE2D = 0x0000 > 962 D3D10_FORMAT_SUPPORT_TEXTURE3D = 0x0000 > 963 D3D10_FORMAT_SUPPORT_TEXTURECUBE = 0x0000 > 964 D3D10_FORMAT_SUPPORT_SHADER_LOAD = 0x0001 > 965 D3D10_FORMAT_SUPPORT_SHADER_SAMPLE = 0x0002 > 966 D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x000400, > 967 D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x000800, > 968 D3D10_FORMAT_SUPPORT_MIP > 969 D3D10_FORMAT_SUPPORT_MIP_AUTOGEN = 0x0020 > 970 D3D10_FORMAT_SUPPORT_RENDER_TARGET = 0x0040 > 971 D3D10_FORMAT_SUPPORT_BLENDABLE = 0x0080 > 972 D3D10_FORMAT_SUPPORT_DEPTH_STENCIL = 0x0100 > 973 D3D10_FORMAT_SUPPORT_CPU_LOCKABLE = 0x0200 > 974 D3D10_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x040000, > 975 D3D10_FORMAT_SUPPORT_DISPLAY = 0x0800 > 976 D3D10_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x100000, > 977 D3D10_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x200000, > 978 D3D10_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x400000, > 979 D3D10_FORMAT_SUPPORT_SHADER_GATHER = 0x8000 > 980 } > 981 > 982 interface ID3D10Asynchronous : ID3D10DeviceChild { > 983 extern(Windows) : > 984 void Begin(); > 985 void End(); > 986 HRESULT GetData(void *pData, UINT DataSize, UINT GetDataFlags); > 987 UINT GetDataSize(); > 988 } > 989 > 990 enum D3D10_ASYNC_GETDATA_FLAG { > 991 D3D10_ASYNC_GETDATA_DONOTFLUSH = 0x1 > 992 } > 993 > 994 enum D3D10_QUERY { > 995 D3D10_QUERY_EVENT = 0, > 996 D3D10_QUERY_OCCLUSION = (D3D10_QUERY_EVENT + 1 > 997 D3D10_QUERY_TIMESTAMP = (D3D10_QUERY_OCCLUSION > 998 D3D10_QUERY_TIMESTAMP_DISJOINT = (D3D10_QUERY_TIMESTAMP + 1), > 999 D3D10_QUERY_PIPELINE_STATISTICS = (D3D10_QUERY_TIMESTAMP_DISJOIN > 1000 D3D10_QUERY_OCCLUSION_PREDICATE = (D3D10_QUERY_PIPELINE_STATISTI > 1001 D3D10_QUERY_SO_STATISTICS = (D3D10_QUERY_OCCLUSION > 1002 D3D10_QUERY_SO_OVERFLOW_PREDICATE = (D3D10_QUERY_SO_STATISTICS + 1 > 1003 } > 1004 > 1005 enum D3D10_QUERY_MISC_FLAG { > 1006 D3D10_QUERY_MISC_PREDICATEHINT = 0x01 > 1007 } > 1008 > 1009 struct D3D10_QUERY_DESC { > 1010 D3D10_QUERY Query; > 1011 UINT MiscFlags; > 1012 } > 1013 > 1014 interface ID3D10Query : ID3D10Asynchronous { > 1015 extern(Windows) : > 1016 void GetDesc(D3D10_QUERY_DESC *pDesc); > 1017 } > 1018 > 1019 interface ID3D10Predicate : ID3D10Query { } > 1020 > 1021 struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT { > 1022 UINT64 Frequency; > 1023 BOOL Disjoint; > 1024 } > 1025 > 1026 struct D3D10_QUERY_DATA_PIPELINE_STATISTICS { > 1027 UINT64 IAVertices; > 1028 UINT64 IAPrimitives; > 1029 UINT64 VSInvocations; > 1030 UINT64 GSInvocations; > 1031 UINT64 GSPrimitives; > 1032 UINT64 CInvocations; > 1033 UINT64 CPrimitives; > 1034 UINT64 PSInvocations; > 1035 } > 1036 > 1037 struct D3D10_QUERY_DATA_SO_STATISTICS { > 1038 UINT64 NumPrimitivesWritten; > 1039 UINT64 PrimitivesStorageNeeded; > 1040 } > 1041 > 1042 enum D3D10_COUNTER { > 1043 D3D10_COUNTER_GPU_IDLE > 1044 D3D10_COUNTER_VERTEX_PROCESSING > 1045 D3D10_COUNTER_GEOMETRY_PROCESSING > 1046 D3D10_COUNTER_PIXEL_PROCESSING > 1047 D3D10_COUNTER_OTHER_GPU_PROCESSING > 1048 D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION = (D3D10_COUNTER > 1049 D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION = (D3D10_COUNTER > 1050 D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION = (D3D10 > 1051 D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION = (D3D10_COUNTER > 1052 D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION = (D3D10_COUNTER > 1053 D3D10_COUNTER_VS_MEMORY_LIMITED > 1054 D3D10_COUNTER_VS_COMPUTATION_LIMITED = (D3D10 > 1055 D3D10_COUNTER_GS_MEMORY_LIMITED > 1056 D3D10_COUNTER_GS_COMPUTATION_LIMITED = (D3D10 > 1057 D3D10_COUNTER_PS_MEMORY_LIMITED > 1058 D3D10_COUNTER_PS_COMPUTATION_LIMITED = (D3D10 > 1059 D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE = (D3D10 > 1060 D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE = (D3D10 > 1061 D3D10_COUNTER_DEVICE_DEPENDENT_0 > 1062 } > 1063 > 1064 enum D3D10_COUNTER_TYPE { > 1065 D3D10_COUNTER_TYPE_FLOAT32 = 0, > 1066 D3D10_COUNTER_TYPE_UINT16 = (D3D10_COUNTER_TYPE_FLOAT32 + 1), > 1067 D3D10_COUNTER_TYPE_UINT32 = (D3D10_COUNTER_TYPE_UINT16 + 1), > 1068 D3D10_COUNTER_TYPE_UINT64 = (D3D10_COUNTER_TYPE_UINT32 + 1) > 1069 } > 1070 > 1071 struct D3D10_COUNTER_DESC { > 1072 D3D10_COUNTER Counter; > 1073 UINT MiscFlags; > 1074 } > 1075 > 1076 struct D3D10_COUNTER_INFO { > 1077 D3D10_COUNTER LastDeviceDependentCounter; > 1078 UINT NumSimultaneousCounters; > 1079 UINT8 NumDetectableParallelUnits; > 1080 } > 1081 > 1082 interface ID3D10Counter : ID3D10Asynchronous { > 1083 extern(Windows) : > 1084 void GetDesc(D3D10_COUNTER_DESC *pDesc); > 1085 } > 1086 > 1087 interface ID3D10Device : IUnknown { > 1088 extern(Windows) : > 1089 void VSSetConstantBuffers(UINT StartSlot, UINT NumBuffers, ID3D10Buffer* > 1090 void PSSetShaderResources(UINT StartSlot, UINT NumViews, ID3D10ShaderRes > 1091 void PSSetShader(ID3D10PixelShader pPixelShader); > 1092 void PSSetSamplers(UINT StartSlot, UINT NumSamplers, ID3D10SamplerState* > 1093 void VSSetShader(ID3D10VertexShader pVertexShader); > 1094 void DrawIndexed(UINT IndexCount, UINT StartIndexLocation, INT BaseVerte > 1095 void Draw(UINT VertexCount, UINT StartVertexLocation); > 1096 void PSSetConstantBuffers(UINT StartSlot, UINT NumBuffers, ID3D10Buffer* > 1097 void IASetInputLayout(ID3D10InputLayout pInputLayout); > 1098 void IASetVertexBuffers(UINT StartSlot, UINT NumBuffers, ID3D10Buffer* p > 1099 void IASetIndexBuffer(ID3D10Buffer pIndexBuffer, DXGI_FORMAT Format, UIN > 1100 void DrawIndexedInstanced(UINT IndexCountPerInstance, UINT InstanceCount > 1101 void DrawInstanced(UINT VertexCountPerInstance, UINT InstanceCount, UINT > 1102 void GSSetConstantBuffers(UINT StartSlot, UINT NumBuffers, ID3D10Buffer* > 1103 void GSSetShader(ID3D10GeometryShader pShader); > 1104 void IASetPrimitiveTopology(D3D10_PRIMITIVE_TOPOLOGY Topology); > 1105 void VSSetShaderResources(UINT StartSlot, UINT NumViews, ID3D10ShaderRes > 1106 void VSSetSamplers(UINT StartSlot, UINT NumSamplers, ID3D10SamplerState* > 1107 void SetPredication(ID3D10Predicate pPredicate, BOOL PredicateValue); > 1108 void GSSetShaderResources(UINT StartSlot, UINT NumViews, ID3D10ShaderRes > 1109 void GSSetSamplers(UINT StartSlot, UINT NumSamplers, ID3D10SamplerState* > 1110 void OMSetRenderTargets(UINT NumViews, ID3D10RenderTargetView* ppRenderT > 1111 void OMSetBlendState(ID3D10BlendState pBlendState, FLOAT[4] BlendFactor, > 1112 void OMSetDepthStencilState(ID3D10DepthStencilState pDepthStencilState, > 1113 void SOSetTargets(UINT NumBuffers, ID3D10Buffer* ppSOTargets, UINT* pOff > 1114 void DrawAuto(); > 1115 void RSSetState(ID3D10RasterizerState pRasterizerState); > 1116 void RSSetViewports(UINT NumViewports, D3D10_VIEWPORT* pViewports); > 1117 void RSSetScissorRects(UINT NumRects, D3D10_RECT* pRects); > 1118 void CopySubresourceRegion(ID3D10Resource pDstResource, UINT DstSubresou > 1119 void CopyResource(ID3D10Resource pDstResource, ID3D10Resource pSrcResour > 1120 void UpdateSubresource(ID3D10Resource pDstResource, UINT DstSubresource, > 1121 void ClearRenderTargetView(ID3D10RenderTargetView pRenderTargetView, FLO > 1122 void ClearDepthStencilView(ID3D10DepthStencilView pDepthStencilView, UIN > 1123 void GenerateMips(ID3D10ShaderResourceView pShaderResourceView); > 1124 void ResolveSubresource(ID3D10Resource pDstResource, UINT DstSubresource > 1125 void VSGetConstantBuffers(UINT StartSlot, UINT NumBuffers, ID3D10Buffer* > 1126 void PSGetShaderResources(UINT StartSlot, UINT NumViews, ID3D10ShaderRes > 1127 void PSGetShader(ID3D10PixelShader* ppPixelShader); > 1128 void PSGetSamplers(UINT StartSlot, UINT NumSamplers, ID3D10SamplerState* > 1129 void VSGetShader(ID3D10VertexShader* ppVertexShader); > 1130 void PSGetConstantBuffers(UINT StartSlot, UINT NumBuffers, ID3D10Buffer* > 1131 void IAGetInputLayout(ID3D10InputLayout* ppInputLayout); > 1132 void IAGetVertexBuffers(UINT StartSlot, UINT NumBuffers, ID3D10Buffer* p > 1133 void IAGetIndexBuffer(ID3D10Buffer* pIndexBuffer, DXGI_FORMAT* Format, U > 1134 void GSGetConstantBuffers(UINT StartSlot, UINT NumBuffers, ID3D10Buffer* > 1135 void GSGetShader(ID3D10GeometryShader* ppGeometryShader); > 1136 void IAGetPrimitiveTopology(D3D10_PRIMITIVE_TOPOLOGY* pTopology); > 1137 void VSGetShaderResources(UINT StartSlot, UINT NumViews, ID3D10ShaderRes > 1138 void VSGetSamplers(UINT StartSlot, UINT NumSamplers, ID3D10SamplerState* > 1139 void GetPredication(ID3D10Predicate* ppPredicate, BOOL* pPredicateValue) > 1140 void GSGetShaderResources(UINT StartSlot, UINT NumViews, ID3D10ShaderRes > 1141 void GSGetSamplers(UINT StartSlot, UINT NumSamplers, ID3D10SamplerState* > 1142 void OMGetRenderTargets(UINT NumViews, ID3D10RenderTargetView* ppRenderT > 1143 void OMGetBlendState(ID3D10BlendState* ppBlendState, FLOAT[ 4 ] BlendFac > 1144 void OMGetDepthStencilState(ID3D10DepthStencilState* ppDepthStencilState > 1145 void SOGetTargets(UINT NumBuffers, ID3D10Buffer* ppSOTargets, UINT* pOff > 1146 void RSGetState(ID3D10RasterizerState* ppRasterizerState); > 1147 void RSGetViewports(UINT* NumViewports, D3D10_VIEWPORT* pViewports); > 1148 void RSGetScissorRects(UINT* NumRects, D3D10_RECT* pRects); > 1149 HRESULT GetDeviceRemovedReason(); > 1150 HRESULT SetExceptionMode(UINT RaiseFlags); > 1151 UINT GetExceptionMode(); > 1152 HRESULT GetPrivateData(REFGUID guid, UINT* pDataSize, void* pData); > 1153 HRESULT SetPrivateData(REFGUID guid, UINT DataSize, void* pData); > 1154 HRESULT SetPrivateDataInterface(REFGUID guid, IUnknown pData); > 1155 void ClearState(); > 1156 void Flush(); > 1157 HRESULT CreateBuffer(D3D10_BUFFER_DESC* pDesc, D3D10_SUBRESOURCE_DATA* p > 1158 HRESULT CreateTexture1D(D3D10_TEXTURE1D_DESC* pDesc, D3D10_SUBRESOURCE_D > 1159 HRESULT CreateTexture2D(D3D10_TEXTURE2D_DESC* pDesc, D3D10_SUBRESOURCE_D > 1160 HRESULT CreateTexture3D(D3D10_TEXTURE3D_DESC* pDesc, D3D10_SUBRESOURCE_D > 1161 HRESULT CreateShaderResourceView(ID3D10Resource pResource, D3D10_SHADER_ > 1162 HRESULT CreateRenderTargetView(ID3D10Resource pResource, D3D10_RENDER_TA > 1163 HRESULT CreateDepthStencilView(ID3D10Resource pResource, D3D10_DEPTH_STE > 1164 HRESULT CreateInputLayout(D3D10_INPUT_ELEMENT_DESC* pInputElementDescs, > 1165 HRESULT CreateVertexShader(void* pShaderBytecode, SIZE_T BytecodeLength, > 1166 HRESULT CreateGeometryShader(void* pShaderBytecode, SIZE_T BytecodeLengt > 1167 HRESULT CreateGeometryShaderWithStreamOutput(void* pShaderBytecode, SIZE > 1168 HRESULT CreatePixelShader(void* pShaderBytecode, SIZE_T BytecodeLength, > 1169 HRESULT CreateBlendState(D3D10_BLEND_DESC* pBlendStateDesc, ID3D10BlendS > 1170 HRESULT CreateDepthStencilState(D3D10_DEPTH_STENCIL_DESC* pDepthStencilD > 1171 HRESULT CreateRasterizerState(D3D10_RASTERIZER_DESC* pRasterizerDesc, ID > 1172 HRESULT CreateSamplerState(D3D10_SAMPLER_DESC* pSamplerDesc, ID3D10Sampl > 1173 HRESULT CreateQuery(D3D10_QUERY_DESC* pQueryDesc, ID3D10Query* ppQuery); > 1174 HRESULT CreatePredicate(D3D10_QUERY_DESC* pPredicateDesc, ID3D10Predicat > 1175 HRESULT CreateCounter(D3D10_COUNTER_DESC* pCounterDesc, ID3D10Counter* p > 1176 HRESULT CheckFormatSupport(DXGI_FORMAT Format, UINT* pFormatSupport); > 1177 HRESULT CheckMultisampleQualityLevels(DXGI_FORMAT Format, UINT SampleCou > 1178 void CheckCounterInfo(D3D10_COUNTER_INFO* pCounterInfo); > 1179 HRESULT CheckCounter(D3D10_COUNTER_DESC* pDesc, D3D10_COUNTER_TYPE* pTyp > 1180 UINT GetCreationFlags(); > 1181 HRESULT OpenSharedResource(HANDLE hResource, REFIID ReturnedInterface, v > 1182 void SetTextFilterSize(UINT Width, UINT Height); > 1183 void GetTextFilterSize(UINT* pWidth, UINT* pHeight); > 1184 } > 1185 > 1186 interface ID3D10Multithread : IUnknown { > 1187 extern(Windows) : > 1188 void Enter(); > 1189 void Leave(); > 1190 BOOL SetMultithreadProtected(BOOL bMTProtect); > 1191 BOOL GetMultithreadProtected(); > 1192 } > 1193 > 1194 enum D3D10_CREATE_DEVICE_FLAG { > 1195 D3D10_CREATE_DEVICE_SINGLETHREADED > 1196 D3D10_CREATE_DEVICE_DEBUG > 1197 D3D10_CREATE_DEVICE_SWITCH_TO_REF > 1198 D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x08 > 1199 } > 1200 > 1201 const D3D10_SDK_VERSION = 29; > 1202 > 1203 extern(C) const GUID IID_ID3D10DeviceChild = {0x9B7E4C00, 0 > 1204 extern(C) const GUID IID_ID3D10DepthStencilState = {0x2B4B1CC8, 0xA4AD, 0 > 1205 extern(C) const GUID IID_ID3D10BlendState = {0xEDAD8D19, 0 > 1206 extern(C) const GUID IID_ID3D10RasterizerState = {0xA2A07292, 0x89AF, 0 > 1207 extern(C) const GUID IID_ID3D10Resource = {0x9B7E4C01, 0 > 1208 extern(C) const GUID IID_ID3D10Buffer = {0x9B7E4C02, 0 > 1209 extern(C) const GUID IID_ID3D10Texture1D = {0x9B7E4C03, 0 > 1210 extern(C) const GUID IID_ID3D10Texture2D = {0x9B7E4C04, 0 > 1211 extern(C) const GUID IID_ID3D10Texture3D = {0x9B7E4C05, 0 > 1212 extern(C) const GUID IID_ID3D10View = {0xC90 > 1213 extern(C) const GUID IID_ID3D10ShaderResourceView = {0x9B7E4C07, 0x342C, 0 > 1214 extern(C) const GUID IID_ID3D10RenderTargetView = {0x9B7E4C08, 0x342C, 0 > 1215 extern(C) const GUID IID_ID3D10DepthStencilView = {0x9B7E4C09, 0x342C, 0 > 1216 extern(C) const GUID IID_ID3D10VertexShader = {0x9B7E4C0A, 0 > 1217 extern(C) const GUID IID_ID3D10GeometryShader = {0x6316BE88, 0x54CD, 0 > 1218 extern(C) const GUID IID_ID3D10PixelShader = {0x4968B601, 0 > 1219 extern(C) const GUID IID_ID3D10InputLayout = {0x9B7E4C0B, 0 > 1220 extern(C) const GUID IID_ID3D10SamplerState = {0x9B7E4C0C, 0 > 1221 extern(C) const GUID IID_ID3D10Asynchronous = {0x9B7E4C0D, 0 > 1222 extern(C) const GUID IID_ID3D10Query = {0x9B7E4C0E, 0 > 1223 extern(C) const GUID IID_ID3D10Predicate = {0x9B7E4C10, 0 > 1224 extern(C) const GUID IID_ID3D10Counter = {0x9B7E4C11, 0 > 1225 extern(C) const GUID IID_ID3D10Device = {0x9B7E4C0F, 0 > 1226 extern(C) const GUID IID_ID3D10Multithread = {0x9B7E4E00, 0 > 1227 > 1228 public import win32.directx.d3d10shader; > 1229 public import win32.directx.d3d10effect;

Added src/win32/directx/d3d10effect.d version [496784a5813cdffa]

> 1 /***********************************************************************\ > 2 * d3d10effect.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Placed into public domain * > 7 \***********************************************************************/ > 8 module win32.directx.d3d10effect; > 9 > 10 private import win32.windows; > 11 private import win32.directx.d3d10; > 12 > 13 > 14 enum D3D10_DEVICE_STATE_TYPES { > 15 D3D10_DST_SO_BUFFERS = 1, > 16 D3D10_DST_OM_RENDER_TARGETS, > 17 D3D10_DST_OM_DEPTH_STENCIL_STATE, > 18 D3D10_DST_OM_BLEND_STATE, > 19 D3D10_DST_VS, > 20 D3D10_DST_VS_SAMPLERS, > 21 D3D10_DST_VS_SHADER_RESOURCES, > 22 D3D10_DST_VS_CONSTANT_BUFFERS, > 23 D3D10_DST_GS, > 24 D3D10_DST_GS_SAMPLERS, > 25 D3D10_DST_GS_SHADER_RESOURCES, > 26 D3D10_DST_GS_CONSTANT_BUFFERS, > 27 D3D10_DST_PS, > 28 D3D10_DST_PS_SAMPLERS, > 29 D3D10_DST_PS_SHADER_RESOURCES, > 30 D3D10_DST_PS_CONSTANT_BUFFERS, > 31 D3D10_DST_IA_VERTEX_BUFFERS, > 32 D3D10_DST_IA_INDEX_BUFFER, > 33 D3D10_DST_IA_INPUT_LAYOUT, > 34 D3D10_DST_IA_PRIMITIVE_TOPOLOGY, > 35 D3D10_DST_RS_VIEWPORTS, > 36 D3D10_DST_RS_SCISSOR_RECTS, > 37 D3D10_DST_RS_RASTERIZER_STATE, > 38 D3D10_DST_PREDICATION > 39 } > 40 > 41 struct D3D10_STATE_BLOCK_MASK { > 42 BYTE VS; > 43 BYTE[2] VSSamplers; > 44 BYTE[16] VSShaderResources; > 45 BYTE[2] VSConstantBuffers; > 46 BYTE GS; > 47 BYTE[2] GSSamplers; > 48 BYTE[16] GSShaderResources; > 49 BYTE[2] GSConstantBuffers; > 50 BYTE PS; > 51 BYTE[2] PSSamplers; > 52 BYTE[16] PSShaderResources; > 53 BYTE[2] PSConstantBuffers; > 54 BYTE[2] IAVertexBuffers; > 55 BYTE IAIndexBuffer; > 56 BYTE IAInputLayout; > 57 BYTE IAPrimitiveTopology; > 58 BYTE OMRenderTargets; > 59 BYTE OMDepthStencilState; > 60 BYTE OMBlendState; > 61 BYTE RSViewports; > 62 BYTE RSScissorRects; > 63 BYTE RSRasterizerState; > 64 BYTE SOBuffers; > 65 BYTE Predication; > 66 } > 67 > 68 extern (C) const GUID IID_ID3D10StateBlock = {0x803425a, 0x57f5, 0x4dd6, [0x94, > 69 > 70 interface ID3D10StateBlock : IUnknown { > 71 extern(Windows) : > 72 HRESULT Capture(); > 73 HRESULT Apply(); > 74 HRESULT ReleaseAllDeviceObjects(); > 75 HRESULT GetDevice(ID3D10Device ppDevice); > 76 } > 77 > 78 HRESULT D3D10StateBlockMaskUnion(D3D10_STATE_BLOCK_MASK* pA, D3D10_STATE_BLOCK_M > 79 HRESULT D3D10StateBlockMaskIntersect(D3D10_STATE_BLOCK_MASK* pA, D3D10_STATE_BLO > 80 HRESULT D3D10StateBlockMaskDifference(D3D10_STATE_BLOCK_MASK* pA, D3D10_STATE_BL > 81 HRESULT D3D10StateBlockMaskEnableCapture(D3D10_STATE_BLOCK_MASK* pMask, D3D10_DE > 82 HRESULT D3D10StateBlockMaskDisableCapture(D3D10_STATE_BLOCK_MASK* pMask, D3D10_D > 83 HRESULT D3D10StateBlockMaskEnableAll(D3D10_STATE_BLOCK_MASK* pMask); > 84 HRESULT D3D10StateBlockMaskDisableAll(D3D10_STATE_BLOCK_MASK* pMask); > 85 BOOL D3D10StateBlockMaskGetSetting(D3D10_STATE_BLOCK_MASK* pMask, D3D10_DEVICE_S > 86 HRESULT D3D10CreateStateBlock(ID3D10Device pDevice, D3D10_STATE_BLOCK_MASK* pSta > 87 > 88 const D3D10_EFFECT_COMPILE_CHILD_EFFECT = 1 << 0; > 89 const D3D10_EFFECT_COMPILE_ALLOW_SLOW_OPS = 1 << 1; > 90 const D3D10_EFFECT_SINGLE_THREADED = 1 << 3; > 91 const D3D10_EFFECT_VARIABLE_POOLED = 1 << 0; > 92 const D3D10_EFFECT_VARIABLE_ANNOTATION = 1 << 1; > 93 const D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT = 1 << 2; > 94 > 95 struct D3D10_EFFECT_TYPE_DESC { > 96 LPCSTR TypeName; > 97 D3D10_SHADER_VARIABLE_CLASS Class; > 98 D3D10_SHADER_VARIABLE_TYPE Type; > 99 UINT Elements; > 100 UINT Members; > 101 UINT Rows; > 102 UINT Columns; > 103 UINT PackedSize; > 104 UINT UnpackedSize; > 105 UINT Stride; > 106 } > 107 > 108 extern (C) const GUID IID_ID3D10EffectType = {0x4e9e1ddc, 0xcd9d, 0x4772, [0xa8, > 109 > 110 interface ID3D10EffectType { > 111 /* TODO: fix vtbl[0] bug > 112 extern(Windows) : > 113 BOOL IsValid(); > 114 HRESULT GetDesc(D3D10_EFFECT_TYPE_DESC* pDesc); > 115 ID3D10EffectType GetMemberTypeByIndex(UINT Index); > 116 ID3D10EffectType GetMemberTypeByName(LPCSTR Name); > 117 ID3D10EffectType GetMemberTypeBySemantic(LPCSTR Semantic); > 118 LPCSTR GetMemberName(UINT Index); > 119 LPCSTR GetMemberSemantic(UINT Index); > 120 */ > 121 } > 122 > 123 struct D3D10_EFFECT_VARIABLE_DESC { > 124 LPCSTR Name; > 125 LPCSTR Semantic; > 126 UINT Flags; > 127 UINT Annotations; > 128 UINT BufferOffset; > 129 UINT ExplicitBindPoint; > 130 } > 131 > 132 extern (C) const GUID IID_ID3D10EffectVariable = {0xae897105, 0x00e6, 0x45bf, [0 > 133 > 134 interface ID3D10EffectVariable { > 135 /* TODO: fix vtbl[0] bug > 136 extern(Windows) : > 137 BOOL IsValid(); > 138 ID3D10EffectType GetType(); > 139 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc); > 140 ID3D10EffectVariable GetAnnotationByIndex(UINT Index); > 141 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name); > 142 ID3D10EffectVariable GetMemberByIndex(UINT Index); > 143 ID3D10EffectVariable GetMemberByName(LPCSTR Name); > 144 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic); > 145 ID3D10EffectVariable GetElement(UINT Index); > 146 ID3D10EffectConstantBuffer GetParentConstantBuffer(); > 147 ID3D10EffectScalarVariable AsScalar(); > 148 ID3D10EffectVectorVariable AsVector(); > 149 ID3D10EffectMatrixVariable AsMatrix(); > 150 ID3D10EffectStringVariable AsString(); > 151 ID3D10EffectShaderResourceVariable AsShaderResource(); > 152 ID3D10EffectRenderTargetViewVariable AsRenderTargetView(); > 153 ID3D10EffectDepthStencilViewVariable AsDepthStencilView(); > 154 ID3D10EffectConstantBuffer AsConstantBuffer(); > 155 ID3D10EffectShaderVariable AsShader(); > 156 ID3D10EffectBlendVariable AsBlend(); > 157 ID3D10EffectDepthStencilVariable AsDepthStencil(); > 158 ID3D10EffectRasterizerVariable AsRasterizer(); > 159 ID3D10EffectSamplerVariable AsSampler(); > 160 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count); > 161 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count); > 162 */ > 163 } > 164 > 165 extern (C) const GUID IID_ID3D10EffectScalarVariable = {0xe48f7b, 0xd2c8, 0x49e8 > 166 > 167 interface ID3D10EffectScalarVariable : ID3D10EffectVariable { > 168 /* TODO: fix vtbl[0] bug > 169 extern(Windows) : > 170 BOOL IsValid(); > 171 ID3D10EffectType GetType(); > 172 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc); > 173 ID3D10EffectVariable GetAnnotationByIndex(UINT Index); > 174 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name); > 175 ID3D10EffectVariable GetMemberByIndex(UINT Index); > 176 ID3D10EffectVariable GetMemberByName(LPCSTR Name); > 177 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic); > 178 ID3D10EffectVariable GetElement(UINT Index); > 179 ID3D10EffectConstantBuffer GetParentConstantBuffer(); > 180 ID3D10EffectScalarVariable AsScalar(); > 181 ID3D10EffectVectorVariable AsVector(); > 182 ID3D10EffectMatrixVariable AsMatrix(); > 183 ID3D10EffectStringVariable AsString(); > 184 ID3D10EffectShaderResourceVariable AsShaderResource(); > 185 ID3D10EffectRenderTargetViewVariable AsRenderTargetView(); > 186 ID3D10EffectDepthStencilViewVariable AsDepthStencilView(); > 187 ID3D10EffectConstantBuffer AsConstantBuffer(); > 188 ID3D10EffectShaderVariable AsShader(); > 189 ID3D10EffectBlendVariable AsBlend(); > 190 ID3D10EffectDepthStencilVariable AsDepthStencil(); > 191 ID3D10EffectRasterizerVariable AsRasterizer(); > 192 ID3D10EffectSamplerVariable AsSampler(); > 193 HRESULT SetRawValue(void* pData, UINT ByteOffset, UINT ByteCount); > 194 HRESULT GetRawValue(void* pData, UINT ByteOffset, UINT ByteCount); > 195 HRESULT SetFloat(float Value); > 196 HRESULT GetFloat(float* pValue); > 197 HRESULT SetFloatArray(float* pData, UINT Offset, UINT Count); > 198 HRESULT GetFloatArray(float* pData, UINT Offset, UINT Count); > 199 HRESULT SetInt(int Value); > 200 HRESULT GetInt(int* pValue); > 201 HRESULT SetIntArray(int* pData, UINT Offset, UINT Count); > 202 HRESULT GetIntArray(int* pData, UINT Offset, UINT Count); > 203 HRESULT SetBool(BOOL Value); > 204 HRESULT GetBool(BOOL* pValue); > 205 HRESULT SetBoolArray(BOOL* pData, UINT Offset, UINT Count); > 206 HRESULT GetBoolArray(BOOL* pData, UINT Offset, UINT Count); > 207 */ > 208 } > 209 > 210 extern (C) const GUID IID_ID3D10EffectVectorVariable = {0x62b98c44, 0x1f82, 0x4c > 211 > 212 interface ID3D10EffectVectorVariable : ID3D10EffectVariable { > 213 /* TODO: fix vtbl[0] bug > 214 extern(Windows) : > 215 BOOL IsValid(); > 216 ID3D10EffectType GetType(); > 217 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc); > 218 ID3D10EffectVariable GetAnnotationByIndex(UINT Index); > 219 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name); > 220 ID3D10EffectVariable GetMemberByIndex(UINT Index); > 221 ID3D10EffectVariable GetMemberByName(LPCSTR Name); > 222 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic); > 223 ID3D10EffectVariable GetElement(UINT Index); > 224 ID3D10EffectConstantBuffer GetParentConstantBuffer(); > 225 ID3D10EffectScalarVariable AsScalar(); > 226 ID3D10EffectVectorVariable AsVector(); > 227 ID3D10EffectMatrixVariable AsMatrix(); > 228 ID3D10EffectStringVariable AsString(); > 229 ID3D10EffectShaderResourceVariable AsShaderResource(); > 230 ID3D10EffectRenderTargetViewVariable AsRenderTargetView(); > 231 ID3D10EffectDepthStencilViewVariable AsDepthStencilView(); > 232 ID3D10EffectConstantBuffer AsConstantBuffer(); > 233 ID3D10EffectShaderVariable AsShader(); > 234 ID3D10EffectBlendVariable AsBlend(); > 235 ID3D10EffectDepthStencilVariable AsDepthStencil(); > 236 ID3D10EffectRasterizerVariable AsRasterizer(); > 237 ID3D10EffectSamplerVariable AsSampler(); > 238 HRESULT SetRawValue(void* pData, UINT ByteOffset, UINT ByteCount); > 239 HRESULT GetRawValue(void* pData, UINT ByteOffset, UINT ByteCount); > 240 HRESULT SetBoolVector (BOOL* pData); > 241 HRESULT SetIntVector (int* pData); > 242 HRESULT SetFloatVector(float* pData); > 243 HRESULT GetBoolVector (BOOL* pData); > 244 HRESULT GetIntVector (int* pData); > 245 HRESULT GetFloatVector(float* pData); > 246 HRESULT SetBoolVectorArray (BOOL* pData, UINT Offset, UINT Count); > 247 HRESULT SetIntVectorArray (int* pData, UINT Offset, UINT Count); > 248 HRESULT SetFloatVectorArray(float* pData, UINT Offset, UINT Count); > 249 HRESULT GetBoolVectorArray (BOOL* pData, UINT Offset, UINT Count); > 250 HRESULT GetIntVectorArray (int* pData, UINT Offset, UINT Count); > 251 HRESULT GetFloatVectorArray(float* pData, UINT Offset, UINT Count); > 252 */ > 253 } > 254 > 255 extern (C) const GUID IID_ID3D10EffectMatrixVariable = {0x50666c24, 0xb82f, 0x4e > 256 > 257 interface ID3D10EffectMatrixVariable : ID3D10EffectVariable { > 258 /* TODO: fix vtbl[0] bug > 259 extern(Windows) : > 260 BOOL IsValid(); > 261 ID3D10EffectType GetType(); > 262 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc); > 263 ID3D10EffectVariable GetAnnotationByIndex(UINT Index); > 264 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name); > 265 ID3D10EffectVariable GetMemberByIndex(UINT Index); > 266 ID3D10EffectVariable GetMemberByName(LPCSTR Name); > 267 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic); > 268 ID3D10EffectVariable GetElement(UINT Index); > 269 ID3D10EffectConstantBuffer GetParentConstantBuffer(); > 270 ID3D10EffectScalarVariable AsScalar(); > 271 ID3D10EffectVectorVariable AsVector(); > 272 ID3D10EffectMatrixVariable AsMatrix(); > 273 ID3D10EffectStringVariable AsString(); > 274 ID3D10EffectShaderResourceVariable AsShaderResource(); > 275 ID3D10EffectRenderTargetViewVariable AsRenderTargetView(); > 276 ID3D10EffectDepthStencilViewVariable AsDepthStencilView(); > 277 ID3D10EffectConstantBuffer AsConstantBuffer(); > 278 ID3D10EffectShaderVariable AsShader(); > 279 ID3D10EffectBlendVariable AsBlend(); > 280 ID3D10EffectDepthStencilVariable AsDepthStencil(); > 281 ID3D10EffectRasterizerVariable AsRasterizer(); > 282 ID3D10EffectSamplerVariable AsSampler(); > 283 HRESULT SetRawValue(void* pData, UINT ByteOffset, UINT ByteCount); > 284 HRESULT GetRawValue(void* pData, UINT ByteOffset, UINT ByteCount); > 285 HRESULT SetMatrix(float* pData); > 286 HRESULT GetMatrix(float* pData); > 287 HRESULT SetMatrixArray(float* pData, UINT Offset, UINT Count); > 288 HRESULT GetMatrixArray(float* pData, UINT Offset, UINT Count); > 289 HRESULT SetMatrixTranspose(float* pData); > 290 HRESULT GetMatrixTranspose(float* pData); > 291 HRESULT SetMatrixTransposeArray(float* pData, UINT Offset, UINT Count); > 292 HRESULT GetMatrixTransposeArray(float* pData, UINT Offset, UINT Count); > 293 */ > 294 } > 295 > 296 extern (C) const GUID IID_ID3D10EffectStringVariable = {0x71417501, 0x8df9, 0x4e > 297 > 298 interface ID3D10EffectStringVariable : ID3D10EffectVariable { > 299 /* TODO: fix vtbl[0] bug > 300 extern(Windows) : > 301 BOOL IsValid(); > 302 ID3D10EffectType GetType(); > 303 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc); > 304 ID3D10EffectVariable GetAnnotationByIndex(UINT Index); > 305 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name); > 306 ID3D10EffectVariable GetMemberByIndex(UINT Index); > 307 ID3D10EffectVariable GetMemberByName(LPCSTR Name); > 308 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic); > 309 ID3D10EffectVariable GetElement(UINT Index); > 310 ID3D10EffectConstantBuffer GetParentConstantBuffer(); > 311 ID3D10EffectScalarVariable AsScalar(); > 312 ID3D10EffectVectorVariable AsVector(); > 313 ID3D10EffectMatrixVariable AsMatrix(); > 314 ID3D10EffectStringVariable AsString(); > 315 ID3D10EffectShaderResourceVariable AsShaderResource(); > 316 ID3D10EffectRenderTargetViewVariable AsRenderTargetView(); > 317 ID3D10EffectDepthStencilViewVariable AsDepthStencilView(); > 318 ID3D10EffectConstantBuffer AsConstantBuffer(); > 319 ID3D10EffectShaderVariable AsShader(); > 320 ID3D10EffectBlendVariable AsBlend(); > 321 ID3D10EffectDepthStencilVariable AsDepthStencil(); > 322 ID3D10EffectRasterizerVariable AsRasterizer(); > 323 ID3D10EffectSamplerVariable AsSampler(); > 324 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count); > 325 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count); > 326 HRESULT GetString(LPCSTR* ppString); > 327 HRESULT GetStringArray(LPCSTR* ppStrings, UINT Offset, UINT Count); > 328 */ > 329 } > 330 > 331 extern (C) const GUID IID_ID3D10EffectShaderResourceVariable = {0xc0a7157b, 0xd8 > 332 > 333 interface ID3D10EffectShaderResourceVariable : ID3D10EffectVariable { > 334 /* TODO: fix vtbl[0] bug > 335 extern(Windows) : > 336 BOOL IsValid(); > 337 ID3D10EffectType GetType(); > 338 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc); > 339 ID3D10EffectVariable GetAnnotationByIndex(UINT Index); > 340 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name); > 341 ID3D10EffectVariable GetMemberByIndex(UINT Index); > 342 ID3D10EffectVariable GetMemberByName(LPCSTR Name); > 343 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic); > 344 ID3D10EffectVariable GetElement(UINT Index); > 345 ID3D10EffectConstantBuffer GetParentConstantBuffer(); > 346 ID3D10EffectScalarVariable AsScalar(); > 347 ID3D10EffectVectorVariable AsVector(); > 348 ID3D10EffectMatrixVariable AsMatrix(); > 349 ID3D10EffectStringVariable AsString(); > 350 ID3D10EffectShaderResourceVariable AsShaderResource(); > 351 ID3D10EffectRenderTargetViewVariable AsRenderTargetView(); > 352 ID3D10EffectDepthStencilViewVariable AsDepthStencilView(); > 353 ID3D10EffectConstantBuffer AsConstantBuffer(); > 354 ID3D10EffectShaderVariable AsShader(); > 355 ID3D10EffectBlendVariable AsBlend(); > 356 ID3D10EffectDepthStencilVariable AsDepthStencil(); > 357 ID3D10EffectRasterizerVariable AsRasterizer(); > 358 ID3D10EffectSamplerVariable AsSampler(); > 359 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count); > 360 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count); > 361 HRESULT SetResource(ID3D10ShaderResourceView pResource); > 362 HRESULT GetResource(ID3D10ShaderResourceView* ppResource); > 363 HRESULT SetResourceArray(ID3D10ShaderResourceView* ppResources, UINT Off > 364 HRESULT GetResourceArray(ID3D10ShaderResourceView* ppResources, UINT Off > 365 */ > 366 } > 367 > 368 extern (C) const GUID IID_ID3D10EffectRenderTargetViewVariable = {0x28ca0cc3, 0x > 369 > 370 interface ID3D10EffectRenderTargetViewVariable : ID3D10EffectVariable { > 371 /* TODO: fix vtbl[0] bug > 372 extern(Windows) : > 373 BOOL IsValid(); > 374 ID3D10EffectType GetType(); > 375 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc); > 376 ID3D10EffectVariable GetAnnotationByIndex(UINT Index); > 377 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name); > 378 ID3D10EffectVariable GetMemberByIndex(UINT Index); > 379 ID3D10EffectVariable GetMemberByName(LPCSTR Name); > 380 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic); > 381 ID3D10EffectVariable GetElement(UINT Index); > 382 ID3D10EffectConstantBuffer GetParentConstantBuffer(); > 383 ID3D10EffectScalarVariable AsScalar(); > 384 ID3D10EffectVectorVariable AsVector(); > 385 ID3D10EffectMatrixVariable AsMatrix(); > 386 ID3D10EffectStringVariable AsString(); > 387 ID3D10EffectShaderResourceVariable AsShaderResource(); > 388 ID3D10EffectRenderTargetViewVariable AsRenderTargetView(); > 389 ID3D10EffectDepthStencilViewVariable AsDepthStencilView(); > 390 ID3D10EffectConstantBuffer AsConstantBuffer(); > 391 ID3D10EffectShaderVariable AsShader(); > 392 ID3D10EffectBlendVariable AsBlend(); > 393 ID3D10EffectDepthStencilVariable AsDepthStencil(); > 394 ID3D10EffectRasterizerVariable AsRasterizer(); > 395 ID3D10EffectSamplerVariable AsSampler(); > 396 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count); > 397 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count); > 398 HRESULT SetRenderTarget(ID3D10RenderTargetView pResource); > 399 HRESULT GetRenderTarget(ID3D10RenderTargetView* ppResource); > 400 HRESULT SetRenderTargetArray(ID3D10RenderTargetView* ppResources, UINT O > 401 HRESULT GetRenderTargetArray(ID3D10RenderTargetView* ppResources, UINT O > 402 */ > 403 } > 404 > 405 extern (C) const GUID IID_ID3D10EffectDepthStencilViewVariable = {0x3e02c918, 0x > 406 > 407 interface ID3D10EffectDepthStencilViewVariable : ID3D10EffectVariable { > 408 /* TODO: fix vtbl[0] bug > 409 extern(Windows) : > 410 BOOL IsValid(); > 411 ID3D10EffectType GetType(); > 412 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc); > 413 ID3D10EffectVariable GetAnnotationByIndex(UINT Index); > 414 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name); > 415 ID3D10EffectVariable GetMemberByIndex(UINT Index); > 416 ID3D10EffectVariable GetMemberByName(LPCSTR Name); > 417 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic); > 418 ID3D10EffectVariable GetElement(UINT Index); > 419 ID3D10EffectConstantBuffer GetParentConstantBuffer(); > 420 ID3D10EffectScalarVariable AsScalar(); > 421 ID3D10EffectVectorVariable AsVector(); > 422 ID3D10EffectMatrixVariable AsMatrix(); > 423 ID3D10EffectStringVariable AsString(); > 424 ID3D10EffectShaderResourceVariable AsShaderResource(); > 425 ID3D10EffectRenderTargetViewVariable AsRenderTargetView(); > 426 ID3D10EffectDepthStencilViewVariable AsDepthStencilView(); > 427 ID3D10EffectConstantBuffer AsConstantBuffer(); > 428 ID3D10EffectShaderVariable AsShader(); > 429 ID3D10EffectBlendVariable AsBlend(); > 430 ID3D10EffectDepthStencilVariable AsDepthStencil(); > 431 ID3D10EffectRasterizerVariable AsRasterizer(); > 432 ID3D10EffectSamplerVariable AsSampler(); > 433 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count); > 434 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count); > 435 HRESULT SetDepthStencil(ID3D10DepthStencilView pResource); > 436 HRESULT GetDepthStencil(ID3D10DepthStencilView* ppResource); > 437 HRESULT SetDepthStencilArray(ID3D10DepthStencilView* ppResources, UINT O > 438 HRESULT GetDepthStencilArray(ID3D10DepthStencilView* ppResources, UINT O > 439 */ > 440 } > 441 > 442 extern (C) const GUID IID_ID3D10EffectConstantBuffer = {0x56648f4d, 0xcc8b, 0x44 > 443 > 444 interface ID3D10EffectConstantBuffer : ID3D10EffectVariable { > 445 /* TODO: fix vtbl[0] bug > 446 extern(Windows) : > 447 ID3D10EffectType GetType(); > 448 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc); > 449 ID3D10EffectVariable GetAnnotationByIndex(UINT Index); > 450 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name); > 451 ID3D10EffectVariable GetMemberByIndex(UINT Index); > 452 ID3D10EffectVariable GetMemberByName(LPCSTR Name); > 453 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic); > 454 ID3D10EffectVariable GetElement(UINT Index); > 455 ID3D10EffectConstantBuffer GetParentConstantBuffer(); > 456 ID3D10EffectScalarVariable AsScalar(); > 457 ID3D10EffectVectorVariable AsVector(); > 458 ID3D10EffectMatrixVariable AsMatrix(); > 459 ID3D10EffectStringVariable AsString(); > 460 ID3D10EffectShaderResourceVariable AsShaderResource(); > 461 ID3D10EffectRenderTargetViewVariable AsRenderTargetView(); > 462 ID3D10EffectDepthStencilViewVariable AsDepthStencilView(); > 463 ID3D10EffectConstantBuffer AsConstantBuffer(); > 464 ID3D10EffectShaderVariable AsShader(); > 465 ID3D10EffectBlendVariable AsBlend(); > 466 ID3D10EffectDepthStencilVariable AsDepthStencil(); > 467 ID3D10EffectRasterizerVariable AsRasterizer(); > 468 ID3D10EffectSamplerVariable AsSampler(); > 469 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count); > 470 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count); > 471 HRESULT SetConstantBuffer(ID3D10Buffer pConstantBuffer); > 472 HRESULT GetConstantBuffer(ID3D10Buffer* ppConstantBuffer); > 473 HRESULT SetTextureBuffer(ID3D10ShaderResourceView pTextureBuffer); > 474 HRESULT GetTextureBuffer(ID3D10ShaderResourceView* ppTextureBuffer); > 475 */ > 476 } > 477 > 478 struct D3D10_EFFECT_SHADER_DESC { > 479 BYTE* pInputSignature; > 480 BOOL IsInline; > 481 BYTE* pBytecode; > 482 UINT BytecodeLength; > 483 LPCSTR SODecl; > 484 UINT NumInputSignatureEntries; > 485 UINT NumOutputSignatureEntries; > 486 } > 487 > 488 extern (C) const GUID IID_ID3D10EffectShaderVariable = {0x80849279, 0xc799, 0x47 > 489 > 490 interface ID3D10EffectShaderVariable : ID3D10EffectVariable { > 491 /* TODO: fix vtbl[0] bug > 492 extern(Windows) : > 493 ID3D10EffectType GetType(); > 494 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc); > 495 ID3D10EffectVariable GetAnnotationByIndex(UINT Index); > 496 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name); > 497 ID3D10EffectVariable GetMemberByIndex(UINT Index); > 498 ID3D10EffectVariable GetMemberByName(LPCSTR Name); > 499 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic); > 500 ID3D10EffectVariable GetElement(UINT Index); > 501 ID3D10EffectConstantBuffer GetParentConstantBuffer(); > 502 ID3D10EffectScalarVariable AsScalar(); > 503 ID3D10EffectVectorVariable AsVector(); > 504 ID3D10EffectMatrixVariable AsMatrix(); > 505 ID3D10EffectStringVariable AsString(); > 506 ID3D10EffectShaderResourceVariable AsShaderResource(); > 507 ID3D10EffectRenderTargetViewVariable AsRenderTargetView(); > 508 ID3D10EffectDepthStencilViewVariable AsDepthStencilView(); > 509 ID3D10EffectConstantBuffer AsConstantBuffer(); > 510 ID3D10EffectShaderVariable AsShader(); > 511 ID3D10EffectBlendVariable AsBlend(); > 512 ID3D10EffectDepthStencilVariable AsDepthStencil(); > 513 ID3D10EffectRasterizerVariable AsRasterizer(); > 514 ID3D10EffectSamplerVariable AsSampler(); > 515 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count); > 516 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count); > 517 HRESULT GetShaderDesc(UINT ShaderIndex, D3D10_EFFECT_SHADER_DESC* pDesc) > 518 HRESULT GetVertexShader(UINT ShaderIndex, ID3D10VertexShader* ppVS); > 519 HRESULT GetGeometryShader(UINT ShaderIndex, ID3D10GeometryShader* ppGS); > 520 HRESULT GetPixelShader(UINT ShaderIndex, ID3D10PixelShader* ppPS); > 521 HRESULT GetInputSignatureElementDesc(UINT ShaderIndex, UINT Element, D3D > 522 HRESULT GetOutputSignatureElementDesc(UINT ShaderIndex, UINT Element, D3 > 523 */ > 524 } > 525 > 526 extern (C) const GUID IID_ID3D10EffectBlendVariable = {0x1fcd2294, 0xdf6d, 0x4ea > 527 > 528 interface ID3D10EffectBlendVariable : ID3D10EffectVariable { > 529 /* TODO: fix vtbl[0] bug > 530 extern(Windows) : > 531 ID3D10EffectType GetType(); > 532 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc); > 533 ID3D10EffectVariable GetAnnotationByIndex(UINT Index); > 534 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name); > 535 ID3D10EffectVariable GetMemberByIndex(UINT Index); > 536 ID3D10EffectVariable GetMemberByName(LPCSTR Name); > 537 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic); > 538 ID3D10EffectVariable GetElement(UINT Index); > 539 ID3D10EffectConstantBuffer GetParentConstantBuffer(); > 540 ID3D10EffectScalarVariable AsScalar(); > 541 ID3D10EffectVectorVariable AsVector(); > 542 ID3D10EffectMatrixVariable AsMatrix(); > 543 ID3D10EffectStringVariable AsString(); > 544 ID3D10EffectShaderResourceVariable AsShaderResource(); > 545 ID3D10EffectRenderTargetViewVariable AsRenderTargetView(); > 546 ID3D10EffectDepthStencilViewVariable AsDepthStencilView(); > 547 ID3D10EffectConstantBuffer AsConstantBuffer(); > 548 ID3D10EffectShaderVariable AsShader(); > 549 ID3D10EffectBlendVariable AsBlend(); > 550 ID3D10EffectDepthStencilVariable AsDepthStencil(); > 551 ID3D10EffectRasterizerVariable AsRasterizer(); > 552 ID3D10EffectSamplerVariable AsSampler(); > 553 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count); > 554 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count); > 555 HRESULT GetBlendState(UINT Index, ID3D10BlendState* ppBlendState); > 556 HRESULT GetBackingStore(UINT Index, D3D10_BLEND_DESC* pBlendDesc); > 557 */ > 558 } > 559 > 560 extern (C) const GUID IID_ID3D10EffectDepthStencilVariable = {0xaf482368, 0x330a > 561 > 562 interface ID3D10EffectDepthStencilVariable : ID3D10EffectVariable { > 563 /* TODO: fix vtbl[0] bug > 564 extern(Windows) : > 565 ID3D10EffectType GetType(); > 566 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc); > 567 ID3D10EffectVariable GetAnnotationByIndex(UINT Index); > 568 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name); > 569 ID3D10EffectVariable GetMemberByIndex(UINT Index); > 570 ID3D10EffectVariable GetMemberByName(LPCSTR Name); > 571 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic); > 572 ID3D10EffectVariable GetElement(UINT Index); > 573 ID3D10EffectConstantBuffer GetParentConstantBuffer(); > 574 ID3D10EffectScalarVariable AsScalar(); > 575 ID3D10EffectVectorVariable AsVector(); > 576 ID3D10EffectMatrixVariable AsMatrix(); > 577 ID3D10EffectStringVariable AsString(); > 578 ID3D10EffectShaderResourceVariable AsShaderResource(); > 579 ID3D10EffectRenderTargetViewVariable AsRenderTargetView(); > 580 ID3D10EffectDepthStencilViewVariable AsDepthStencilView(); > 581 ID3D10EffectConstantBuffer AsConstantBuffer(); > 582 ID3D10EffectShaderVariable AsShader(); > 583 ID3D10EffectBlendVariable AsBlend(); > 584 ID3D10EffectDepthStencilVariable AsDepthStencil(); > 585 ID3D10EffectRasterizerVariable AsRasterizer(); > 586 ID3D10EffectSamplerVariable AsSampler(); > 587 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count); > 588 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count); > 589 HRESULT GetDepthStencilState(UINT Index, ID3D10DepthStencilState* ppDept > 590 HRESULT GetBackingStore(UINT Index, D3D10_DEPTH_STENCIL_DESC* pDepthSten > 591 */ > 592 } > 593 > 594 extern (C) const GUID IID_ID3D10EffectRasterizerVariable = {0x21af9f0e, 0x4d94, > 595 > 596 interface ID3D10EffectRasterizerVariable : ID3D10EffectVariable { > 597 /* TODO: fix vtbl[0] bug > 598 extern(Windows) : > 599 ID3D10EffectType GetType(); > 600 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc); > 601 ID3D10EffectVariable GetAnnotationByIndex(UINT Index); > 602 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name); > 603 ID3D10EffectVariable GetMemberByIndex(UINT Index); > 604 ID3D10EffectVariable GetMemberByName(LPCSTR Name); > 605 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic); > 606 ID3D10EffectVariable GetElement(UINT Index); > 607 ID3D10EffectConstantBuffer GetParentConstantBuffer(); > 608 ID3D10EffectScalarVariable AsScalar(); > 609 ID3D10EffectVectorVariable AsVector(); > 610 ID3D10EffectMatrixVariable AsMatrix(); > 611 ID3D10EffectStringVariable AsString(); > 612 ID3D10EffectShaderResourceVariable AsShaderResource(); > 613 ID3D10EffectRenderTargetViewVariable AsRenderTargetView(); > 614 ID3D10EffectDepthStencilViewVariable AsDepthStencilView(); > 615 ID3D10EffectConstantBuffer AsConstantBuffer(); > 616 ID3D10EffectShaderVariable AsShader(); > 617 ID3D10EffectBlendVariable AsBlend(); > 618 ID3D10EffectDepthStencilVariable AsDepthStencil(); > 619 ID3D10EffectRasterizerVariable AsRasterizer(); > 620 ID3D10EffectSamplerVariable AsSampler(); > 621 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count); > 622 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count); > 623 HRESULT GetRasterizerState(UINT Index, ID3D10RasterizerState* ppRasteriz > 624 HRESULT GetBackingStore(UINT Index, D3D10_RASTERIZER_DESC* pRasterizerDe > 625 */ > 626 } > 627 > 628 extern (C) const GUID IID_ID3D10EffectSamplerVariable = {0x6530d5c7, 0x07e9, 0x4 > 629 > 630 interface ID3D10EffectSamplerVariable : ID3D10EffectVariable { > 631 /* TODO: fix vtbl[0] bug > 632 extern(Windows) : > 633 ID3D10EffectType GetType(); > 634 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc); > 635 ID3D10EffectVariable GetAnnotationByIndex(UINT Index); > 636 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name); > 637 ID3D10EffectVariable GetMemberByIndex(UINT Index); > 638 ID3D10EffectVariable GetMemberByName(LPCSTR Name); > 639 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic); > 640 ID3D10EffectVariable GetElement(UINT Index); > 641 ID3D10EffectConstantBuffer GetParentConstantBuffer(); > 642 ID3D10EffectScalarVariable AsScalar(); > 643 ID3D10EffectVectorVariable AsVector(); > 644 ID3D10EffectMatrixVariable AsMatrix(); > 645 ID3D10EffectStringVariable AsString(); > 646 ID3D10EffectShaderResourceVariable AsShaderResource(); > 647 ID3D10EffectRenderTargetViewVariable AsRenderTargetView(); > 648 ID3D10EffectDepthStencilViewVariable AsDepthStencilView(); > 649 ID3D10EffectConstantBuffer AsConstantBuffer(); > 650 ID3D10EffectShaderVariable AsShader(); > 651 ID3D10EffectBlendVariable AsBlend(); > 652 ID3D10EffectDepthStencilVariable AsDepthStencil(); > 653 ID3D10EffectRasterizerVariable AsRasterizer(); > 654 ID3D10EffectSamplerVariable AsSampler(); > 655 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count); > 656 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count); > 657 HRESULT GetSampler(UINT Index, ID3D10SamplerState* ppSampler); > 658 HRESULT GetBackingStore(UINT Index, D3D10_SAMPLER_DESC* pSamplerDesc); > 659 */ > 660 } > 661 > 662 struct D3D10_PASS_DESC { > 663 LPCSTR Name; > 664 UINT Annotations; > 665 BYTE* pIAInputSignature; > 666 SIZE_T IAInputSignatureSize; > 667 UINT StencilRef; > 668 UINT SampleMask; > 669 FLOAT[4] BlendFactor; > 670 } > 671 > 672 struct D3D10_PASS_SHADER_DESC { > 673 ID3D10EffectShaderVariable pShaderVariable; > 674 UINT ShaderIndex; > 675 } > 676 > 677 extern (C) const GUID IID_ID3D10EffectPass = {0x5cfbeb89, 0x1a06, 0x46e0, [0xb2, > 678 > 679 /+interface ID3D10EffectPass { > 680 /* TODO: fix vtbl[0] bug > 681 extern(Windows) : > 682 BOOL IsValid(); > 683 HRESULT GetDesc(D3D10_PASS_DESC* pDesc); > 684 HRESULT GetVertexShaderDesc(D3D10_PASS_SHADER_DESC* pDesc); > 685 HRESULT GetGeometryShaderDesc(D3D10_PASS_SHADER_DESC* pDesc); > 686 HRESULT GetPixelShaderDesc(D3D10_PASS_SHADER_DESC* pDesc); > 687 ID3D10EffectVariable GetAnnotationByIndex(UINT Index); > 688 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name); > 689 HRESULT Apply(UINT Flags); > 690 HRESULT ComputeStateBlockMask(D3D10_STATE_BLOCK_MASK* pStateBlockMask); > 691 */ > 692 }+/ > 693 /** > 694 * HACK to FIX vtbl[0] bug: > 695 * This is an example HACK how to fix all interfaces which are NOT derived from > 696 * IUnknown. They need the first entry in their vtbl[] point to the first > 697 * virtual function. > 698 * See: > 699 * http://www.digitalmars.com/d/cpp_interface.html > 700 * http://d.puremagic.com/issues/show_bug.cgi?id=1687 > 701 */ > 702 struct ID3D10EffectPassVtbl { > 703 extern(Windows) : > 704 BOOL function(ID3D10EffectPass) IsValid; > 705 HRESULT function(ID3D10EffectPass, D3D10_PASS_DESC* pDesc) GetDesc; > 706 HRESULT function(ID3D10EffectPass, D3D10_PASS_SHADER_DESC* pDesc) GetVer > 707 HRESULT function(ID3D10EffectPass, D3D10_PASS_SHADER_DESC* pDesc) GetGeo > 708 HRESULT function(ID3D10EffectPass, D3D10_PASS_SHADER_DESC* pDesc) GetPix > 709 ID3D10EffectVariable function(ID3D10EffectPass, UINT Index) GetAnnotatio > 710 ID3D10EffectVariable function(ID3D10EffectPass, LPCSTR Name) GetAnnotati > 711 HRESULT function(ID3D10EffectPass, UINT Flags) Apply; > 712 HRESULT function(ID3D10EffectPass, D3D10_STATE_BLOCK_MASK* pStateBlockMa > 713 } > 714 alias ID3D10EffectPassVtbl** ID3D10EffectPass; > 715 > 716 struct D3D10_TECHNIQUE_DESC { > 717 LPCSTR Name; > 718 UINT Passes; > 719 UINT Annotations; > 720 } > 721 > 722 extern (C) const GUID IID_ID3D10EffectTechnique = {0xdb122ce8, 0xd1c9, 0x4292, [ > 723 > 724 /+interface ID3D10EffectTechnique { > 725 /* TODO: fix vtbl[0] bug > 726 extern(Windows) : > 727 BOOL IsValid(); > 728 HRESULT GetDesc(D3D10_TECHNIQUE_DESC* pDesc); > 729 ID3D10EffectVariable GetAnnotationByIndex(UINT Index); > 730 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name); > 731 ID3D10EffectPass GetPassByIndex(UINT Index); > 732 ID3D10EffectPass GetPassByName(LPCSTR Name); > 733 HRESULT ComputeStateBlockMask(D3D10_STATE_BLOCK_MASK* pStateBlockMask); > 734 */ > 735 }+/ > 736 /** > 737 * HACK to FIX vtbl[0] bug: > 738 * This is an example HACK how to fix all interfaces which are NOT derived from > 739 * IUnknown. They need the first entry in their vtbl[] point to the first > 740 * virtual function. > 741 * See: > 742 * http://www.digitalmars.com/d/cpp_interface.html > 743 * http://d.puremagic.com/issues/show_bug.cgi?id=1687 > 744 */ > 745 struct ID3D10EffectTechniqueVtbl { > 746 extern(Windows) : > 747 BOOL function(ID3D10EffectTechnique) IsValid; > 748 HRESULT function(ID3D10EffectTechnique, D3D10_TECHNIQUE_DESC* pDesc) Get > 749 ID3D10EffectVariable function(ID3D10EffectTechnique, UINT Index) GetAnno > 750 ID3D10EffectVariable function(ID3D10EffectTechnique, LPCSTR Name) GetAnn > 751 ID3D10EffectPass function(ID3D10EffectTechnique, UINT Index) GetPassByIn > 752 ID3D10EffectPass function(ID3D10EffectTechnique, LPCSTR Name) GetPassByN > 753 HRESULT function(ID3D10EffectTechnique, D3D10_STATE_BLOCK_MASK* pStateBl > 754 } > 755 alias ID3D10EffectTechniqueVtbl** ID3D10EffectTechnique; > 756 > 757 struct D3D10_EFFECT_DESC { > 758 BOOL IsChildEffect; > 759 UINT ConstantBuffers; > 760 UINT SharedConstantBuffers; > 761 UINT GlobalVariables; > 762 UINT SharedGlobalVariables; > 763 UINT Techniques; > 764 } > 765 > 766 extern (C) const GUID IID_ID3D10Effect = {0x51b0ca8b, 0xec0b, 0x4519, [0x87, 0xd > 767 > 768 interface ID3D10Effect : IUnknown { > 769 extern(Windows) : > 770 BOOL IsValid(); > 771 BOOL IsPool(); > 772 HRESULT GetDevice(ID3D10Device* ppDevice); > 773 HRESULT GetDesc(D3D10_EFFECT_DESC* pDesc); > 774 ID3D10EffectConstantBuffer GetConstantBufferByIndex(UINT Index); > 775 ID3D10EffectConstantBuffer GetConstantBufferByName(LPCSTR Name); > 776 ID3D10EffectVariable GetVariableByIndex(UINT Index); > 777 ID3D10EffectVariable GetVariableByName(LPCSTR Name); > 778 ID3D10EffectVariable GetVariableBySemantic(LPCSTR Semantic); > 779 ID3D10EffectTechnique GetTechniqueByIndex(UINT Index); > 780 ID3D10EffectTechnique GetTechniqueByName(LPCSTR Name); > 781 HRESULT Optimize(); > 782 BOOL IsOptimized(); > 783 } > 784 > 785 extern (C) const GUID IID_ID3D10EffectPool = {0x9537ab04, 0x3250, 0x412e, [0x82, > 786 > 787 interface ID3D10EffectPool : IUnknown { > 788 extern(Windows) : > 789 ID3D10Effect AsEffect(); > 790 } > 791 > 792 HRESULT D3D10CompileEffectFromMemory(void* pData, SIZE_T DataLength, LPCSTR pSrc > 793 HRESULT D3D10CreateEffectFromMemory(void* pData, SIZE_T DataLength, UINT FXFlags > 794 HRESULT D3D10CreateEffectPoolFromMemory(void* pData, SIZE_T DataLength, UINT FXF > 795 HRESULT D3D10DisassembleEffect(ID3D10Effect pEffect, BOOL EnableColorCode, ID3D1

Added src/win32/directx/d3d10misc.d version [371321ee8dae0650]

> 1 /***********************************************************************\ > 2 * d3d10misc.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Placed into public domain * > 7 \***********************************************************************/ > 8 module win32.directx.d3d10misc; > 9 > 10 private import win32.windows; > 11 > 12 private import win32.directx.dxgi; > 13 private import win32.directx.d3d10; > 14 > 15 extern (C) const GUID IID_ID3D10Blob = { > 16 0x8BA5FB08, 0x5195, 0x40E2, [0xAC, 0x58, 0x0D, 0x98, 0x9C, 0x3A, 0x01, 0 > 17 }; > 18 > 19 interface ID3D10Blob : IUnknown { > 20 extern(Windows) : > 21 LPVOID GetBufferPointer(); > 22 SIZE_T GetBufferSize(); > 23 } > 24 > 25 enum D3D10_DRIVER_TYPE { > 26 D3D10_DRIVER_TYPE_HARDWARE = 0, > 27 D3D10_DRIVER_TYPE_REFERENCE = 1, > 28 D3D10_DRIVER_TYPE_NULL = 2, > 29 D3D10_DRIVER_TYPE_SOFTWARE = 3 > 30 } > 31 > 32 extern (C) const GUID GUID_DeviceType = { > 33 0xD722FB4D, 0x7A68, 0x437A, [0xB2, 0x0C, 0x58, 0x04, 0xEE, 0x24, 0x94, 0 > 34 }; > 35 > 36 extern(Windows) { > 37 HRESULT D3D10CreateDevice(IDXGIAdapter pAdapter, > 38 D3D10_DRIVER_TYPE DriverType, HMODULE Software, UINT Flags, > 39 UINT SDKVersion, ID3D10Device* ppDevice); > 40 HRESULT D3D10CreateDeviceAndSwapChain(IDXGIAdapter pAdapter, > 41 D3D10_DRIVER_TYPE DriverType, HMODULE Software, UINT Flags, > 42 UINT SDKVersion, DXGI_SWAP_CHAIN_DESC* pSwapChainDesc, > 43 IDXGISwapChain* ppSwapChain, ID3D10Device* ppDevice); > 44 HRESULT D3D10CreateBlob(SIZE_T NumBytes, ID3D10Blob* ppBuffer); > 45 }

Added src/win32/directx/d3d10shader.d version [154438c25ca9a643]

> 1 /***********************************************************************\ > 2 * d3d10shader.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Placed into public domain * > 7 \***********************************************************************/ > 8 module win32.directx.d3d10shader; > 9 > 10 private import win32.windows; > 11 private import win32.directx.d3d10; > 12 > 13 > 14 uint D3D10_TX_VERSION(uint _Major, uint _Minor) { > 15 return ('T' << 24) | ('X' << 16) | (_Major << 8) | _Minor; > 16 } > 17 > 18 const D3D10_SHADER_DEBUG > 19 const D3D10_SHADER_SKIP_VALIDATION = 1 << 1 > 20 const D3D10_SHADER_SKIP_OPTIMIZATION = 1 << 2; > 21 const D3D10_SHADER_PACK_MATRIX_ROW_MAJOR = 1 << 3; > 22 const D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR = 1 << 4; > 23 const D3D10_SHADER_PARTIAL_PRECISION = 1 << 5; > 24 const D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT = 1 << 6; > 25 const D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT = 1 << 7; > 26 const D3D10_SHADER_NO_PRESHADER = 1 << 8 > 27 const D3D10_SHADER_AVOID_FLOW_CONTROL = 1 << 9; > 28 const D3D10_SHADER_PREFER_FLOW_CONTROL = 1 << 10; > 29 const D3D10_SHADER_ENABLE_STRICTNESS = 1 << 11; > 30 const D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY = 1 << 12; > 31 const D3D10_SHADER_IEEE_STRICTNESS = 1 << 1 > 32 const D3D10_SHADER_OPTIMIZATION_LEVEL0 = 1 << 14; > 33 const D3D10_SHADER_OPTIMIZATION_LEVEL1 = 0; > 34 const D3D10_SHADER_OPTIMIZATION_LEVEL2 = (1 << 14) | (1 > 35 const D3D10_SHADER_OPTIMIZATION_LEVEL3 = 1 << 15; > 36 > 37 struct D3D10_SHADER_MACRO { > 38 LPCSTR Name; > 39 LPCSTR Definition; > 40 } > 41 > 42 enum D3D10_SHADER_VARIABLE_CLASS { > 43 D3D10_SVC_SCALAR, > 44 D3D10_SVC_VECTOR, > 45 D3D10_SVC_MATRIX_ROWS, > 46 D3D10_SVC_MATRIX_COLUMNS, > 47 D3D10_SVC_OBJECT, > 48 D3D10_SVC_STRUCT, > 49 D3D10_SVC_FORCE_DWORD = 0x7fffffff > 50 } > 51 > 52 enum D3D10_SHADER_VARIABLE_FLAGS { > 53 D3D10_SVF_USERPACKED = 1, > 54 D3D10_SVF_USED = 2, > 55 D3D10_SVF_FORCE_DWORD = 0x7fffffff > 56 } > 57 > 58 enum D3D10_SHADER_VARIABLE_TYPE { > 59 D3D10_SVT_VOID = 0, > 60 D3D10_SVT_BOOL = 1, > 61 D3D10_SVT_INT = 2, > 62 D3D10_SVT_FLOAT = 3, > 63 D3D10_SVT_STRING = 4, > 64 D3D10_SVT_TEXTURE = 5, > 65 D3D10_SVT_TEXTURE1D = 6, > 66 D3D10_SVT_TEXTURE2D = 7, > 67 D3D10_SVT_TEXTURE3D = 8, > 68 D3D10_SVT_TEXTURECUBE = 9, > 69 D3D10_SVT_SAMPLER = 10, > 70 D3D10_SVT_PIXELSHADER = 15, > 71 D3D10_SVT_VERTEXSHADER = 16, > 72 D3D10_SVT_UINT = 19, > 73 D3D10_SVT_UINT8 = 20, > 74 D3D10_SVT_GEOMETRYSHADER = 21, > 75 D3D10_SVT_RASTERIZER = 22, > 76 D3D10_SVT_DEPTHSTENCIL = 23, > 77 D3D10_SVT_BLEND = 24, > 78 D3D10_SVT_BUFFER = 25, > 79 D3D10_SVT_CBUFFER = 26, > 80 D3D10_SVT_TBUFFER = 27, > 81 D3D10_SVT_TEXTURE1DARRAY = 28, > 82 D3D10_SVT_TEXTURE2DARRAY = 29, > 83 D3D10_SVT_RENDERTARGETVIEW = 30, > 84 D3D10_SVT_DEPTHSTENCILVIEW = 31, > 85 D3D10_SVT_TEXTURE2DMS = 32, > 86 D3D10_SVT_TEXTURE2DMSARRAY = 33, > 87 D3D10_SVT_TEXTURECUBEARRAY = 34, > 88 D3D10_SVT_FORCE_DWORD = 0x7fffffff > 89 } > 90 > 91 enum D3D10_SHADER_INPUT_FLAGS { > 92 D3D10_SIF_USERPACKED = 1, > 93 D3D10_SIF_COMPARISON_SAMPLER = 2, > 94 D3D10_SIF_TEXTURE_COMPONENT_0 = 4, > 95 D3D10_SIF_TEXTURE_COMPONENT_1 = 8, > 96 D3D10_SIF_TEXTURE_COMPONENTS = 12, > 97 D3D10_SIF_FORCE_DWORD = 0x7fffffff > 98 } > 99 > 100 enum D3D10_SHADER_INPUT_TYPE { > 101 D3D10_SIT_CBUFFER, > 102 D3D10_SIT_TBUFFER, > 103 D3D10_SIT_TEXTURE, > 104 D3D10_SIT_SAMPLER > 105 } > 106 > 107 enum D3D10_SHADER_CBUFFER_FLAGS { > 108 D3D10_CBF_USERPACKED = 1, > 109 D3D10_CBF_FORCE_DWORD = 0x7fffffff > 110 } > 111 > 112 enum D3D10_CBUFFER_TYPE { > 113 D3D10_CT_CBUFFER, > 114 D3D10_CT_TBUFFER > 115 } > 116 > 117 enum D3D10_NAME { > 118 D3D10_NAME_UNDEFINED = 0, > 119 D3D10_NAME_POSITION = 1, > 120 D3D10_NAME_CLIP_DISTANCE = 2, > 121 D3D10_NAME_CULL_DISTANCE = 3, > 122 D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = 4, > 123 D3D10_NAME_VIEWPORT_ARRAY_INDEX = 5, > 124 D3D10_NAME_VERTEX_ID = 6, > 125 D3D10_NAME_PRIMITIVE_ID = 7, > 126 D3D10_NAME_INSTANCE_ID = 8, > 127 D3D10_NAME_IS_FRONT_FACE = 9, > 128 D3D10_NAME_SAMPLE_INDEX = 10, > 129 D3D10_NAME_TARGET = 64, > 130 D3D10_NAME_DEPTH = 65, > 131 D3D10_NAME_COVERAGE = 66 > 132 } > 133 > 134 enum D3D10_RESOURCE_RETURN_TYPE { > 135 D3D10_RETURN_TYPE_UNORM = 1, > 136 D3D10_RETURN_TYPE_SNORM, > 137 D3D10_RETURN_TYPE_SINT, > 138 D3D10_RETURN_TYPE_UINT, > 139 D3D10_RETURN_TYPE_FLOAT, > 140 D3D10_RETURN_TYPE_MIXED > 141 } > 142 > 143 enum D3D10_REGISTER_COMPONENT_TYPE { > 144 D3D10_REGISTER_COMPONENT_UNKNOWN = 0, > 145 D3D10_REGISTER_COMPONENT_UINT32, > 146 D3D10_REGISTER_COMPONENT_SINT32, > 147 D3D10_REGISTER_COMPONENT_FLOAT32 > 148 } > 149 > 150 enum D3D10_INCLUDE_TYPE { > 151 D3D10_INCLUDE_LOCAL, > 152 D3D10_INCLUDE_SYSTEM, > 153 D3D10_INCLUDE_FORCE_DWORD = 0x7fffffff > 154 } > 155 > 156 interface ID3D10Include { > 157 /* TODO: fix vtbl[0] bug > 158 extern(Windows) : > 159 HRESULT Open(D3D10_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID p > 160 HRESULT Close(LPCVOID pData); > 161 */ > 162 } > 163 > 164 struct D3D10_SHADER_DESC { > 165 UINT Version; > 166 LPCSTR Creator; > 167 UINT Flags; > 168 UINT ConstantBuffers; > 169 UINT BoundResources; > 170 UINT InputParameters; > 171 UINT OutputParameters; > 172 UINT InstructionCount; > 173 UINT TempRegisterCount; > 174 UINT TempArrayCount; > 175 UINT DefCount; > 176 UINT DclCount; > 177 UINT TextureNormalInstructions; > 178 UINT TextureLoadInstructions; > 179 UINT TextureCompInstructions; > 180 UINT TextureBiasInstructions; > 181 UINT TextureGradientInstructions; > 182 UINT FloatInstructionCount; > 183 UINT IntInstructionCount; > 184 UINT UintInstructionCount; > 185 UINT StaticFlowControlCount; > 186 UINT DynamicFlowControlCount; > 187 UINT MacroInstructionCount; > 188 UINT ArrayInstructionCount; > 189 UINT CutInstructionCount; > 190 UINT EmitInstructionCount; > 191 D3D10_PRIMITIVE_TOPOLOGY GSOutputTopology; > 192 UINT GSMaxOutputVertexCount; > 193 } > 194 > 195 struct D3D10_SHADER_BUFFER_DESC { > 196 LPCSTR Name; > 197 D3D10_CBUFFER_TYPE Type; > 198 UINT Variables; > 199 UINT Size; > 200 UINT uFlags; > 201 } > 202 > 203 struct D3D10_SHADER_VARIABLE_DESC { > 204 LPCSTR Name; > 205 UINT StartOffset; > 206 UINT Size; > 207 UINT uFlags; > 208 LPVOID DefaultValue; > 209 } > 210 > 211 struct D3D10_SHADER_TYPE_DESC { > 212 D3D10_SHADER_VARIABLE_CLASS Class; > 213 D3D10_SHADER_VARIABLE_TYPE Type; > 214 UINT Rows; > 215 UINT Columns; > 216 UINT Elements; > 217 UINT Members; > 218 UINT Offset; > 219 } > 220 > 221 struct D3D10_SHADER_INPUT_BIND_DESC { > 222 LPCSTR Name; > 223 D3D10_SHADER_INPUT_TYPE Type; > 224 UINT BindPoint; > 225 UINT BindCount; > 226 UINT uFlags; > 227 D3D10_RESOURCE_RETURN_TYPE ReturnType; > 228 D3D10_SRV_DIMENSION Dimension; > 229 UINT NumSamples; > 230 } > 231 > 232 struct D3D10_SIGNATURE_PARAMETER_DESC { > 233 LPCSTR SemanticName; > 234 UINT SemanticIndex; > 235 UINT Register; > 236 D3D10_NAME SystemValueType; > 237 D3D10_REGISTER_COMPONENT_TYPE ComponentType; > 238 BYTE Mask; > 239 BYTE ReadWriteMask; > 240 } > 241 > 242 extern(C) const GUID IID_ID3D10ShaderReflectionType = {0xc530ad7d, 0x9b16, 0x439 > 243 > 244 interface ID3D10ShaderReflectionType { > 245 /* TODO: fix vtbl[0] bug > 246 extern(Windows) : > 247 HRESULT GetDesc(D3D10_SHADER_TYPE_DESC* pDesc); > 248 ID3D10ShaderReflectionType* GetMemberTypeByIndex(UINT Index); > 249 ID3D10ShaderReflectionType* GetMemberTypeByName(LPCSTR Name); > 250 LPCSTR GetMemberTypeName(UINT Index); > 251 */ > 252 } > 253 > 254 extern(C) const GUID IID_ID3D10ShaderReflectionVariable = {0x1bf63c95, 0x2650, 0 > 255 > 256 interface ID3D10ShaderReflectionVariable { > 257 /* TODO: fix vtbl[0] bug > 258 extern(Windows) : > 259 HRESULT GetDesc(D3D10_SHADER_VARIABLE_DESC* pDesc); > 260 ID3D10ShaderReflectionType* GetType(); > 261 */ > 262 } > 263 > 264 extern(C) const GUID IID_ID3D10ShaderReflectionConstantBuffer = {0x66c66a94, 0xd > 265 > 266 interface ID3D10ShaderReflectionConstantBuffer { > 267 /* TODO: fix vtbl[0] bug > 268 extern(Windows) : > 269 HRESULT GetDesc(D3D10_SHADER_BUFFER_DESC* pDesc); > 270 ID3D10ShaderReflectionVariable* GetVariableByIndex(UINT Index); > 271 ID3D10ShaderReflectionVariable* GetVariableByName(LPCSTR Name); > 272 */ > 273 } > 274 > 275 extern(C) const GUID IID_ID3D10ShaderReflection = {0xd40e20b6, 0xf8f7, 0x42ad, [ > 276 > 277 interface ID3D10ShaderReflection : IUnknown { > 278 extern(Windows) : > 279 HRESULT QueryInterface(REFIID iid, LPVOID* ppv); > 280 ULONG AddRef(); > 281 ULONG Release(); > 282 HRESULT GetDesc(D3D10_SHADER_DESC* pDesc); > 283 ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByIndex(UINT Inde > 284 ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByName(LPCSTR Nam > 285 HRESULT GetResourceBindingDesc(UINT ResourceIndex, D3D10_SHADER_INPUT_BI > 286 HRESULT GetInputParameterDesc(UINT ParameterIndex, D3D10_SIGNATURE_PARAM > 287 HRESULT GetOutputParameterDesc(UINT ParameterIndex, D3D10_SIGNATURE_PARA > 288 } > 289 > 290 HRESULT D3D10CompileShader(LPCSTR pSrcData, SIZE_T SrcDataLen, LPCSTR pFileName, > 291 HRESULT D3D10DisassembleShader(void* pShader, SIZE_T BytecodeLength, BOOL Enable > 292 LPCSTR D3D10GetPixelShaderProfile(ID3D10Device pDevice); > 293 LPCSTR D3D10GetVertexShaderProfile(ID3D10Device pDevice); > 294 LPCSTR D3D10GetGeometryShaderProfile(ID3D10Device pDevice); > 295 HRESULT D3D10ReflectShader(void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10S > 296 HRESULT D3D10PreprocessShader(LPCSTR pSrcData, SIZE_T SrcDataSize, LPCSTR pFileN > 297 HRESULT D3D10GetInputSignatureBlob(void* pShaderBytecode, SIZE_T BytecodeLength, > 298 HRESULT D3D10GetOutputSignatureBlob(void* pShaderBytecode, SIZE_T BytecodeLength > 299 HRESULT D3D10GetInputAndOutputSignatureBlob(void* pShaderBytecode, SIZE_T Byteco > 300 HRESULT D3D10GetShaderDebugInfo(void* pShaderBytecode, SIZE_T BytecodeLength, ID > 301

Added src/win32/directx/d3d9.d version [31c199e5b62e320d]

> 1 /*==========================================================================; > 2 * > 3 * Copyright (C) Microsoft Corporation. All Rights Reserved. > 4 * > 5 * File: d3d9.h > 6 * Content: Direct3D include file > 7 * > 8 ****************************************************************************/ > 9 module win32.directx.d3d9; > 10 > 11 import win32.windows; > 12 public import win32.directx.d3d9types; > 13 public import win32.directx.d3d9caps; > 14 > 15 const DIRECT3D_VERSION = 0x0900; > 16 > 17 /**This identifier is passed to Direct3DCreate9 in order to ensure that an > 18 * application was built against the correct header files. This number is > 19 * incremented whenever a header (or other) change would require applications > 20 * to be rebuilt. If the version doesn't match, Direct3DCreate9 will fail. > 21 * (The number itself has no meaning.)*/ > 22 > 23 debug { > 24 const D3D_SDK_VERSION = (32 | 0x80000000); > 25 const D3D9b_SDK_VERSION = (31 | 0x80000000); > 26 } > 27 else { > 28 const D3D_SDK_VERSION = 32; > 29 const D3D9b_SDK_VERSION = 31; > 30 } > 31 > 32 /* IID_IDirect3D9 */ > 33 /* {81BDCBCA-64D4-426d-AE8D-AD0147F4275C} */ > 34 extern (C) const GUID IID_IDirect3D9 = { 0x81bdcbca, 0x64d4, 0x426d, [0xae, 0x8d > 35 > 36 /* IID_IDirect3DDevice9 */ > 37 // {D0223B96-BF7A-43fd-92BD-A43B0D82B9EB} */ > 38 extern (C) const GUID IID_IDirect3DDevice9 = { 0xd0223b96, 0xbf7a, 0x43fd, [0x92 > 39 > 40 /* IID_IDirect3DResource9 */ > 41 // {05EEC05D-8F7D-4362-B999-D1BAF357C704} > 42 extern (C) const GUID IID_IDirect3DResource9 = { 0x05eec05d, 0x8f7d, 0x4362, [0x > 43 > 44 /* IID_IDirect3DBaseTexture9 */ > 45 /* {580CA87E-1D3C-4d54-991D-B7D3E3C298CE} */ > 46 extern (C) const GUID IID_IDirect3DBaseTexture9 = { 0x580ca87e, 0x1d3c, 0x4d54, > 47 > 48 /* IID_IDirect3DTexture9 */ > 49 /* {85C31227-3DE5-4f00-9B3A-F11AC38C18B5} */ > 50 extern (C) const GUID IID_IDirect3DTexture9 = { 0x85c31227, 0x3de5, 0x4f00, [0x9 > 51 > 52 /* IID_IDirect3DCubeTexture9 */ > 53 /* {FFF32F81-D953-473a-9223-93D652ABA93F} */ > 54 extern (C) const GUID IID_IDirect3DCubeTexture9 = { 0xfff32f81, 0xd953, 0x473a, > 55 > 56 /* IID_IDirect3DVolumeTexture9 */ > 57 /* {2518526C-E789-4111-A7B9-47EF328D13E6} */ > 58 extern (C) const GUID IID_IDirect3DVolumeTexture9 = { 0x2518526c, 0xe789, 0x4111 > 59 > 60 /* IID_IDirect3DVertexBuffer9 */ > 61 /* {B64BB1B5-FD70-4df6-BF91-19D0A12455E3} */ > 62 extern (C) const GUID IID_IDirect3DVertexBuffer9 = { 0xb64bb1b5, 0xfd70, 0x4df6, > 63 > 64 /* IID_IDirect3DIndexBuffer9 */ > 65 /* {7C9DD65E-D3F7-4529-ACEE-785830ACDE35} */ > 66 extern (C) const GUID IID_IDirect3DIndexBuffer9 = { 0x7c9dd65e, 0xd3f7, 0x4529, > 67 > 68 /* IID_IDirect3DSurface9 */ > 69 /* {0CFBAF3A-9FF6-429a-99B3-A2796AF8B89B} */ > 70 extern (C) const GUID IID_IDirect3DSurface9 = { 0xcfbaf3a, 0x9ff6, 0x429a, [0x99 > 71 > 72 /* IID_IDirect3DVolume9 */ > 73 /* {24F416E6-1F67-4aa7-B88E-D33F6F3128A1} */ > 74 extern (C) const GUID IID_IDirect3DVolume9 = { 0x24f416e6, 0x1f67, 0x4aa7, [0xb8 > 75 > 76 /* IID_IDirect3DSwapChain9 */ > 77 /* {794950F2-ADFC-458a-905E-10A10B0B503B} */ > 78 extern (C) const GUID IID_IDirect3DSwapChain9 = { 0x794950f2, 0xadfc, 0x458a, [0 > 79 > 80 /* IID_IDirect3DVertexDeclaration9 */ > 81 /* {DD13C59C-36FA-4098-A8FB-C7ED39DC8546} */ > 82 extern (C) const GUID IID_IDirect3DVertexDeclaration9 = { 0xdd13c59c, 0x36fa, 0x > 83 > 84 /* IID_IDirect3DVertexShader9 */ > 85 /* {EFC5557E-6265-4613-8A94-43857889EB36} */ > 86 extern (C) const GUID IID_IDirect3DVertexShader9 = { 0xefc5557e, 0x6265, 0x4613, > 87 > 88 /* IID_IDirect3DPixelShader9 */ > 89 /* {6D3BDBDC-5B02-4415-B852-CE5E8BCCB289} */ > 90 extern (C) const GUID IID_IDirect3DPixelShader9 = { 0x6d3bdbdc, 0x5b02, 0x4415, > 91 > 92 /* IID_IDirect3DStateBlock9 */ > 93 /* {B07C4FE5-310D-4ba8-A23C-4F0F206F218B} */ > 94 extern (C) const GUID IID_IDirect3DStateBlock9 = { 0xb07c4fe5, 0x310d, 0x4ba8, [ > 95 > 96 /* IID_IDirect3DQuery9 */ > 97 /* {d9771460-a695-4f26-bbd3-27b840b541cc} */ > 98 extern (C) const GUID IID_IDirect3DQuery9 = { 0xd9771460, 0xa695, 0x4f26, [0xbb, > 99 > 100 > 101 /* IID_HelperName */ > 102 /* {E4A36723-FDFE-4b22-B146-3C04C07F4CC8} */ > 103 extern (C) const GUID IID_HelperName = { 0xe4a36723, 0xfdfe, 0x4b22, [0xb1, 0x46 > 104 > 105 /* IID_IDirect3D9Ex */ > 106 /* {02177241-69FC-400C-8FF1-93A44DF6861D} */ > 107 extern (C) const GUID IID_IDirect3D9Ex = { 0x02177241, 0x69FC, 0x400C, [0x8F, 0x > 108 > 109 /* IID_IDirect3DDevice9Ex */ > 110 // {B18B10CE-2649-405a-870F-95F777D4313A} > 111 extern (C) const GUID IID_IDirect3DDevice9Ex = { 0xb18b10ce, 0x2649, 0x405a, [0x > 112 > 113 /* IID_IDirect3DSwapChain9Ex */ > 114 /* {91886CAF-1C3D-4d2e-A0AB-3E4C7D8D3303} */ > 115 extern (C) const GUID IID_IDirect3DSwapChain9Ex = { 0x91886caf, 0x1c3d, 0x4d2e, > 116 > 117 > 118 > 119 extern (C): > 120 /** > 121 * DLL Function for creating a Direct3D9 object. This object supports > 122 * enumeration and allows the creation of Direct3DDevice9 objects. > 123 * Pass the value of the constant D3D_SDK_VERSION to this function, so > 124 * that the run-time can validate that your application was compiled > 125 * against the right headers. > 126 */ > 127 > 128 extern (Windows) LPDIRECT3D9 Direct3DCreate9(UINT SDKVersion); > 129 > 130 /** > 131 * Stubs for graphics profiling. > 132 */ > 133 extern (Windows) int D3DPERF_BeginEvent( D3DCOLOR col, LPCWSTR wszName ); > 134 extern (Windows) int D3DPERF_EndEvent(); > 135 extern (Windows) void D3DPERF_SetMarker( D3DCOLOR col, LPCWSTR wszName ); > 136 extern (Windows) void D3DPERF_SetRegion( D3DCOLOR col, LPCWSTR wszName ); > 137 extern (Windows) BOOL D3DPERF_QueryRepeatFrame(); > 138 > 139 extern (Windows) void D3DPERF_SetOptions( DWORD dwOptions ); > 140 extern (Windows) DWORD D3DPERF_GetStatus(); > 141 > 142 > 143 interface LPDIRECT3D9 : IUnknown > 144 { > 145 HRESULT RegisterSoftwareDevice(void* pInitializeFunction); > 146 UINT GetAdapterCount(); > 147 HRESULT GetAdapterIdentifier( UINT Adapter,DWORD Flags,D3DADAPTER_IDENTIFIER > 148 UINT GetAdapterModeCount(UINT Adapter,D3DFORMAT Format); > 149 HRESULT EnumAdapterModes( UINT Adapter,D3DFORMAT Format,UINT Mode,D3DDISPLAY > 150 HRESULT GetAdapterDisplayMode( UINT Adapter,D3DDISPLAYMODE* pMode); > 151 HRESULT CheckDeviceType( UINT Adapter,D3DDEVTYPE DevType,D3DFORMAT AdapterFo > 152 HRESULT CheckDeviceFormat( UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT Adap > 153 HRESULT CheckDeviceMultiSampleType( UINT Adapter,D3DDEVTYPE DeviceType,D3DFO > 154 HRESULT CheckDepthStencilMatch( UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT > 155 HRESULT CheckDeviceFormatConversion( UINT Adapter,D3DDEVTYPE DeviceType,D3DF > 156 HRESULT GetDeviceCaps( UINT Adapter,D3DDEVTYPE DeviceType,D3DCAPS9* pCaps); > 157 HMONITOR GetAdapterMonitor(UINT Adapter); > 158 HRESULT CreateDevice( UINT Adapter,D3DDEVTYPE DeviceType,HWND hFocusWindow,D > 159 /* > 160 debug { > 161 LPCWSTR Version; > 162 } > 163 */ > 164 } > 165 alias LPDIRECT3D9 IDirect3D9; > 166 > 167 interface LPDIRECT3DDEVICE9 : IUnknown > 168 { > 169 HRESULT TestCooperativeLevel(); > 170 UINT GetAvailableTextureMem(); > 171 HRESULT EvictManagedResources(); > 172 HRESULT GetDirect3D( LPDIRECT3D9* ppD3D9); > 173 HRESULT GetDeviceCaps( D3DCAPS9* pCaps); > 174 HRESULT GetDisplayMode( UINT iSwapChain,D3DDISPLAYMODE* pMode); > 175 HRESULT GetCreationParameters( D3DDEVICE_CREATION_PARAMETERS *pParameters); > 176 HRESULT SetCursorProperties( UINT XHotSpot,UINT YHotSpot,LPDIRECT3DSURFACE9 > 177 void SetCursorPosition(int X,int Y,DWORD Flags); > 178 BOOL ShowCursor(BOOL bShow); > 179 HRESULT CreateAdditionalSwapChain( D3DPRESENT_PARAMETERS* pPresentationParam > 180 HRESULT GetSwapChain( UINT iSwapChain,LPDIRECT3DSWAPCHAIN9* pSwapChain); > 181 UINT GetNumberOfSwapChains(); > 182 HRESULT Reset( D3DPRESENT_PARAMETERS* pPresentationParameters); > 183 HRESULT Present(RECT* pSourceRect,RECT* pDestRect,HWND hDestWindowOverride, > 184 HRESULT GetBackBuffer( UINT iSwapChain,UINT iBackBuffer,D3DBACKBUFFER_TYPE T > 185 HRESULT GetRasterStatus( UINT iSwapChain,D3DRASTER_STATUS* pRasterStatus); > 186 HRESULT SetDialogBoxMode( BOOL bEnableDialogs); > 187 void SetGammaRamp(UINT iSwapChain,DWORD Flags, D3DGAMMARAMP* pRamp); > 188 void GetGammaRamp(UINT iSwapChain,D3DGAMMARAMP* pRamp); > 189 HRESULT CreateTexture( UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFOR > 190 HRESULT CreateVolumeTexture( UINT Width,UINT Height,UINT Depth,UINT Levels,D > 191 HRESULT CreateCubeTexture( UINT EdgeLength,UINT Levels,DWORD Usage,D3DFORMAT > 192 HRESULT CreateVertexBuffer( UINT Length,DWORD Usage,DWORD FVF,D3DPOOL Pool,L > 193 HRESULT CreateIndexBuffer( UINT Length,DWORD Usage,D3DFORMAT Format,D3DPOOL > 194 HRESULT CreateRenderTarget( UINT Width,UINT Height,D3DFORMAT Format,D3DMULTI > 195 HRESULT CreateDepthStencilSurface( UINT Width,UINT Height,D3DFORMAT Format,D > 196 HRESULT UpdateSurface( LPDIRECT3DSURFACE9 pSourceSurface, RECT* pSourceRect, > 197 HRESULT UpdateTexture( LPDIRECT3DBASETEXTURE9 pSourceTexture,LPDIRECT3DBASET > 198 HRESULT GetRenderTargetData( LPDIRECT3DSURFACE9 pRenderTarget,LPDIRECT3DSURF > 199 HRESULT GetFrontBufferData( UINT iSwapChain,LPDIRECT3DSURFACE9 pDestSurface) > 200 HRESULT StretchRect( LPDIRECT3DSURFACE9 pSourceSurface, RECT* pSourceRect,LP > 201 HRESULT ColorFill( LPDIRECT3DSURFACE9 pSurface, RECT* pRect,D3DCOLOR color); > 202 HRESULT CreateOffscreenPlainSurface( UINT Width,UINT Height,D3DFORMAT Format > 203 HRESULT SetRenderTarget( DWORD RenderTargetIndex,LPDIRECT3DSURFACE9 pRenderT > 204 HRESULT GetRenderTarget( DWORD RenderTargetIndex,LPDIRECT3DSURFACE9* ppRende > 205 HRESULT SetDepthStencilSurface( LPDIRECT3DSURFACE9 pNewZStencil); > 206 HRESULT GetDepthStencilSurface( LPDIRECT3DSURFACE9* ppZStencilSurface); > 207 HRESULT BeginScene(); > 208 HRESULT EndScene(); > 209 HRESULT Clear( DWORD Count, D3DRECT* pRects,DWORD Flags,D3DCOLOR Color,float > 210 HRESULT SetTransform( D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix); > 211 HRESULT GetTransform( D3DTRANSFORMSTATETYPE State,D3DMATRIX* pMatrix); > 212 HRESULT MultiplyTransform( D3DTRANSFORMSTATETYPE, D3DMATRIX*); > 213 HRESULT SetViewport( D3DVIEWPORT9* pViewport); > 214 HRESULT GetViewport( D3DVIEWPORT9* pViewport); > 215 HRESULT SetMaterial( D3DMATERIAL9* pMaterial); > 216 HRESULT GetMaterial( D3DMATERIAL9* pMaterial); > 217 HRESULT SetLight( DWORD Index, D3DLIGHT9*); > 218 HRESULT GetLight( DWORD Index,D3DLIGHT9*); > 219 HRESULT LightEnable( DWORD Index,BOOL Enable); > 220 HRESULT GetLightEnable( DWORD Index,BOOL* pEnable); > 221 HRESULT SetClipPlane( DWORD Index, float* pPlane); > 222 HRESULT GetClipPlane( DWORD Index,float* pPlane); > 223 HRESULT SetRenderState( D3DRENDERSTATETYPE State,DWORD Value); > 224 HRESULT GetRenderState( D3DRENDERSTATETYPE State,DWORD* pValue); > 225 HRESULT CreateStateBlock( D3DSTATEBLOCKTYPE Type,LPDIRECT3DSTATEBLOCK9* ppSB > 226 HRESULT BeginStateBlock(); > 227 HRESULT EndStateBlock( LPDIRECT3DSTATEBLOCK9* ppSB); > 228 HRESULT SetClipStatus( D3DCLIPSTATUS9* pClipStatus); > 229 HRESULT GetClipStatus( D3DCLIPSTATUS9* pClipStatus); > 230 HRESULT GetTexture( DWORD Stage,LPDIRECT3DBASETEXTURE9* ppTexture); > 231 HRESULT SetTexture( DWORD Stage,LPDIRECT3DBASETEXTURE9 pTexture); > 232 HRESULT GetTextureStageState( DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWOR > 233 HRESULT SetTextureStageState( DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWOR > 234 HRESULT GetSamplerState( DWORD Sampler,D3DSAMPLERSTATETYPE Type,DWORD* pValu > 235 HRESULT SetSamplerState( DWORD Sampler,D3DSAMPLERSTATETYPE Type,DWORD Value) > 236 HRESULT ValidateDevice( DWORD* pNumPasses); > 237 HRESULT SetPaletteEntries( UINT PaletteNumber, PALETTEENTRY* pEntries); > 238 HRESULT GetPaletteEntries( UINT PaletteNumber,PALETTEENTRY* pEntries); > 239 HRESULT SetCurrentTexturePalette( UINT PaletteNumber); > 240 HRESULT GetCurrentTexturePalette( UINT *PaletteNumber); > 241 HRESULT SetScissorRect( RECT* pRect); > 242 HRESULT GetScissorRect( RECT* pRect); > 243 HRESULT SetSoftwareVertexProcessing( BOOL bSoftware); > 244 BOOL GetSoftwareVertexProcessing(); > 245 HRESULT SetNPatchMode( float nSegments); > 246 float GetNPatchMode(); > 247 HRESULT DrawPrimitive( D3DPRIMITIVETYPE PrimitiveType,UINT StartVertex,UINT > 248 HRESULT DrawIndexedPrimitive( D3DPRIMITIVETYPE,INT BaseVertexIndex,UINT MinV > 249 HRESULT DrawPrimitiveUP( D3DPRIMITIVETYPE PrimitiveType,UINT PrimitiveCount, > 250 HRESULT DrawIndexedPrimitiveUP( D3DPRIMITIVETYPE PrimitiveType,UINT MinVerte > 251 HRESULT ProcessVertices( UINT SrcStartIndex,UINT DestIndex,UINT VertexCount, > 252 HRESULT CreateVertexDeclaration( D3DVERTEXELEMENT9* pVertexElements,LPDIRECT > 253 HRESULT SetVertexDeclaration(LPDIRECT3DVERTEXDECLARATION9 pDecl); > 254 HRESULT GetVertexDeclaration(LPDIRECT3DVERTEXDECLARATION9* ppDecl); > 255 HRESULT SetFVF( DWORD FVF); > 256 HRESULT GetFVF( DWORD* pFVF); > 257 HRESULT CreateVertexShader( DWORD* pFunction,LPDIRECT3DVERTEXSHADER9* ppShad > 258 HRESULT SetVertexShader( LPDIRECT3DVERTEXSHADER9 pShader); > 259 HRESULT GetVertexShader( LPDIRECT3DVERTEXSHADER9* ppShader); > 260 HRESULT SetVertexShaderConstantF( UINT StartRegister, float* pConstantData,U > 261 HRESULT GetVertexShaderConstantF( UINT StartRegister,float* pConstantData,UI > 262 HRESULT SetVertexShaderConstantI( UINT StartRegister, int* pConstantData,UIN > 263 HRESULT GetVertexShaderConstantI( UINT StartRegister,int* pConstantData,UINT > 264 HRESULT SetVertexShaderConstantB( UINT StartRegister, BOOL* pConstantData,UI > 265 HRESULT GetVertexShaderConstantB( UINT StartRegister,BOOL* pConstantData,UIN > 266 HRESULT SetStreamSource( UINT StreamNumber,LPDIRECT3DVERTEXBUFFER9 pStreamDa > 267 HRESULT GetStreamSource( UINT StreamNumber,LPDIRECT3DVERTEXBUFFER9* ppStream > 268 HRESULT SetStreamSourceFreq( UINT StreamNumber,UINT Setting); > 269 HRESULT GetStreamSourceFreq( UINT StreamNumber,UINT* pSetting); > 270 HRESULT SetIndices( LPDIRECT3DINDEXBUFFER9 pIndexData); > 271 HRESULT GetIndices( LPDIRECT3DINDEXBUFFER9* ppIndexData); > 272 HRESULT CreatePixelShader( DWORD* pFunction,LPDIRECT3DPIXELSHADER9* ppShader > 273 HRESULT SetPixelShader(LPDIRECT3DPIXELSHADER9 pShader); > 274 HRESULT GetPixelShader(LPDIRECT3DPIXELSHADER9* ppShader); > 275 HRESULT SetPixelShaderConstantF( UINT StartRegister, float* pConstantData,UI > 276 HRESULT GetPixelShaderConstantF( UINT StartRegister,float* pConstantData,UIN > 277 HRESULT SetPixelShaderConstantI( UINT StartRegister, int* pConstantData,UINT > 278 HRESULT GetPixelShaderConstantI( UINT StartRegister,int* pConstantData,UINT > 279 HRESULT SetPixelShaderConstantB( UINT StartRegister, BOOL* pConstantData,UIN > 280 HRESULT GetPixelShaderConstantB( UINT StartRegister,BOOL* pConstantData,UINT > 281 HRESULT DrawRectPatch( UINT Handle, float* pNumSegs, D3DRECTPATCH_INFO* pRec > 282 HRESULT DrawTriPatch( UINT Handle, float* pNumSegs, D3DTRIPATCH_INFO* pTriPa > 283 HRESULT DeletePatch( UINT Handle); > 284 HRESULT CreateQuery( D3DQUERYTYPE Type,LPDIRECT3DQUERY9* ppQuery); > 285 /* > 286 debug { > 287 D3DDEVICE_CREATION_PARAMETERS CreationParameters; > 288 D3DPRESENT_PARAMETERS PresentParameters; > 289 D3DDISPLAYMODE DisplayMode; > 290 D3DCAPS9 Caps; > 291 > 292 UINT AvailableTextureMem; > 293 UINT SwapChains; > 294 UINT Textures; > 295 UINT VertexBuffers; > 296 UINT IndexBuffers; > 297 UINT VertexShaders; > 298 UINT PixelShaders; > 299 > 300 D3DVIEWPORT9 Viewport; > 301 D3DMATRIX ProjectionMatrix; > 302 D3DMATRIX ViewMatrix; > 303 D3DMATRIX WorldMatrix; > 304 D3DMATRIX[8] TextureMatrices; > 305 > 306 DWORD FVF; > 307 UINT VertexSize; > 308 DWORD VertexShaderVersion; > 309 DWORD PixelShaderVersion; > 310 BOOL SoftwareVertexProcessing; > 311 > 312 D3DMATERIAL9 Material; > 313 D3DLIGHT9[16] Lights; > 314 BOOL[16] LightsEnabled; > 315 > 316 D3DGAMMARAMP GammaRamp; > 317 RECT ScissorRect; > 318 BOOL DialogBoxMode; > 319 } > 320 */ > 321 } > 322 > 323 alias LPDIRECT3DDEVICE9 IDirect3DDevice9; > 324 > 325 > 326 interface LPDIRECT3DSTATEBLOCK9 : IUnknown > 327 { > 328 HRESULT GetDevice(LPDIRECT3DDEVICE9* ppDevice); > 329 HRESULT Capture(); > 330 HRESULT Apply(); > 331 /* > 332 debug { > 333 LPCWSTR CreationCallStack; > 334 } > 335 */ > 336 } > 337 > 338 alias LPDIRECT3DSTATEBLOCK9 IDirect3DStateBlock9; > 339 > 340 interface LPDIRECT3DSWAPCHAIN9 : IUnknown > 341 { > 342 HRESULT Present( RECT* pSourceRect, RECT* pDestRect,HWND hDestWindowOverride > 343 HRESULT GetFrontBufferData( LPDIRECT3DSURFACE9 pDestSurface); > 344 HRESULT GetBackBuffer( UINT iBackBuffer,D3DBACKBUFFER_TYPE Type,LPDIRECT3DSU > 345 HRESULT GetRasterStatus( D3DRASTER_STATUS* pRasterStatus); > 346 HRESULT GetDisplayMode( D3DDISPLAYMODE* pMode); > 347 HRESULT GetDevice( LPDIRECT3DDEVICE9 * ppDevice); > 348 HRESULT GetPresentParameters( D3DPRESENT_PARAMETERS* pPresentationParameters > 349 /* > 350 debug { > 351 D3DPRESENT_PARAMETERS PresentParameters; > 352 D3DDISPLAYMODE DisplayMode; > 353 LPCWSTR CreationCallStack; > 354 } > 355 */ > 356 } > 357 > 358 alias LPDIRECT3DSWAPCHAIN9 IDirect3DSwapChain9; > 359 > 360 interface LPDIRECT3DRESOURCE9 : IUnknown > 361 { > 362 HRESULT GetDevice( LPDIRECT3DDEVICE9* ppDevice); > 363 HRESULT SetPrivateData( REFGUID refguid, void* pData,DWORD SizeOfData,DWORD > 364 HRESULT GetPrivateData( REFGUID refguid,void* pData,DWORD* pSizeOfData); > 365 HRESULT FreePrivateData( REFGUID refguid); > 366 DWORD SetPriority(DWORD PriorityNew); > 367 DWORD GetPriority(); > 368 void PreLoad(); > 369 D3DRESOURCETYPE GetType(); > 370 } > 371 > 372 alias LPDIRECT3DRESOURCE9 IDirect3DResource9; > 373 > 374 interface LPDIRECT3DVERTEXDECLARATION9 : IUnknown > 375 { > 376 HRESULT GetDevice( LPDIRECT3DDEVICE9* ppDevice); > 377 HRESULT GetDeclaration( D3DVERTEXELEMENT9* pElement,UINT* pNumElements); > 378 /* > 379 debug { > 380 LPCWSTR CreationCallStack; > 381 } > 382 */ > 383 } > 384 > 385 alias LPDIRECT3DVERTEXDECLARATION9 IDirect3DVertexDeclaration9; > 386 > 387 interface LPDIRECT3DVERTEXSHADER9 : IUnknown > 388 { > 389 HRESULT GetDevice( LPDIRECT3DDEVICE9 * ppDevice); > 390 HRESULT GetFunction( void*,UINT* pSizeOfData); > 391 /* > 392 debug { > 393 DWORD Version; > 394 LPCWSTR CreationCallStack; > 395 } > 396 */ > 397 } > 398 > 399 alias LPDIRECT3DVERTEXSHADER9 IDirect3DVertexShader9; > 400 > 401 interface LPDIRECT3DPIXELSHADER9 : IUnknown > 402 { > 403 HRESULT GetDevice( LPDIRECT3DDEVICE9 * ppDevice); > 404 HRESULT GetFunction( void*,UINT* pSizeOfData); > 405 /* > 406 debug { > 407 DWORD Version; > 408 LPCWSTR CreationCallStack; > 409 } > 410 */ > 411 } > 412 > 413 alias LPDIRECT3DPIXELSHADER9 IDirect3DPixelShader9; > 414 > 415 interface LPDIRECT3DBASETEXTURE9 : LPDIRECT3DRESOURCE9 > 416 { > 417 DWORD SetLOD(DWORD LODNew); > 418 DWORD GetLOD(); > 419 DWORD GetLevelCount(); > 420 HRESULT SetAutoGenFilterType( D3DTEXTUREFILTERTYPE FilterType); > 421 D3DTEXTUREFILTERTYPE GetAutoGenFilterType(); > 422 void GenerateMipSubLevels(); > 423 } > 424 > 425 alias LPDIRECT3DBASETEXTURE9 IDirect3DBaseTexture9; > 426 > 427 interface LPDIRECT3DTEXTURE9 : LPDIRECT3DBASETEXTURE9 > 428 { > 429 HRESULT GetLevelDesc( UINT Level,D3DSURFACE_DESC *pDesc); > 430 HRESULT GetSurfaceLevel( UINT Level,LPDIRECT3DSURFACE9* ppSurfaceLevel); > 431 HRESULT LockRect( UINT Level,D3DLOCKED_RECT* pLockedRect,RECT* pRect,DWORD F > 432 HRESULT UnlockRect( UINT Level); > 433 HRESULT AddDirtyRect(RECT* pDirtyRect); > 434 /* > 435 debug { > 436 LPCWSTR Name; > 437 UINT Width; > 438 UINT Height; > 439 UINT Levels; > 440 DWORD Usage; > 441 D3DFORMAT Format; > 442 D3DPOOL Pool; > 443 DWORD Priority; > 444 DWORD LOD; > 445 D3DTEXTUREFILTERTYPE FilterType; > 446 UINT LockCount; > 447 LPCWSTR CreationCallStack; > 448 } > 449 */ > 450 } > 451 > 452 alias LPDIRECT3DTEXTURE9 IDirect3DTexture9; > 453 > 454 interface LPDIRECT3DVOLUMETEXTURE9 : LPDIRECT3DBASETEXTURE9 > 455 { > 456 HRESULT GetLevelDesc( UINT Level,D3DVOLUME_DESC *pDesc); > 457 HRESULT GetVolumeLevel( UINT Level,LPDIRECT3DVOLUME9* ppVolumeLevel); > 458 HRESULT LockBox( UINT Level,D3DLOCKED_BOX* pLockedVolume, D3DBOX* pBox,DWORD > 459 HRESULT UnlockBox( UINT Level); > 460 HRESULT AddDirtyBox( D3DBOX* pDirtyBox); > 461 /* > 462 debug { > 463 LPCWSTR Name; > 464 UINT Width; > 465 UINT Height; > 466 UINT Depth; > 467 UINT Levels; > 468 DWORD Usage; > 469 D3DFORMAT Format; > 470 D3DPOOL Pool; > 471 DWORD Priority; > 472 DWORD LOD; > 473 D3DTEXTUREFILTERTYPE FilterType; > 474 UINT LockCount; > 475 LPCWSTR CreationCallStack; > 476 } > 477 */ > 478 } > 479 > 480 alias LPDIRECT3DVOLUMETEXTURE9 IDirect3DVolumeTexture9; > 481 > 482 interface LPDIRECT3DCUBETEXTURE9 : LPDIRECT3DBASETEXTURE9 > 483 { > 484 HRESULT GetLevelDesc( UINT Level,D3DSURFACE_DESC *pDesc); > 485 HRESULT GetCubeMapSurface( D3DCUBEMAP_FACES FaceType,UINT Level,LPDIRECT3DSU > 486 HRESULT LockRect( D3DCUBEMAP_FACES FaceType,UINT Level,D3DLOCKED_RECT* pLock > 487 HRESULT UnlockRect( D3DCUBEMAP_FACES FaceType,UINT Level); > 488 HRESULT AddDirtyRect( D3DCUBEMAP_FACES FaceType, RECT* pDirtyRect); > 489 /* > 490 debug { > 491 LPCWSTR Name; > 492 UINT Width; > 493 UINT Height; > 494 UINT Levels; > 495 DWORD Usage; > 496 D3DFORMAT Format; > 497 D3DPOOL Pool; > 498 DWORD Priority; > 499 DWORD LOD; > 500 D3DTEXTUREFILTERTYPE FilterType; > 501 UINT LockCount; > 502 LPCWSTR CreationCallStack; > 503 } > 504 */ > 505 } > 506 > 507 alias LPDIRECT3DCUBETEXTURE9 IDirect3DCubeTexture9; > 508 > 509 interface LPDIRECT3DVERTEXBUFFER9 : LPDIRECT3DRESOURCE9 > 510 { > 511 HRESULT Lock( UINT OffsetToLock,UINT SizeToLock,void** ppbData,DWORD Flags); > 512 HRESULT Unlock(); > 513 HRESULT GetDesc( D3DVERTEXBUFFER_DESC *pDesc); > 514 /* > 515 debug { > 516 LPCWSTR Name; > 517 UINT Length; > 518 DWORD Usage; > 519 DWORD FVF; > 520 D3DPOOL Pool; > 521 DWORD Priority; > 522 UINT LockCount; > 523 LPCWSTR CreationCallStack; > 524 } > 525 */ > 526 } > 527 > 528 alias LPDIRECT3DVERTEXBUFFER9 IDirect3DVertexBuffer9; > 529 > 530 interface LPDIRECT3DINDEXBUFFER9 : LPDIRECT3DRESOURCE9 > 531 { > 532 HRESULT Lock( UINT OffsetToLock,UINT SizeToLock,void** ppbData,DWORD Flags); > 533 HRESULT Unlock(); > 534 HRESULT GetDesc( D3DINDEXBUFFER_DESC *pDesc); > 535 /* > 536 debug { > 537 LPCWSTR Name; > 538 UINT Length; > 539 DWORD Usage; > 540 D3DFORMAT Format; > 541 D3DPOOL Pool; > 542 DWORD Priority; > 543 UINT LockCount; > 544 LPCWSTR CreationCallStack; > 545 } > 546 */ > 547 } > 548 > 549 alias LPDIRECT3DINDEXBUFFER9 IDirect3DIndexBuffer9; > 550 > 551 interface LPDIRECT3DSURFACE9 : LPDIRECT3DRESOURCE9 > 552 { > 553 HRESULT GetContainer( REFIID riid,void** ppContainer); > 554 HRESULT GetDesc( D3DSURFACE_DESC *pDesc); > 555 HRESULT LockRect( D3DLOCKED_RECT* pLockedRect, RECT* pRect,DWORD Flags); > 556 HRESULT UnlockRect(); > 557 HRESULT GetDC( HDC *phdc); > 558 HRESULT ReleaseDC( HDC hdc); > 559 /* > 560 debug { > 561 LPCWSTR Name; > 562 UINT Width; > 563 UINT Height; > 564 DWORD Usage; > 565 D3DFORMAT Format; > 566 D3DPOOL Pool; > 567 D3DMULTISAMPLE_TYPE MultiSampleType; > 568 DWORD MultiSampleQuality; > 569 DWORD Priority; > 570 UINT LockCount; > 571 UINT DCCount; > 572 LPCWSTR CreationCallStack; > 573 } > 574 */ > 575 } > 576 > 577 alias LPDIRECT3DSURFACE9 IDirect3DSurface9; > 578 > 579 interface LPDIRECT3DVOLUME9 : IUnknown > 580 { > 581 HRESULT GetDevice( LPDIRECT3DDEVICE9 * ppDevice); > 582 HRESULT SetPrivateData( REFGUID refguid, void* pData,DWORD SizeOfData,DWORD > 583 HRESULT GetPrivateData( REFGUID refguid,void* pData,DWORD* pSizeOfData); > 584 HRESULT FreePrivateData( REFGUID refguid); > 585 HRESULT GetContainer( REFIID riid,void** ppContainer); > 586 HRESULT GetDesc( D3DVOLUME_DESC *pDesc); > 587 HRESULT LockBox( D3DLOCKED_BOX * pLockedVolume, D3DBOX* pBox,DWORD Flags); > 588 HRESULT UnlockBox(); > 589 /* > 590 debug { > 591 LPCWSTR Name; > 592 UINT Width; > 593 UINT Height; > 594 UINT Depth; > 595 DWORD Usage; > 596 D3DFORMAT Format; > 597 D3DPOOL Pool; > 598 UINT LockCount; > 599 LPCWSTR CreationCallStack; > 600 } > 601 */ > 602 } > 603 > 604 alias LPDIRECT3DVOLUME9 IDirect3DVolume9; > 605 > 606 interface LPDIRECT3DQUERY9 : IUnknown > 607 { > 608 HRESULT GetDevice( LPDIRECT3DDEVICE9* ppDevice); > 609 D3DQUERYTYPE GetType(); > 610 DWORD GetDataSize(); > 611 HRESULT Issue( DWORD dwIssueFlags); > 612 HRESULT GetData( void* pData,DWORD dwSize,DWORD dwGetDataFlags); > 613 /* > 614 debug { > 615 D3DQUERYTYPE Type; > 616 DWORD DataSize; > 617 LPCWSTR CreationCallStack; > 618 } > 619 */ > 620 } > 621 > 622 alias LPDIRECT3DQUERY9 IDirect3DQuery9; > 623 > 624 /**************************************************************************** > 625 * Flags for SetPrivateData method on all D3D9 interfaces > 626 * > 627 * The passed pointer is an IUnknown ptr. The SizeOfData argument to SetPrivateD > 628 * must be set to sizeof(IUnknown*). Direct3D will call AddRef through this > 629 * pointer and Release when the private data is destroyed. The data will be > 630 * destroyed when another SetPrivateData with the same GUID is set, when > 631 * FreePrivateData is called, or when the D3D9 object is freed. > 632 ****************************************************************************/ > 633 const D3DSPD_IUNKNOWN = 0x00000001L; > 634 > 635 /**************************************************************************** > 636 * > 637 * Flags for IDirect3D9::CreateDevice's BehaviorFlags > 638 * > 639 ****************************************************************************/ > 640 > 641 const D3DCREATE_FPU_PRESERVE = 0x00000002L; > 642 const D3DCREATE_MULTITHREADED = 0x00000004L; > 643 > 644 const D3DCREATE_PUREDEVICE = 0x00000010L; > 645 const D3DCREATE_SOFTWARE_VERTEXPROCESSING = 0x00000020L; > 646 const D3DCREATE_HARDWARE_VERTEXPROCESSING = 0x00000040L; > 647 const D3DCREATE_MIXED_VERTEXPROCESSING = 0x00000080L; > 648 > 649 const D3DCREATE_DISABLE_DRIVER_MANAGEMENT = 0x00000100L; > 650 const D3DCREATE_ADAPTERGROUP_DEVICE = 0x00000200L; > 651 const D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX = 0x00000400L; > 652 > 653 // This flag causes the D3D runtime not to alter the focus > 654 // window in any way. Use with caution- the burden of supporting > 655 // focus management events (alt-tab, etc.) falls on the > 656 // application, and appropriate responses (switching display > 657 // mode, etc.) should be coded. > 658 const D3DCREATE_NOWINDOWCHANGES = 0x00000800L; > 659 > 660 // Disable multithreading for software vertex processing > 661 const D3DCREATE_DISABLE_PSGP_THREADING = 0x00002000L; > 662 // This flag enables present statistics on device. > 663 const D3DCREATE_ENABLE_PRESENTSTATS = 0x00004000L; > 664 // This flag disables printscreen support in the runtime for this device > 665 const D3DCREATE_DISABLE_PRINTSCREEN = 0x00008000L; > 666 > 667 const D3DCREATE_SCREENSAVER = 0x10000000L; > 668 > 669 > 670 /**************************************************************************** > 671 * > 672 * Parameter for IDirect3D9::CreateDevice's Adapter argument > 673 * > 674 ****************************************************************************/ > 675 > 676 const D3DADAPTER_DEFAULT = 0; > 677 > 678 /**************************************************************************** > 679 * > 680 * Flags for IDirect3D9::EnumAdapters > 681 * > 682 ****************************************************************************/ > 683 > 684 /* > 685 * The D3DENUM_WHQL_LEVEL value has been retired for 9Ex and future versions, > 686 * but it needs to be defined here for compatibility with DX9 and earlier versio > 687 * See the DirectX SDK for sample code on discovering driver signatures. > 688 */ > 689 const D3DENUM_WHQL_LEVEL = 0x00000002L; > 690 > 691 /* NO_DRIVERVERSION will not fill out the DriverVersion field, nor will the > 692 DriverVersion be incorporated into the DeviceIdentifier GUID. WINNT only */ > 693 const D3DENUM_NO_DRIVERVERSION = 0x00000004L; > 694 > 695 > 696 /**************************************************************************** > 697 * > 698 * Maximum number of back-buffers supported in DX9 > 699 * > 700 ****************************************************************************/ > 701 > 702 const D3DPRESENT_BACK_BUFFERS_MAX = 3L; > 703 > 704 /**************************************************************************** > 705 * > 706 * Maximum number of back-buffers supported when apps use CreateDeviceEx > 707 * > 708 ****************************************************************************/ > 709 const D3DPRESENT_BACK_BUFFERS_MAX_EX = 30L; > 710 > 711 /**************************************************************************** > 712 * > 713 * Flags for IDirect3DDevice9::SetGammaRamp > 714 * > 715 ****************************************************************************/ > 716 > 717 const D3DSGR_NO_CALIBRATION = 0x00000000L; > 718 const D3DSGR_CALIBRATE = 0x00000001L; > 719 > 720 /**************************************************************************** > 721 * > 722 * Flags for IDirect3DDevice9::SetCursorPosition > 723 * > 724 ****************************************************************************/ > 725 > 726 const D3DCURSOR_IMMEDIATE_UPDATE = 0x00000001L; > 727 > 728 /**************************************************************************** > 729 * > 730 * Flags for IDirect3DSwapChain9::Present > 731 * > 732 ****************************************************************************/ > 733 > 734 const D3DPRESENT_DONOTWAIT = 0x00000001L; > 735 const D3DPRESENT_LINEAR_CONTENT = 0x00000002L; > 736 const D3DPRESENT_DONOTFLIP = 0x00000004L; > 737 const D3DPRESENT_FLIPRESTART = 0x00000008L; > 738 const D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR = 0x00000010L; > 739 > 740 /**************************************************************************** > 741 * > 742 * Flags for DrawPrimitive/DrawIndexedPrimitive > 743 * Also valid for Begin/BeginIndexed > 744 * Also valid for VertexBuffer::CreateVertexBuffer > 745 ****************************************************************************/ > 746 > 747 > 748 /* > 749 * DirectDraw error codes > 750 */ > 751 const _FACD3D = 0x876; > 752 HRESULT MAKE_D3DHRESULT(T)(T code) { return MAKE_HRESULT( 1, _FACD3D, code ); } > 753 HRESULT MAKE_D3DSTATUS(T)(T code) { return MAKE_HRESULT( 0, _FACD3D, code ); } > 754 > 755 /* > 756 * Direct3D Errors > 757 */ > 758 const HRESULT D3D_OK = S_OK; > 759 > 760 const HRESULT D3DERR_WRONGTEXTUREFORMAT = MAKE_D3DHRESULT(2072); > 761 const HRESULT D3DERR_UNSUPPORTEDCOLOROPERATION = MAKE_D3DHRESULT(2073); > 762 const HRESULT D3DERR_UNSUPPORTEDCOLORARG = MAKE_D3DHRESULT(2074); > 763 const HRESULT D3DERR_UNSUPPORTEDALPHAOPERATION = MAKE_D3DHRESULT(2075); > 764 const HRESULT D3DERR_UNSUPPORTEDALPHAARG = MAKE_D3DHRESULT(2076); > 765 const HRESULT D3DERR_TOOMANYOPERATIONS = MAKE_D3DHRESULT(2077); > 766 const HRESULT D3DERR_CONFLICTINGTEXTUREFILTER = MAKE_D3DHRESULT(2078); > 767 const HRESULT D3DERR_UNSUPPORTEDFACTORVALUE = MAKE_D3DHRESULT(2079); > 768 const HRESULT D3DERR_CONFLICTINGRENDERSTATE = MAKE_D3DHRESULT(2081); > 769 const HRESULT D3DERR_UNSUPPORTEDTEXTUREFILTER = MAKE_D3DHRESULT(2082); > 770 const HRESULT D3DERR_CONFLICTINGTEXTUREPALETTE = MAKE_D3DHRESULT(2086); > 771 const HRESULT D3DERR_DRIVERINTERNALERROR = MAKE_D3DHRESULT(2087); > 772 > 773 const HRESULT D3DERR_NOTFOUND = MAKE_D3DHRESULT(2150); > 774 const HRESULT D3DERR_MOREDATA = MAKE_D3DHRESULT(2151); > 775 const HRESULT D3DERR_DEVICELOST = MAKE_D3DHRESULT(2152); > 776 const HRESULT D3DERR_DEVICENOTRESET = MAKE_D3DHRESULT(2153); > 777 const HRESULT D3DERR_NOTAVAILABLE = MAKE_D3DHRESULT(2154); > 778 const HRESULT D3DERR_OUTOFVIDEOMEMORY = MAKE_D3DHRESULT(380); > 779 const HRESULT D3DERR_INVALIDDEVICE = MAKE_D3DHRESULT(2155); > 780 const HRESULT D3DERR_INVALIDCALL = MAKE_D3DHRESULT(2156); > 781 const HRESULT D3DERR_DRIVERINVALIDCALL = MAKE_D3DHRESULT(2157); > 782 const HRESULT D3DERR_WASSTILLDRAWING = MAKE_D3DHRESULT(540); > 783 const HRESULT D3DOK_NOAUTOGEN = MAKE_D3DSTATUS(2159); > 784 const HRESULT D3DERR_DEVICEREMOVED = MAKE_D3DHRESULT(2160); > 785 const HRESULT S_NOT_RESIDENT = MAKE_D3DSTATUS(2165); > 786 const HRESULT S_RESIDENT_IN_SHARED_MEMORY = MAKE_D3DSTATUS(2166); > 787 const HRESULT S_PRESENT_MODE_CHANGED = MAKE_D3DSTATUS(2167); > 788 const HRESULT S_PRESENT_OCCLUDED = MAKE_D3DSTATUS(2168); > 789 const HRESULT D3DERR_DEVICEHUNG = MAKE_D3DHRESULT(2164); > 790 > 791 > 792 /********************* > 793 /* D3D9Ex interfaces > 794 /*********************/ > 795 > 796 extern (Windows) HRESULT Direct3DCreate9Ex(UINT SDKVersion, LPDIRECT3D9EX*); > 797 > 798 interface LPDIRECT3D9EX : LPDIRECT3D9 > 799 { > 800 UINT GetAdapterModeCountEx(UINT Adapter, D3DDISPLAYMODEFILTER* pFilter ); > 801 HRESULT EnumAdapterModesEx( UINT Adapter, D3DDISPLAYMODEFILTER* pFilter,UINT > 802 HRESULT GetAdapterDisplayModeEx( UINT Adapter,D3DDISPLAYMODEEX* pMode,D3DDIS > 803 HRESULT CreateDeviceEx( UINT Adapter,D3DDEVTYPE DeviceType,HWND hFocusWindow > 804 HRESULT GetAdapterLUID( UINT Adapter,LUID * pLUID); > 805 } > 806 > 807 alias LPDIRECT3D9EX IDirect3D9Ex; > 808 > 809 interface LPDIRECT3DDEVICE9EX : LPDIRECT3DDEVICE9 > 810 { > 811 HRESULT SetConvolutionMonoKernel( UINT width,UINT height,float* rows,float* > 812 HRESULT ComposeRects( LPDIRECT3DSURFACE9 pSrc,LPDIRECT3DSURFACE9 pDst,LPDIRE > 813 HRESULT PresentEx( RECT* pSourceRect, RECT* pDestRect,HWND hDestWindowOverri > 814 HRESULT GetGPUThreadPriority( INT* pPriority); > 815 HRESULT SetGPUThreadPriority( INT Priority); > 816 HRESULT WaitForVBlank( UINT iSwapChain); > 817 HRESULT CheckResourceResidency( LPDIRECT3DRESOURCE9* pResourceArray,UINT32 N > 818 HRESULT SetMaximumFrameLatency( UINT MaxLatency); > 819 HRESULT GetMaximumFrameLatency( UINT* pMaxLatency); > 820 HRESULT CheckDeviceState( HWND hDestinationWindow); > 821 HRESULT CreateRenderTargetEx( UINT Width,UINT Height,D3DFORMAT Format,D3DMUL > 822 HRESULT CreateOffscreenPlainSurfaceEx( UINT Width,UINT Height,D3DFORMAT Form > 823 HRESULT CreateDepthStencilSurfaceEx( UINT Width,UINT Height,D3DFORMAT Format > 824 HRESULT ResetEx( D3DPRESENT_PARAMETERS* pPresentationParameters,D3DDISPLAYMO > 825 HRESULT GetDisplayModeEx( UINT iSwapChain,D3DDISPLAYMODEEX* pMode,D3DDISPLAY > 826 } > 827 > 828 alias LPDIRECT3DDEVICE9EX IDirect3DDevice9Ex; > 829 > 830 interface LPDIRECT3DSWAPCHAIN9EX : LPDIRECT3DSWAPCHAIN9 > 831 { > 832 HRESULT GetLastPresentCount( UINT* pLastPresentCount); > 833 HRESULT GetPresentStats( D3DPRESENTSTATS* pPresentationStatistics); > 834 HRESULT GetDisplayModeEx( D3DDISPLAYMODEEX* pMode,D3DDISPLAYROTATION* pRotat > 835 } > 836 > 837 alias LPDIRECT3DSWAPCHAIN9EX IDirect3DSwapChain9Ex;

Added src/win32/directx/d3d9.def version [9bc07a56e4129974]

> 1 IMPORTS > 2 _Direct3DCreate9@4 = d3d9.Direct3DCreate9

Added src/win32/directx/d3d9caps.d version [8267c3a32638d8fa]

> 1 /*==========================================================================; > 2 * > 3 * Copyright (C) Microsoft Corporation. All Rights Reserved. > 4 * > 5 * File: d3d9caps.h > 6 * Content: Direct3D capabilities include file > 7 * > 8 ***************************************************************************/ > 9 > 10 module win32.directx.d3d9caps; > 11 > 12 private import win32.windows, > 13 win32.directx.d3d9types; > 14 > 15 align(4): > 16 > 17 struct D3DVSHADERCAPS2_0 > 18 { > 19 DWORD Caps; > 20 INT DynamicFlowControlDepth; > 21 INT NumTemps; > 22 INT StaticFlowControlDepth; > 23 } > 24 > 25 const D3DVS20CAPS_PREDICATION = (1<<0); > 26 > 27 const D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH = 24; > 28 const D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH = 0; > 29 const D3DVS20_MAX_NUMTEMPS = 32; > 30 const D3DVS20_MIN_NUMTEMPS = 12; > 31 const D3DVS20_MAX_STATICFLOWCONTROLDEPTH = 4; > 32 const D3DVS20_MIN_STATICFLOWCONTROLDEPTH = 1; > 33 > 34 struct D3DPSHADERCAPS2_0 > 35 { > 36 DWORD Caps; > 37 INT DynamicFlowControlDepth; > 38 INT NumTemps; > 39 INT StaticFlowControlDepth; > 40 INT NumInstructionSlots; > 41 } > 42 > 43 const D3DPS20CAPS_ARBITRARYSWIZZLE = (1<<0); > 44 const D3DPS20CAPS_GRADIENTINSTRUCTIONS = (1<<1); > 45 const D3DPS20CAPS_PREDICATION = (1<<2); > 46 const D3DPS20CAPS_NODEPENDENTREADLIMIT = (1<<3); > 47 const D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT = (1<<4); > 48 > 49 const D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH = 24; > 50 const D3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH = 0; > 51 const D3DPS20_MAX_NUMTEMPS = 32; > 52 const D3DPS20_MIN_NUMTEMPS = 12; > 53 const D3DPS20_MAX_STATICFLOWCONTROLDEPTH = 4; > 54 const D3DPS20_MIN_STATICFLOWCONTROLDEPTH = 0; > 55 const D3DPS20_MAX_NUMINSTRUCTIONSLOTS = 512; > 56 const D3DPS20_MIN_NUMINSTRUCTIONSLOTS = 96; > 57 > 58 const D3DMIN30SHADERINSTRUCTIONS = 512; > 59 const D3DMAX30SHADERINSTRUCTIONS = 32768; > 60 > 61 struct D3DCAPS9 > 62 { > 63 /* Device Info */ > 64 D3DDEVTYPE DeviceType; > 65 UINT AdapterOrdinal; > 66 > 67 /* Caps from DX7 Draw */ > 68 DWORD Caps; > 69 DWORD Caps2; > 70 DWORD Caps3; > 71 DWORD PresentationIntervals; > 72 > 73 /* Cursor Caps */ > 74 DWORD CursorCaps; > 75 > 76 /* 3D Device Caps */ > 77 DWORD DevCaps; > 78 > 79 DWORD PrimitiveMiscCaps; > 80 DWORD RasterCaps; > 81 DWORD ZCmpCaps; > 82 DWORD SrcBlendCaps; > 83 DWORD DestBlendCaps; > 84 DWORD AlphaCmpCaps; > 85 DWORD ShadeCaps; > 86 DWORD TextureCaps; > 87 DWORD TextureFilterCaps; // D3DPTFILTERCAPS for IDirect3DTexture9 > 88 DWORD CubeTextureFilterCaps; // D3DPTFILTERCAPS for IDirect3DCubeText > 89 DWORD VolumeTextureFilterCaps; // D3DPTFILTERCAPS for IDirect3DVolumeTe > 90 DWORD TextureAddressCaps; // D3DPTADDRESSCAPS for IDirect3DTexture > 91 DWORD VolumeTextureAddressCaps; // D3DPTADDRESSCAPS for IDirect3DVolumeT > 92 > 93 DWORD LineCaps; // D3DLINECAPS > 94 > 95 DWORD MaxTextureWidth, MaxTextureHeight; > 96 DWORD MaxVolumeExtent; > 97 > 98 DWORD MaxTextureRepeat; > 99 DWORD MaxTextureAspectRatio; > 100 DWORD MaxAnisotropy; > 101 float MaxVertexW; > 102 > 103 float GuardBandLeft; > 104 float GuardBandTop; > 105 float GuardBandRight; > 106 float GuardBandBottom; > 107 > 108 float ExtentsAdjust; > 109 DWORD StencilCaps; > 110 > 111 DWORD FVFCaps; > 112 DWORD TextureOpCaps; > 113 DWORD MaxTextureBlendStages; > 114 DWORD MaxSimultaneousTextures; > 115 > 116 DWORD VertexProcessingCaps; > 117 DWORD MaxActiveLights; > 118 DWORD MaxUserClipPlanes; > 119 DWORD MaxVertexBlendMatrices; > 120 DWORD MaxVertexBlendMatrixIndex; > 121 > 122 float MaxPointSize; > 123 > 124 DWORD MaxPrimitiveCount; // max number of primitives per DrawPrim > 125 DWORD MaxVertexIndex; > 126 DWORD MaxStreams; > 127 DWORD MaxStreamStride; // max stride for SetStreamSource > 128 > 129 DWORD VertexShaderVersion; > 130 DWORD MaxVertexShaderConst; // number of vertex shader constant regi > 131 > 132 DWORD PixelShaderVersion; > 133 float PixelShader1xMaxValue; // max value storable in registers of ps > 134 > 135 // Here are the DX9 specific ones > 136 DWORD DevCaps2; > 137 > 138 float MaxNpatchTessellationLevel; > 139 DWORD Reserved5; > 140 > 141 UINT MasterAdapterOrdinal; // ordinal of master adaptor for adapter > 142 UINT AdapterOrdinalInGroup; // ordinal inside the adapter group > 143 UINT NumberOfAdaptersInGroup; // number of adapters in this adapter gr > 144 DWORD DeclTypes; // Data types, supported in vertex decla > 145 DWORD NumSimultaneousRTs; // Will be at least 1 > 146 DWORD StretchRectFilterCaps; // Filter caps supported by StretchRect > 147 D3DVSHADERCAPS2_0 VS20Caps; > 148 D3DPSHADERCAPS2_0 PS20Caps; > 149 DWORD VertexTextureFilterCaps; // D3DPTFILTERCAPS for IDirect3DTexture9 > 150 DWORD MaxVShaderInstructionsExecuted; // maximum number of vertex shader i > 151 DWORD MaxPShaderInstructionsExecuted; // maximum number of pixel shader in > 152 DWORD MaxVertexShader30InstructionSlots; > 153 DWORD MaxPixelShader30InstructionSlots; > 154 } > 155 > 156 // > 157 // BIT DEFINES FOR D3DCAPS9 DWORD MEMBERS > 158 // > 159 > 160 // > 161 // Caps > 162 // > 163 const D3DCAPS_READ_SCANLINE = 0x00020000L; > 164 > 165 // > 166 // Caps2 > 167 // > 168 const D3DCAPS2_FULLSCREENGAMMA = 0x00020000L; > 169 const D3DCAPS2_CANCALIBRATEGAMMA = 0x00100000L; > 170 const D3DCAPS2_RESERVED = 0x02000000L; > 171 const D3DCAPS2_CANMANAGERESOURCE = 0x10000000L; > 172 const D3DCAPS2_DYNAMICTEXTURES = 0x20000000L; > 173 const D3DCAPS2_CANAUTOGENMIPMAP = 0x40000000L; > 174 > 175 const D3DCAPS2_CANSHARERESOURCE = 0x80000000L; > 176 > 177 // > 178 // Caps3 > 179 // > 180 const D3DCAPS3_RESERVED = 0x8000001fL; > 181 > 182 // Indicates that the device can respect the ALPHABLENDENABLE render state > 183 // when fullscreen while using the FLIP or DISCARD swap effect. > 184 // COPY and COPYVSYNC swap effects work whether or not this flag is set. > 185 const D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD = 0x00000020L; > 186 > 187 // Indicates that the device can perform a gamma correction from > 188 // a windowed back buffer containing linear content to the sRGB desktop. > 189 const D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION = 0x00000080L; > 190 > 191 const D3DCAPS3_COPY_TO_VIDMEM = 0x00000100L; /* Device can acclerate copies from > 192 const D3DCAPS3_COPY_TO_SYSTEMMEM = 0x00000200L; /* Device can acclerate copies f > 193 > 194 > 195 // > 196 // PresentationIntervals > 197 // > 198 const D3DPRESENT_INTERVAL_DEFAULT = 0x00000000L; > 199 const D3DPRESENT_INTERVAL_ONE = 0x00000001L; > 200 const D3DPRESENT_INTERVAL_TWO = 0x00000002L; > 201 const D3DPRESENT_INTERVAL_THREE = 0x00000004L; > 202 const D3DPRESENT_INTERVAL_FOUR = 0x00000008L; > 203 const D3DPRESENT_INTERVAL_IMMEDIATE = 0x80000000L; > 204 > 205 // > 206 // CursorCaps > 207 // > 208 // Driver supports HW color cursor in at least hi-res modes(height >=400) > 209 const D3DCURSORCAPS_COLOR = 0x00000001L; > 210 // Driver supports HW cursor also in low-res modes(height < 400) > 211 const D3DCURSORCAPS_LOWRES = 0x00000002L; > 212 > 213 // > 214 // DevCaps > 215 // > 216 const D3DDEVCAPS_EXECUTESYSTEMMEMORY = 0x00000010L; /* Device can use execute bu > 217 const D3DDEVCAPS_EXECUTEVIDEOMEMORY = 0x00000020L; /* Device can use execute buf > 218 const D3DDEVCAPS_TLVERTEXSYSTEMMEMORY = 0x00000040L; /* Device can use TL buffer > 219 const D3DDEVCAPS_TLVERTEXVIDEOMEMORY = 0x00000080L; /* Device can use TL buffers > 220 const D3DDEVCAPS_TEXTURESYSTEMMEMORY = 0x00000100L; /* Device can texture from s > 221 const D3DDEVCAPS_TEXTUREVIDEOMEMORY = 0x00000200L; /* Device can texture from de > 222 const D3DDEVCAPS_DRAWPRIMTLVERTEX = 0x00000400L; /* Device can draw TLVERTEX pri > 223 const D3DDEVCAPS_CANRENDERAFTERFLIP = 0x00000800L; /* Device can render without > 224 const D3DDEVCAPS_TEXTURENONLOCALVIDMEM = 0x00001000L; /* Device can texture from > 225 const D3DDEVCAPS_DRAWPRIMITIVES2 = 0x00002000L; /* Device can support DrawPrimit > 226 const D3DDEVCAPS_SEPARATETEXTUREMEMORIES = 0x00004000L; /* Device is texturing f > 227 const D3DDEVCAPS_DRAWPRIMITIVES2EX = 0x00008000L; /* Device can support Extended > 228 const D3DDEVCAPS_HWTRANSFORMANDLIGHT = 0x00010000L; /* Device can support transf > 229 const D3DDEVCAPS_CANBLTSYSTONONLOCAL = 0x00020000L; /* Device supports a Tex Blt > 230 const D3DDEVCAPS_HWRASTERIZATION = 0x00080000L; /* Device has HW acceleration fo > 231 const D3DDEVCAPS_PUREDEVICE = 0x00100000L; /* Device supports D3DCREATE_PUREDEVI > 232 const D3DDEVCAPS_QUINTICRTPATCHES = 0x00200000L; /* Device supports quintic Bezi > 233 const D3DDEVCAPS_RTPATCHES = 0x00400000L; /* Device supports Rect and Tri patche > 234 const D3DDEVCAPS_RTPATCHHANDLEZERO = 0x00800000L; /* Indicates that RT Patches m > 235 const D3DDEVCAPS_NPATCHES = 0x01000000L; /* Device supports N-Patches */ > 236 > 237 // > 238 // PrimitiveMiscCaps > 239 // > 240 const D3DPMISCCAPS_MASKZ = 0x00000002L; > 241 const D3DPMISCCAPS_CULLNONE = 0x00000010L; > 242 const D3DPMISCCAPS_CULLCW = 0x00000020L; > 243 const D3DPMISCCAPS_CULLCCW = 0x00000040L; > 244 const D3DPMISCCAPS_COLORWRITEENABLE = 0x00000080L; > 245 const D3DPMISCCAPS_CLIPPLANESCALEDPOINTS = 0x00000100L; /* Device correctly clip > 246 const D3DPMISCCAPS_CLIPTLVERTS = 0x00000200L; /* device will clip post-transform > 247 const D3DPMISCCAPS_TSSARGTEMP = 0x00000400L; /* device supports D3DTA_TEMP for t > 248 const D3DPMISCCAPS_BLENDOP = 0x00000800L; /* device supports D3DRS_BLENDOP */ > 249 const D3DPMISCCAPS_NULLREFERENCE = 0x00001000L; /* Reference Device that doesnt > 250 const D3DPMISCCAPS_INDEPENDENTWRITEMASKS = 0x00004000L; /* Device supports indep > 251 const D3DPMISCCAPS_PERSTAGECONSTANT = 0x00008000L; /* Device supports per-stage > 252 const D3DPMISCCAPS_FOGANDSPECULARALPHA = 0x00010000L; /* Device supports separat > 253 use the specular alpha > 254 const D3DPMISCCAPS_SEPARATEALPHABLEND = 0x00020000L; /* Device supports separate > 255 const D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS = 0x00040000L; /* Device supports dif > 256 const D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING = 0x00080000L; /* Device supports > 257 const D3DPMISCCAPS_FOGVERTEXCLAMPED = 0x00100000L; /* Device clamps fog blend fa > 258 > 259 const D3DPMISCCAPS_POSTBLENDSRGBCONVERT = 0x00200000L; /* Indicates device can p > 260 > 261 // > 262 // LineCaps > 263 // > 264 const D3DLINECAPS_TEXTURE = 0x00000001L; > 265 const D3DLINECAPS_ZTEST = 0x00000002L; > 266 const D3DLINECAPS_BLEND = 0x00000004L; > 267 const D3DLINECAPS_ALPHACMP = 0x00000008L; > 268 const D3DLINECAPS_FOG = 0x00000010L; > 269 const D3DLINECAPS_ANTIALIAS = 0x00000020L; > 270 > 271 // > 272 // RasterCaps > 273 // > 274 const D3DPRASTERCAPS_DITHER = 0x00000001L; > 275 const D3DPRASTERCAPS_ZTEST = 0x00000010L; > 276 const D3DPRASTERCAPS_FOGVERTEX = 0x00000080L; > 277 const D3DPRASTERCAPS_FOGTABLE = 0x00000100L; > 278 const D3DPRASTERCAPS_MIPMAPLODBIAS = 0x00002000L; > 279 const D3DPRASTERCAPS_ZBUFFERLESSHSR = 0x00008000L; > 280 const D3DPRASTERCAPS_FOGRANGE = 0x00010000L; > 281 const D3DPRASTERCAPS_ANISOTROPY = 0x00020000L; > 282 const D3DPRASTERCAPS_WBUFFER = 0x00040000L; > 283 const D3DPRASTERCAPS_WFOG = 0x00100000L; > 284 const D3DPRASTERCAPS_ZFOG = 0x00200000L; > 285 const D3DPRASTERCAPS_COLORPERSPECTIVE = 0x00400000L; /* Device iterates colors p > 286 const D3DPRASTERCAPS_SCISSORTEST = 0x01000000L; > 287 const D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS = 0x02000000L; > 288 const D3DPRASTERCAPS_DEPTHBIAS = 0x04000000L; > 289 const D3DPRASTERCAPS_MULTISAMPLE_TOGGLE = 0x08000000L; > 290 > 291 // > 292 // ZCmpCaps, AlphaCmpCaps > 293 // > 294 const D3DPCMPCAPS_NEVER = 0x00000001L; > 295 const D3DPCMPCAPS_LESS = 0x00000002L; > 296 const D3DPCMPCAPS_EQUAL = 0x00000004L; > 297 const D3DPCMPCAPS_LESSEQUAL = 0x00000008L; > 298 const D3DPCMPCAPS_GREATER = 0x00000010L; > 299 const D3DPCMPCAPS_NOTEQUAL = 0x00000020L; > 300 const D3DPCMPCAPS_GREATEREQUAL = 0x00000040L; > 301 const D3DPCMPCAPS_ALWAYS = 0x00000080L; > 302 > 303 // > 304 // SourceBlendCaps, DestBlendCaps > 305 // > 306 const D3DPBLENDCAPS_ZERO = 0x00000001L; > 307 const D3DPBLENDCAPS_ONE = 0x00000002L; > 308 const D3DPBLENDCAPS_SRCCOLOR = 0x00000004L; > 309 const D3DPBLENDCAPS_INVSRCCOLOR = 0x00000008L; > 310 const D3DPBLENDCAPS_SRCALPHA = 0x00000010L; > 311 const D3DPBLENDCAPS_INVSRCALPHA = 0x00000020L; > 312 const D3DPBLENDCAPS_DESTALPHA = 0x00000040L; > 313 const D3DPBLENDCAPS_INVDESTALPHA = 0x00000080L; > 314 const D3DPBLENDCAPS_DESTCOLOR = 0x00000100L; > 315 const D3DPBLENDCAPS_INVDESTCOLOR = 0x00000200L; > 316 const D3DPBLENDCAPS_SRCALPHASAT = 0x00000400L; > 317 const D3DPBLENDCAPS_BOTHSRCALPHA = 0x00000800L; > 318 const D3DPBLENDCAPS_BOTHINVSRCALPHA = 0x00001000L; > 319 const D3DPBLENDCAPS_BLENDFACTOR = 0x00002000L; /* Supports both D3DBLEND_BLENDFA > 320 > 321 const D3DPBLENDCAPS_SRCCOLOR2 = 0x00004000L; > 322 const D3DPBLENDCAPS_INVSRCCOLOR2 = 0x00008000L; > 323 > 324 // > 325 // ShadeCaps > 326 // > 327 const D3DPSHADECAPS_COLORGOURAUDRGB = 0x00000008L; > 328 const D3DPSHADECAPS_SPECULARGOURAUDRGB = 0x00000200L; > 329 const D3DPSHADECAPS_ALPHAGOURAUDBLEND = 0x00004000L; > 330 const D3DPSHADECAPS_FOGGOURAUD = 0x00080000L; > 331 > 332 // > 333 // TextureCaps > 334 // > 335 const D3DPTEXTURECAPS_PERSPECTIVE = 0x00000001L; /* Perspective-correct texturin > 336 const D3DPTEXTURECAPS_POW2 = 0x00000002L; /* Power-of-2 texture dimensions are r > 337 const D3DPTEXTURECAPS_ALPHA = 0x00000004L; /* Alpha in texture pixels is support > 338 const D3DPTEXTURECAPS_SQUAREONLY = 0x00000020L; /* Only square textures are supp > 339 const D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE = 0x00000040L; /* Texture indices > 340 const D3DPTEXTURECAPS_ALPHAPALETTE = 0x00000080L; /* Device can draw alpha from > 341 // Device can use non-POW2 textures if: > 342 // 1) D3DTEXTURE_ADDRESS is set to CLAMP for this texture's stage > 343 // 2) D3DRS_WRAP(N) is zero for this texture's coordinates > 344 // 3) mip mapping is not enabled (use magnification filter only) > 345 const D3DPTEXTURECAPS_NONPOW2CONDITIONAL = 0x00000100L; > 346 const D3DPTEXTURECAPS_PROJECTED = 0x00000400L; /* Device can do D3DTTFF_PROJECTE > 347 const D3DPTEXTURECAPS_CUBEMAP = 0x00000800L; /* Device can do cubemap textures * > 348 const D3DPTEXTURECAPS_VOLUMEMAP = 0x00002000L; /* Device can do volume textures > 349 const D3DPTEXTURECAPS_MIPMAP = 0x00004000L; /* Device can do mipmapped textures > 350 const D3DPTEXTURECAPS_MIPVOLUMEMAP = 0x00008000L; /* Device can do mipmapped vol > 351 const D3DPTEXTURECAPS_MIPCUBEMAP = 0x00010000L; /* Device can do mipmapped cube > 352 const D3DPTEXTURECAPS_CUBEMAP_POW2 = 0x00020000L; /* Device requires that cubema > 353 const D3DPTEXTURECAPS_VOLUMEMAP_POW2 = 0x00040000L; /* Device requires that volu > 354 const D3DPTEXTURECAPS_NOPROJECTEDBUMPENV = 0x00200000L; /* Device does not suppo > 355 in programmable and f > 356 > 357 // > 358 // TextureFilterCaps, StretchRectFilterCaps > 359 // > 360 const D3DPTFILTERCAPS_MINFPOINT = 0x00000100L; /* Min Filter */ > 361 const D3DPTFILTERCAPS_MINFLINEAR = 0x00000200L; > 362 const D3DPTFILTERCAPS_MINFANISOTROPIC = 0x00000400L; > 363 const D3DPTFILTERCAPS_MINFPYRAMIDALQUAD = 0x00000800L; > 364 const D3DPTFILTERCAPS_MINFGAUSSIANQUAD = 0x00001000L; > 365 const D3DPTFILTERCAPS_MIPFPOINT = 0x00010000L; /* Mip Filter */ > 366 const D3DPTFILTERCAPS_MIPFLINEAR = 0x00020000L; > 367 > 368 const D3DPTFILTERCAPS_CONVOLUTIONMONO = 0x00040000L; /* Min and Mag for the conv > 369 > 370 const D3DPTFILTERCAPS_MAGFPOINT = 0x01000000L; /* Mag Filter */ > 371 const D3DPTFILTERCAPS_MAGFLINEAR = 0x02000000L; > 372 const D3DPTFILTERCAPS_MAGFANISOTROPIC = 0x04000000L; > 373 const D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD = 0x08000000L; > 374 const D3DPTFILTERCAPS_MAGFGAUSSIANQUAD = 0x10000000L; > 375 > 376 // > 377 // TextureAddressCaps > 378 // > 379 const D3DPTADDRESSCAPS_WRAP = 0x00000001L; > 380 const D3DPTADDRESSCAPS_MIRROR = 0x00000002L; > 381 const D3DPTADDRESSCAPS_CLAMP = 0x00000004L; > 382 const D3DPTADDRESSCAPS_BORDER = 0x00000008L; > 383 const D3DPTADDRESSCAPS_INDEPENDENTUV = 0x00000010L; > 384 const D3DPTADDRESSCAPS_MIRRORONCE = 0x00000020L; > 385 > 386 // > 387 // StencilCaps > 388 // > 389 const D3DSTENCILCAPS_KEEP = 0x00000001L; > 390 const D3DSTENCILCAPS_ZERO = 0x00000002L; > 391 const D3DSTENCILCAPS_REPLACE = 0x00000004L; > 392 const D3DSTENCILCAPS_INCRSAT = 0x00000008L; > 393 const D3DSTENCILCAPS_DECRSAT = 0x00000010L; > 394 const D3DSTENCILCAPS_INVERT = 0x00000020L; > 395 const D3DSTENCILCAPS_INCR = 0x00000040L; > 396 const D3DSTENCILCAPS_DECR = 0x00000080L; > 397 const D3DSTENCILCAPS_TWOSIDED = 0x00000100L; > 398 > 399 // > 400 // TextureOpCaps > 401 // > 402 const D3DTEXOPCAPS_DISABLE = 0x00000001L; > 403 const D3DTEXOPCAPS_SELECTARG1 = 0x00000002L; > 404 const D3DTEXOPCAPS_SELECTARG2 = 0x00000004L; > 405 const D3DTEXOPCAPS_MODULATE = 0x00000008L; > 406 const D3DTEXOPCAPS_MODULATE2X = 0x00000010L; > 407 const D3DTEXOPCAPS_MODULATE4X = 0x00000020L; > 408 const D3DTEXOPCAPS_ADD = 0x00000040L; > 409 const D3DTEXOPCAPS_ADDSIGNED = 0x00000080L; > 410 const D3DTEXOPCAPS_ADDSIGNED2X = 0x00000100L; > 411 const D3DTEXOPCAPS_SUBTRACT = 0x00000200L; > 412 const D3DTEXOPCAPS_ADDSMOOTH = 0x00000400L; > 413 const D3DTEXOPCAPS_BLENDDIFFUSEALPHA = 0x00000800L; > 414 const D3DTEXOPCAPS_BLENDTEXTUREALPHA = 0x00001000L; > 415 const D3DTEXOPCAPS_BLENDFACTORALPHA = 0x00002000L; > 416 const D3DTEXOPCAPS_BLENDTEXTUREALPHAPM = 0x00004000L; > 417 const D3DTEXOPCAPS_BLENDCURRENTALPHA = 0x00008000L; > 418 const D3DTEXOPCAPS_PREMODULATE = 0x00010000L; > 419 const D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR = 0x00020000L; > 420 const D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA = 0x00040000L; > 421 const D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR = 0x00080000L; > 422 const D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA = 0x00100000L; > 423 const D3DTEXOPCAPS_BUMPENVMAP = 0x00200000L; > 424 const D3DTEXOPCAPS_BUMPENVMAPLUMINANCE = 0x00400000L; > 425 const D3DTEXOPCAPS_DOTPRODUCT3 = 0x00800000L; > 426 const D3DTEXOPCAPS_MULTIPLYADD = 0x01000000L; > 427 const D3DTEXOPCAPS_LERP = 0x02000000L; > 428 > 429 // > 430 // FVFCaps > 431 // > 432 const D3DFVFCAPS_TEXCOORDCOUNTMASK = 0x0000ffffL; /* mask for texture coordinate > 433 const D3DFVFCAPS_DONOTSTRIPELEMENTS = 0x00080000L; /* Device prefers that vertex > 434 const D3DFVFCAPS_PSIZE = 0x00100000L; /* Device can receive point size */ > 435 > 436 // > 437 // VertexProcessingCaps > 438 // > 439 const D3DVTXPCAPS_TEXGEN = 0x00000001L; /* device can do texgen */ > 440 const D3DVTXPCAPS_MATERIALSOURCE7 = 0x00000002L; /* device can do DX7-level colo > 441 const D3DVTXPCAPS_DIRECTIONALLIGHTS = 0x00000008L; /* device can do directional > 442 const D3DVTXPCAPS_POSITIONALLIGHTS = 0x00000010L; /* device can do positional li > 443 const D3DVTXPCAPS_LOCALVIEWER = 0x00000020L; /* device can do local viewer */ > 444 const D3DVTXPCAPS_TWEENING = 0x00000040L; /* device can do vertex tweening */ > 445 const D3DVTXPCAPS_TEXGEN_SPHEREMAP = 0x00000100L; /* device supports D3DTSS_TCI_ > 446 const D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER = 0x00000200L; /* device does not sup > 447 viewer mode */ > 448 > 449 // > 450 // DevCaps2 > 451 // > 452 const D3DDEVCAPS2_STREAMOFFSET = 0x00000001L; /* Device supports offsets in stre > 453 const D3DDEVCAPS2_DMAPNPATCH = 0x00000002L; /* Device supports displacement maps > 454 const D3DDEVCAPS2_ADAPTIVETESSRTPATCH = 0x00000004L; /* Device supports adaptive > 455 const D3DDEVCAPS2_ADAPTIVETESSNPATCH = 0x00000008L; /* Device supports adaptive > 456 const D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES = 0x00000010L; /* Device support > 457 const D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH = 0x00000020L; /* Device supports presamp > 458 const D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET = 0x00000040L; /* Vertex el > 459 > 460 // > 461 // DeclTypes > 462 // > 463 const D3DDTCAPS_UBYTE4 = 0x00000001L; > 464 const D3DDTCAPS_UBYTE4N = 0x00000002L; > 465 const D3DDTCAPS_SHORT2N = 0x00000004L; > 466 const D3DDTCAPS_SHORT4N = 0x00000008L; > 467 const D3DDTCAPS_USHORT2N = 0x00000010L; > 468 const D3DDTCAPS_USHORT4N = 0x00000020L; > 469 const D3DDTCAPS_UDEC3 = 0x00000040L; > 470 const D3DDTCAPS_DEC3N = 0x00000080L; > 471 const D3DDTCAPS_FLOAT16_2 = 0x00000100L; > 472 const D3DDTCAPS_FLOAT16_4 = 0x00000200L;

Added src/win32/directx/d3d9types.d version [2c1af0c933539827]

> 1 /*==========================================================================; > 2 * > 3 * Copyright (C) Microsoft Corporation. All Rights Reserved. > 4 * > 5 * File: d3d9types.h > 6 * Content: Direct3D capabilities include file > 7 * > 8 ***************************************************************************/ > 9 > 10 module win32.directx.d3d9types; > 11 > 12 private import win32.windows; > 13 > 14 // Alignment compatibility > 15 align(4): > 16 > 17 // D3DCOLOR is equivalent to D3DFMT_A8R8G8B8 > 18 alias TypeDef!(uint) D3DCOLOR; > 19 > 20 // maps unsigned 8 bits/channel to D3DCOLOR > 21 D3DCOLOR D3DCOLOR_ARGB(ubyte a,ubyte r,ubyte g,ubyte b) { return cast(D3DCOLOR)( > 22 D3DCOLOR D3DCOLOR_RGBA(ubyte r,ubyte g,ubyte b,ubyte a) { return D3DCOLOR_ARGB(a > 23 D3DCOLOR D3DCOLOR_XRGB(ubyte r,ubyte g,ubyte b) { return D3DCOLOR_ARGB(0xff,r,g, > 24 > 25 D3DCOLOR D3DCOLOR_XYUV(ubyte y, ubyte u, ubyte v) { return D3DCOLOR_ARGB(0xff,y, > 26 D3DCOLOR D3DCOLOR_AYUV( ubyte a, ubyte y, ubyte u, ubyte v) { return D3DCOLOR_AR > 27 > 28 // maps floating point channels (0.f to 1.f range) to D3DCOLOR > 29 D3DCOLOR D3DCOLOR_COLORVALUE(float r, float g, float b, float a) { return D3DCOL > 30 > 31 struct D3DVECTOR { > 32 float x; > 33 float y; > 34 float z; > 35 } > 36 > 37 struct D3DCOLORVALUE { > 38 float r; > 39 float g; > 40 float b; > 41 float a; > 42 } > 43 > 44 struct D3DRECT { > 45 LONG x1; > 46 LONG y1; > 47 LONG x2; > 48 LONG y2; > 49 } > 50 > 51 struct D3DMATRIX { > 52 union { > 53 struct { > 54 float _11, _12, _13, _14; > 55 float _21, _22, _23, _24; > 56 float _31, _32, _33, _34; > 57 float _41, _42, _43, _44; > 58 } > 59 float[4][4] m; > 60 } > 61 } > 62 > 63 struct D3DVIEWPORT9 { > 64 uint X; > 65 uint Y; /* Viewport Top left */ > 66 uint Width; > 67 uint Height; /* Viewport Dimensions */ > 68 float MinZ; /* Min/max of clip Volume */ > 69 float MaxZ; > 70 } > 71 > 72 /* > 73 * Values for clip fields. > 74 */ > 75 > 76 // Max number of user clipping planes, supported in D3D. > 77 const D3DMAXUSERCLIPPLANES = 32; > 78 > 79 // These bits could be ORed together to use with D3DRS_CLIPPLANEENABLE > 80 // > 81 const D3DCLIPPLANE0 = (1<<0); > 82 const D3DCLIPPLANE1 = (1<<1); > 83 const D3DCLIPPLANE2 = (1<<2); > 84 const D3DCLIPPLANE3 = (1<<3); > 85 const D3DCLIPPLANE4 = (1<<4); > 86 const D3DCLIPPLANE5 = (1<<5); > 87 > 88 // The following bits are used in the ClipUnion and ClipIntersection > 89 // members of the D3DCLIPSTATUS9 > 90 // > 91 > 92 const D3DCS_LEFT = 0x00000001L; > 93 const D3DCS_RIGHT = 0x00000002L; > 94 const D3DCS_TOP = 0x00000004L; > 95 const D3DCS_BOTTOM = 0x00000008L; > 96 const D3DCS_FRONT = 0x00000010L; > 97 const D3DCS_BACK = 0x00000020L; > 98 const D3DCS_PLANE0 = 0x00000040L; > 99 const D3DCS_PLANE1 = 0x00000080L; > 100 const D3DCS_PLANE2 = 0x00000100L; > 101 const D3DCS_PLANE3 = 0x00000200L; > 102 const D3DCS_PLANE4 = 0x00000400L; > 103 const D3DCS_PLANE5 = 0x00000800L; > 104 > 105 const D3DCS_ALL = D3DCS_LEFT | > 106 D3DCS_RIGHT | > 107 D3DCS_TOP | > 108 D3DCS_BOTTOM | > 109 D3DCS_FRONT | > 110 D3DCS_BACK | > 111 D3DCS_PLANE0 | > 112 D3DCS_PLANE1 | > 113 D3DCS_PLANE2 | > 114 D3DCS_PLANE3 | > 115 D3DCS_PLANE4 | > 116 D3DCS_PLANE5; > 117 > 118 struct D3DCLIPSTATUS9 { > 119 uint ClipUnion; > 120 uint ClipIntersection; > 121 } > 122 > 123 struct D3DMATERIAL9 { > 124 D3DCOLORVALUE Diffuse; /* Diffuse color RGBA */ > 125 D3DCOLORVALUE Ambient; /* Ambient color RGB */ > 126 D3DCOLORVALUE Specular; /* Specular 'shininess' */ > 127 D3DCOLORVALUE Emissive; /* Emissive color RGB */ > 128 float Power; /* Sharpness if specular highlight */ > 129 } > 130 > 131 enum : uint { > 132 D3DLIGHT_POINT = 1, > 133 D3DLIGHT_SPOT = 2, > 134 D3DLIGHT_DIRECTIONAL = 3 > 135 } > 136 alias TypeDef!(uint) D3DLIGHTTYPE; > 137 > 138 struct D3DLIGHT9 { > 139 D3DLIGHTTYPE Type; /* Type of light source */ > 140 D3DCOLORVALUE Diffuse; /* Diffuse color of light */ > 141 D3DCOLORVALUE Specular; /* Specular color of light */ > 142 D3DCOLORVALUE Ambient; /* Ambient color of light */ > 143 D3DVECTOR Position; /* Position in world space */ > 144 D3DVECTOR Direction; /* Direction in world space */ > 145 float Range; /* Cutoff range */ > 146 float Falloff; /* Falloff */ > 147 float Attenuation0; /* Constant attenuation */ > 148 float Attenuation1; /* Linear attenuation */ > 149 float Attenuation2; /* Quadratic attenuation */ > 150 float Theta; /* Inner angle of spotlight cone */ > 151 float Phi; /* Outer angle of spotlight cone */ > 152 } > 153 > 154 /* > 155 * Options for clearing > 156 */ > 157 const D3DCLEAR_TARGET = 0x00000001L; /* Clear target surface */ > 158 const D3DCLEAR_ZBUFFER = 0x00000002L; /* Clear target z buffer */ > 159 const D3DCLEAR_STENCIL = 0x00000004L; /* Clear stencil planes */ > 160 > 161 /* > 162 * The following defines the rendering states > 163 */ > 164 > 165 enum : D3DSHADEMODE { > 166 D3DSHADE_FLAT = 1, > 167 D3DSHADE_GOURAUD = 2, > 168 D3DSHADE_PHONG = 3 > 169 } > 170 alias TypeDef!(uint) D3DSHADEMODE; > 171 > 172 enum : D3DFILLMODE { > 173 D3DFILL_POINT = 1, > 174 D3DFILL_WIREFRAME = 2, > 175 D3DFILL_SOLID = 3 > 176 } > 177 alias TypeDef!(uint) D3DFILLMODE; > 178 > 179 enum : D3DBLEND { > 180 D3DBLEND_ZERO = 1, > 181 D3DBLEND_ONE = 2, > 182 D3DBLEND_SRCCOLOR = 3, > 183 D3DBLEND_INVSRCCOLOR = 4, > 184 D3DBLEND_SRCALPHA = 5, > 185 D3DBLEND_INVSRCALPHA = 6, > 186 D3DBLEND_DESTALPHA = 7, > 187 D3DBLEND_INVDESTALPHA = 8, > 188 D3DBLEND_DESTCOLOR = 9, > 189 D3DBLEND_INVDESTCOLOR = 10, > 190 D3DBLEND_SRCALPHASAT = 11, > 191 D3DBLEND_BOTHSRCALPHA = 12, > 192 D3DBLEND_BOTHINVSRCALPHA = 13, > 193 D3DBLEND_BLENDFACTOR = 14, /* Only supported if D3DPBLENDCAPS_BLENDFA > 194 D3DBLEND_INVBLENDFACTOR = 15, /* Only supported if D3DPBLENDCAPS_BLENDFA > 195 D3DBLEND_SRCCOLOR2 = 16, > 196 D3DBLEND_INVSRCCOLOR2 = 17 > 197 } > 198 alias TypeDef!(uint) D3DBLEND; > 199 > 200 enum : D3DBLENDOP { > 201 D3DBLENDOP_ADD = 1, > 202 D3DBLENDOP_SUBTRACT = 2, > 203 D3DBLENDOP_REVSUBTRACT = 3, > 204 D3DBLENDOP_MIN = 4, > 205 D3DBLENDOP_MAX = 5 > 206 } > 207 alias TypeDef!(uint) D3DBLENDOP; > 208 > 209 enum : D3DTEXTUREADDRESS { > 210 D3DTADDRESS_WRAP = 1, > 211 D3DTADDRESS_MIRROR = 2, > 212 D3DTADDRESS_CLAMP = 3, > 213 D3DTADDRESS_BORDER = 4, > 214 D3DTADDRESS_MIRRORONCE = 5 > 215 } > 216 alias TypeDef!(uint) D3DTEXTUREADDRESS; > 217 > 218 enum : D3DCULL { > 219 D3DCULL_NONE = 1, > 220 D3DCULL_CW = 2, > 221 D3DCULL_CCW = 3 > 222 } > 223 alias TypeDef!(uint) D3DCULL; > 224 > 225 enum : D3DCMPFUNC { > 226 D3DCMP_NEVER = 1, > 227 D3DCMP_LESS = 2, > 228 D3DCMP_EQUAL = 3, > 229 D3DCMP_LESSEQUAL = 4, > 230 D3DCMP_GREATER = 5, > 231 D3DCMP_NOTEQUAL = 6, > 232 D3DCMP_GREATEREQUAL = 7, > 233 D3DCMP_ALWAYS = 8 > 234 } > 235 alias TypeDef!(uint) D3DCMPFUNC; > 236 > 237 enum : D3DSTENCILOP { > 238 D3DSTENCILOP_KEEP = 1, > 239 D3DSTENCILOP_ZERO = 2, > 240 D3DSTENCILOP_REPLACE = 3, > 241 D3DSTENCILOP_INCRSAT = 4, > 242 D3DSTENCILOP_DECRSAT = 5, > 243 D3DSTENCILOP_INVERT = 6, > 244 D3DSTENCILOP_INCR = 7, > 245 D3DSTENCILOP_DECR = 8 > 246 } > 247 alias TypeDef!(uint) D3DSTENCILOP; > 248 > 249 enum : D3DFOGMODE { > 250 D3DFOG_NONE = 0, > 251 D3DFOG_EXP = 1, > 252 D3DFOG_EXP2 = 2, > 253 D3DFOG_LINEAR = 3 > 254 } > 255 alias TypeDef!(uint) D3DFOGMODE; > 256 > 257 enum : D3DZBUFFERTYPE { > 258 D3DZB_FALSE = 0, > 259 D3DZB_TRUE = 1, // Z buffering > 260 D3DZB_USEW = 2 // W buffering > 261 } > 262 alias TypeDef!(uint) D3DZBUFFERTYPE; > 263 > 264 // Primitives supported by draw-primitive API > 265 enum : D3DPRIMITIVETYPE { > 266 D3DPT_POINTLIST = 1, > 267 D3DPT_LINELIST = 2, > 268 D3DPT_LINESTRIP = 3, > 269 D3DPT_TRIANGLELIST = 4, > 270 D3DPT_TRIANGLESTRIP = 5, > 271 D3DPT_TRIANGLEFAN = 6 > 272 } > 273 alias TypeDef!(uint) D3DPRIMITIVETYPE; > 274 > 275 D3DTRANSFORMSTATETYPE D3DTS_WORLDMATRIX(uint index) { return cast(D3DTRANSFORMST > 276 template T_D3DTS_WORLDMATRIX(uint index) { > 277 const D3DTRANSFORMSTATETYPE T_D3DTS_WORLDMATRIX = index + 256; > 278 } > 279 > 280 enum : D3DTRANSFORMSTATETYPE { > 281 D3DTS_VIEW = 2, > 282 D3DTS_PROJECTION = 3, > 283 D3DTS_TEXTURE0 = 16, > 284 D3DTS_TEXTURE1 = 17, > 285 D3DTS_TEXTURE2 = 18, > 286 D3DTS_TEXTURE3 = 19, > 287 D3DTS_TEXTURE4 = 20, > 288 D3DTS_TEXTURE5 = 21, > 289 D3DTS_TEXTURE6 = 22, > 290 D3DTS_TEXTURE7 = 23, > 291 D3DTS_WORLD = T_D3DTS_WORLDMATRIX!(0), > 292 D3DTS_WORLD1 = T_D3DTS_WORLDMATRIX!(1), > 293 D3DTS_WORLD2 = T_D3DTS_WORLDMATRIX!(2), > 294 D3DTS_WORLD3 = T_D3DTS_WORLDMATRIX!(3) > 295 } > 296 alias TypeDef!(uint) D3DTRANSFORMSTATETYPE; > 297 > 298 enum : D3DRENDERSTATETYPE { > 299 D3DRS_ZENABLE = 7, /* D3DZBUFFERTYPE (or TRUE/FALSE for > 300 D3DRS_FILLMODE = 8, /* D3DFILLMODE */ > 301 D3DRS_SHADEMODE = 9, /* D3DSHADEMODE */ > 302 D3DRS_ZWRITEENABLE = 14, /* TRUE to enable z writes */ > 303 D3DRS_ALPHATESTENABLE = 15, /* TRUE to enable alpha tests */ > 304 D3DRS_LASTPIXEL = 16, /* TRUE for last-pixel on lines */ > 305 D3DRS_SRCBLEND = 19, /* D3DBLEND */ > 306 D3DRS_DESTBLEND = 20, /* D3DBLEND */ > 307 D3DRS_CULLMODE = 22, /* D3DCULL */ > 308 D3DRS_ZFUNC = 23, /* D3DCMPFUNC */ > 309 D3DRS_ALPHAREF = 24, /* D3DFIXED */ > 310 D3DRS_ALPHAFUNC = 25, /* D3DCMPFUNC */ > 311 D3DRS_DITHERENABLE = 26, /* TRUE to enable dithering */ > 312 D3DRS_ALPHABLENDENABLE = 27, /* TRUE to enable alpha blending */ > 313 D3DRS_FOGENABLE = 28, /* TRUE to enable fog blending */ > 314 D3DRS_SPECULARENABLE = 29, /* TRUE to enable specular */ > 315 D3DRS_FOGCOLOR = 34, /* D3DCOLOR */ > 316 D3DRS_FOGTABLEMODE = 35, /* D3DFOGMODE */ > 317 D3DRS_FOGSTART = 36, /* Fog start (for both vertex and pi > 318 D3DRS_FOGEND = 37, /* Fog end */ > 319 D3DRS_FOGDENSITY = 38, /* Fog density */ > 320 D3DRS_RANGEFOGENABLE = 48, /* Enables range-based fog */ > 321 D3DRS_STENCILENABLE = 52, /* BOOL enable/disable stenciling */ > 322 D3DRS_STENCILFAIL = 53, /* D3DSTENCILOP to do if stencil tes > 323 D3DRS_STENCILZFAIL = 54, /* D3DSTENCILOP to do if stencil tes > 324 D3DRS_STENCILPASS = 55, /* D3DSTENCILOP to do if both stenci > 325 D3DRS_STENCILFUNC = 56, /* D3DCMPFUNC fn. Stencil Test pass > 326 D3DRS_STENCILREF = 57, /* Reference value used in stencil t > 327 D3DRS_STENCILMASK = 58, /* Mask value used in stencil test * > 328 D3DRS_STENCILWRITEMASK = 59, /* Write mask applied to values writ > 329 D3DRS_TEXTUREFACTOR = 60, /* D3DCOLOR used for multi-texture b > 330 D3DRS_WRAP0 = 128, /* wrap for 1st texture coord. set * > 331 D3DRS_WRAP1 = 129, /* wrap for 2nd texture coord. set * > 332 D3DRS_WRAP2 = 130, /* wrap for 3rd texture coord. set * > 333 D3DRS_WRAP3 = 131, /* wrap for 4th texture coord. set * > 334 D3DRS_WRAP4 = 132, /* wrap for 5th texture coord. set * > 335 D3DRS_WRAP5 = 133, /* wrap for 6th texture coord. set * > 336 D3DRS_WRAP6 = 134, /* wrap for 7th texture coord. set * > 337 D3DRS_WRAP7 = 135, /* wrap for 8th texture coord. set * > 338 D3DRS_CLIPPING = 136, > 339 D3DRS_LIGHTING = 137, > 340 D3DRS_AMBIENT = 139, > 341 D3DRS_FOGVERTEXMODE = 140, > 342 D3DRS_COLORVERTEX = 141, > 343 D3DRS_LOCALVIEWER = 142, > 344 D3DRS_NORMALIZENORMALS = 143, > 345 D3DRS_DIFFUSEMATERIALSOURCE = 145, > 346 D3DRS_SPECULARMATERIALSOURCE = 146, > 347 D3DRS_AMBIENTMATERIALSOURCE = 147, > 348 D3DRS_EMISSIVEMATERIALSOURCE = 148, > 349 D3DRS_VERTEXBLEND = 151, > 350 D3DRS_CLIPPLANEENABLE = 152, > 351 D3DRS_POINTSIZE = 154, /* float point size */ > 352 D3DRS_POINTSIZE_MIN = 155, /* float point size min threshold * > 353 D3DRS_POINTSPRITEENABLE = 156, /* BOOL point texture coord control > 354 D3DRS_POINTSCALEENABLE = 157, /* BOOL point size scale enable */ > 355 D3DRS_POINTSCALE_A = 158, /* float point attenuation A value > 356 D3DRS_POINTSCALE_B = 159, /* float point attenuation B value > 357 D3DRS_POINTSCALE_C = 160, /* float point attenuation C value > 358 D3DRS_MULTISAMPLEANTIALIAS = 161, // BOOL - set to do FSAA with multis > 359 D3DRS_MULTISAMPLEMASK = 162, // DWORD - per-sample enable/disable > 360 D3DRS_PATCHEDGESTYLE = 163, // Sets whether patch edges will use > 361 D3DRS_DEBUGMONITORTOKEN = 165, // DEBUG ONLY - token to debug monit > 362 D3DRS_POINTSIZE_MAX = 166, /* float point size max threshold * > 363 D3DRS_INDEXEDVERTEXBLENDENABLE = 167, > 364 D3DRS_COLORWRITEENABLE = 168, // per-channel write enable > 365 D3DRS_TWEENFACTOR = 170, // float tween factor > 366 D3DRS_BLENDOP = 171, // D3DBLENDOP setting > 367 D3DRS_POSITIONDEGREE = 172, // NPatch position interpolation de > 368 D3DRS_NORMALDEGREE = 173, // NPatch normal interpolation degr > 369 D3DRS_SCISSORTESTENABLE = 174, > 370 D3DRS_SLOPESCALEDEPTHBIAS = 175, > 371 D3DRS_ANTIALIASEDLINEENABLE = 176, > 372 D3DRS_MINTESSELLATIONLEVEL = 178, > 373 D3DRS_MAXTESSELLATIONLEVEL = 179, > 374 D3DRS_ADAPTIVETESS_X = 180, > 375 D3DRS_ADAPTIVETESS_Y = 181, > 376 D3DRS_ADAPTIVETESS_Z = 182, > 377 D3DRS_ADAPTIVETESS_W = 183, > 378 D3DRS_ENABLEADAPTIVETESSELLATION = 184, > 379 D3DRS_TWOSIDEDSTENCILMODE = 185, /* BOOL enable/disable 2 sided sten > 380 D3DRS_CCW_STENCILFAIL = 186, /* D3DSTENCILOP to do if ccw stenci > 381 D3DRS_CCW_STENCILZFAIL = 187, /* D3DSTENCILOP to do if ccw stenci > 382 D3DRS_CCW_STENCILPASS = 188, /* D3DSTENCILOP to do if both ccw s > 383 D3DRS_CCW_STENCILFUNC = 189, /* D3DCMPFUNC fn. ccw Stencil Test > 384 D3DRS_COLORWRITEENABLE1 = 190, /* Additional ColorWriteEnables for > 385 D3DRS_COLORWRITEENABLE2 = 191, /* Additional ColorWriteEnables for > 386 D3DRS_COLORWRITEENABLE3 = 192, /* Additional ColorWriteEnables for > 387 D3DRS_BLENDFACTOR = 193, /* D3DCOLOR used for a constant ble > 388 D3DRS_SRGBWRITEENABLE = 194, /* Enable rendertarget writes to be > 389 D3DRS_DEPTHBIAS = 195, > 390 D3DRS_WRAP8 = 198, /* Additional wrap states for vs_3_ > 391 D3DRS_WRAP9 = 199, > 392 D3DRS_WRAP10 = 200, > 393 D3DRS_WRAP11 = 201, > 394 D3DRS_WRAP12 = 202, > 395 D3DRS_WRAP13 = 203, > 396 D3DRS_WRAP14 = 204, > 397 D3DRS_WRAP15 = 205, > 398 D3DRS_SEPARATEALPHABLENDENABLE = 206, /* TRUE to enable a separate blendin > 399 D3DRS_SRCBLENDALPHA = 207, /* SRC blend factor for the alpha ch > 400 D3DRS_DESTBLENDALPHA = 208, /* DST blend factor for the alpha ch > 401 D3DRS_BLENDOPALPHA = 209 /* Blending operation for the alpha > 402 } > 403 alias TypeDef!(uint) D3DRENDERSTATETYPE; > 404 > 405 // Maximum number of simultaneous render targets D3D supports > 406 const D3D_MAX_SIMULTANEOUS_RENDERTARGETS = 4; > 407 > 408 // Values for material source > 409 enum : D3DMATERIALCOLORSOURCE { > 410 D3DMCS_MATERIAL = 0, // Color from material is used > 411 D3DMCS_COLOR1 = 1, // Diffuse vertex color is used > 412 D3DMCS_COLOR2 = 2 // Specular vertex color is used > 413 } > 414 alias TypeDef!(uint) D3DMATERIALCOLORSOURCE; > 415 > 416 // Bias to apply to the texture coordinate set to apply a wrap to. > 417 const D3DRENDERSTATE_WRAPBIAS = 128UL; > 418 > 419 /* Flags to construct the WRAP render states */ > 420 const D3DWRAP_U = 0x00000001L; > 421 const D3DWRAP_V = 0x00000002L; > 422 const D3DWRAP_W = 0x00000004L; > 423 > 424 /* Flags to construct the WRAP render states for 1D thru 4D texture coordinates > 425 const D3DWRAPCOORD_0 = 0x00000001L; // same as D3DWRAP_U > 426 const D3DWRAPCOORD_1 = 0x00000002L; // same as D3DWRAP_V > 427 const D3DWRAPCOORD_2 = 0x00000004L; // same as D3DWRAP_W > 428 const D3DWRAPCOORD_3 = 0x00000008L; > 429 > 430 /* Flags to construct D3DRS_COLORWRITEENABLE */ > 431 const D3DCOLORWRITEENABLE_RED = (1L<<0); > 432 const D3DCOLORWRITEENABLE_GREEN = (1L<<1); > 433 const D3DCOLORWRITEENABLE_BLUE = (1L<<2); > 434 const D3DCOLORWRITEENABLE_ALPHA = (1L<<3); > 435 > 436 /* > 437 * State enumerants for per-stage processing of fixed function pixel processing > 438 * Two of these affect fixed function vertex processing as well: TEXTURETRANSFOR > 439 */ > 440 enum : D3DTEXTURESTAGESTATETYPE { > 441 D3DTSS_COLOROP = 1, /* D3DTEXTUREOP - per-stage blending controls fo > 442 D3DTSS_COLORARG1 = 2, /* D3DTA_* (texture arg) */ > 443 D3DTSS_COLORARG2 = 3, /* D3DTA_* (texture arg) */ > 444 D3DTSS_ALPHAOP = 4, /* D3DTEXTUREOP - per-stage blending controls fo > 445 D3DTSS_ALPHAARG1 = 5, /* D3DTA_* (texture arg) */ > 446 D3DTSS_ALPHAARG2 = 6, /* D3DTA_* (texture arg) */ > 447 D3DTSS_BUMPENVMAT00 = 7, /* float (bump mapping matrix) */ > 448 D3DTSS_BUMPENVMAT01 = 8, /* float (bump mapping matrix) */ > 449 D3DTSS_BUMPENVMAT10 = 9, /* float (bump mapping matrix) */ > 450 D3DTSS_BUMPENVMAT11 = 10, /* float (bump mapping matrix) */ > 451 D3DTSS_TEXCOORDINDEX = 11, /* identifies which set of texture coordinates i > 452 D3DTSS_BUMPENVLSCALE = 22, /* float scale for bump map luminance */ > 453 D3DTSS_BUMPENVLOFFSET = 23, /* float offset for bump map luminance */ > 454 D3DTSS_TEXTURETRANSFORMFLAGS = 24, /* D3DTEXTURETRANSFORMFLAGS controls text > 455 D3DTSS_COLORARG0 = 26, /* D3DTA_* third arg for triadic ops */ > 456 D3DTSS_ALPHAARG0 = 27, /* D3DTA_* third arg for triadic ops */ > 457 D3DTSS_RESULTARG = 28, /* D3DTA_* arg for result (CURRENT or TEMP) */ > 458 D3DTSS_CONSTANT = 32 /* Per-stage constant D3DTA_CONSTANT */ > 459 } > 460 alias TypeDef!(uint) D3DTEXTURESTAGESTATETYPE; > 461 > 462 /* > 463 * State enumerants for per-sampler texture processing. > 464 */ > 465 enum : D3DSAMPLERSTATETYPE { > 466 D3DSAMP_ADDRESSU = 1, /* D3DTEXTUREADDRESS for U coordinate */ > 467 D3DSAMP_ADDRESSV = 2, /* D3DTEXTUREADDRESS for V coordinate */ > 468 D3DSAMP_ADDRESSW = 3, /* D3DTEXTUREADDRESS for W coordinate */ > 469 D3DSAMP_BORDERCOLOR = 4, /* D3DCOLOR */ > 470 D3DSAMP_MAGFILTER = 5, /* D3DTEXTUREFILTER filter to use for magnifica > 471 D3DSAMP_MINFILTER = 6, /* D3DTEXTUREFILTER filter to use for minificat > 472 D3DSAMP_MIPFILTER = 7, /* D3DTEXTUREFILTER filter to use between mipma > 473 D3DSAMP_MIPMAPLODBIAS = 8, /* float Mipmap LOD bias */ > 474 D3DSAMP_MAXMIPLEVEL = 9, /* DWORD 0..(n-1) LOD index of largest map to u > 475 D3DSAMP_MAXANISOTROPY = 10, /* DWORD maximum anisotropy */ > 476 D3DSAMP_SRGBTEXTURE = 11, /* Default = 0 (which means Gamma 1.0, > 477 no correction required.) else correct for > 478 Gamma = 2.2 */ > 479 D3DSAMP_ELEMENTINDEX = 12, /* When multi-element texture is assigned to sa > 480 indicates which element index to use. Defau > 481 D3DSAMP_DMAPOFFSET = 13 /* Offset in vertices in the pre-sampled displa > 482 Only valid for D3DDMAPSAMPLER sampler */ > 483 } > 484 alias TypeDef!(uint) D3DSAMPLERSTATETYPE; > 485 > 486 /* Special sampler which is used in the tesselator */ > 487 const D3DDMAPSAMPLER = 256; > 488 > 489 // Samplers used in vertex shaders > 490 const D3DVERTEXTEXTURESAMPLER0 = (D3DDMAPSAMPLER+1); > 491 const D3DVERTEXTEXTURESAMPLER1 = (D3DDMAPSAMPLER+2); > 492 const D3DVERTEXTEXTURESAMPLER2 = (D3DDMAPSAMPLER+3); > 493 const D3DVERTEXTEXTURESAMPLER3 = (D3DDMAPSAMPLER+4); > 494 > 495 // Values, used with D3DTSS_TEXCOORDINDEX, to specify that the vertex data(posit > 496 // and normal in the camera space) should be taken as texture coordinates > 497 // Low 16 bits are used to specify texture coordinate index, to take the WRAP mo > 498 // > 499 const D3DTSS_TCI_PASSTHRU = 0x00000000; > 500 const D3DTSS_TCI_CAMERASPACENORMAL = 0x00010000; > 501 const D3DTSS_TCI_CAMERASPACEPOSITION = 0x00020000; > 502 const D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR = 0x00030000; > 503 const D3DTSS_TCI_SPHEREMAP = 0x00040000; > 504 > 505 /* > 506 * Enumerations for COLOROP and ALPHAOP texture blending operations set in > 507 * texture processing stage controls in D3DTSS. > 508 */ > 509 enum : D3DTEXTUREOP { > 510 // Control > 511 D3DTOP_DISABLE = 1, // disables stage > 512 D3DTOP_SELECTARG1 = 2, // the default > 513 D3DTOP_SELECTARG2 = 3, > 514 > 515 // Modulate > 516 D3DTOP_MODULATE = 4, // multiply args together > 517 D3DTOP_MODULATE2X = 5, // multiply and 1 bit > 518 D3DTOP_MODULATE4X = 6, // multiply and 2 bits > 519 > 520 // Add > 521 D3DTOP_ADD = 7, // add arguments together > 522 D3DTOP_ADDSIGNED = 8, // add with -0.5 bias > 523 D3DTOP_ADDSIGNED2X = 9, // as above but left 1 bit > 524 D3DTOP_SUBTRACT = 10, // Arg1 - Arg2, with no saturation > 525 D3DTOP_ADDSMOOTH = 11, // add 2 args, subtract product > 526 // Arg1 + Arg2 - Arg1*Arg2 > 527 // = Arg1 + (1-Arg1)*Arg2 > 528 > 529 // Linear alpha blend: Arg1*(Alpha) + Arg2*(1-Alpha) > 530 D3DTOP_BLENDDIFFUSEALPHA = 12, // iterated alpha > 531 D3DTOP_BLENDTEXTUREALPHA = 13, // texture alpha > 532 D3DTOP_BLENDFACTORALPHA = 14, // alpha from D3DRS_TEXTUREFACTOR > 533 > 534 // Linear alpha blend with pre-multiplied arg1 input: Arg1 + Arg2*(1-Alpha) > 535 D3DTOP_BLENDTEXTUREALPHAPM = 15, // texture alpha > 536 D3DTOP_BLENDCURRENTALPHA = 16, // by alpha of current color > 537 > 538 // Specular mapping > 539 D3DTOP_PREMODULATE = 17, // modulate with next texture before > 540 D3DTOP_MODULATEALPHA_ADDCOLOR = 18, // Arg1.RGB + Arg1.A*Arg2.RGB > 541 // COLOROP only > 542 D3DTOP_MODULATECOLOR_ADDALPHA = 19, // Arg1.RGB*Arg2.RGB + Arg1.A > 543 // COLOROP only > 544 D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20, // (1-Arg1.A)*Arg2.RGB + Arg1.RGB > 545 // COLOROP only > 546 D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21, // (1-Arg1.RGB)*Arg2.RGB + Arg1.A > 547 // COLOROP only > 548 > 549 // Bump mapping > 550 D3DTOP_BUMPENVMAP = 22, // per pixel env map perturbation > 551 D3DTOP_BUMPENVMAPLUMINANCE = 23, // with luminance channel > 552 > 553 // This can do either diffuse or specular bump mapping with correct input. > 554 // Performs the function (Arg1.R*Arg2.R + Arg1.G*Arg2.G + Arg1.B*Arg2.B) > 555 // where each component has been scaled and offset to make it signed. > 556 // The result is replicated into all four (including alpha) channels. > 557 // This is a valid COLOROP only. > 558 D3DTOP_DOTPRODUCT3 = 24, > 559 > 560 // Triadic ops > 561 D3DTOP_MULTIPLYADD = 25, // Arg0 + Arg1*Arg2 > 562 D3DTOP_LERP = 26 // (Arg0)*Arg1 + (1-Arg0)*Arg2 > 563 } > 564 alias TypeDef!(uint) D3DTEXTUREOP; > 565 > 566 /* > 567 * Values for COLORARG0,1,2, ALPHAARG0,1,2, and RESULTARG texture blending > 568 * operations set in texture processing stage controls in D3DRENDERSTATE. > 569 */ > 570 const D3DTA_SELECTMASK = 0x0000000f; // mask for arg selector > 571 const D3DTA_DIFFUSE = 0x00000000; // select diffuse color (read only) > 572 const D3DTA_CURRENT = 0x00000001; // select stage destination register (read/wr > 573 const D3DTA_TEXTURE = 0x00000002; // select texture color (read only) > 574 const D3DTA_TFACTOR = 0x00000003; // select D3DRS_TEXTUREFACTOR (read only) > 575 const D3DTA_SPECULAR = 0x00000004; // select specular color (read only) > 576 const D3DTA_TEMP = 0x00000005; // select temporary register color (read/write) > 577 const D3DTA_CONSTANT = 0x00000006; // select texture stage constant > 578 const D3DTA_COMPLEMENT = 0x00000010; // take 1.0 - x (read modifier) > 579 const D3DTA_ALPHAREPLICATE = 0x00000020; // replicate alpha to color components > 580 > 581 // > 582 // Values for D3DSAMP_***FILTER texture stage states > 583 // > 584 enum : D3DTEXTUREFILTERTYPE { > 585 D3DTEXF_NONE = 0, // filtering disabled (valid for mip filter > 586 D3DTEXF_POINT = 1, // nearest > 587 D3DTEXF_LINEAR = 2, // linear interpolation > 588 D3DTEXF_ANISOTROPIC = 3, // anisotropic > 589 D3DTEXF_PYRAMIDALQUAD = 6, // 4-sample tent > 590 D3DTEXF_GAUSSIANQUAD = 7, // 4-sample gaussian > 591 D3DTEXF_CONVOLUTIONMONO = 8 // Convolution filter for monochrome textures > 592 } > 593 alias TypeDef!(uint) D3DTEXTUREFILTERTYPE; > 594 > 595 /* Bits for Flags in ProcessVertices call */ > 596 > 597 const D3DPV_DONOTCOPYDATA = (1 << 0); > 598 > 599 //------------------------------------------------------------------- > 600 > 601 // Flexible vertex format bits > 602 // > 603 const D3DFVF_RESERVED0 = 0x001; > 604 const D3DFVF_POSITION_MASK = 0x400E; > 605 const D3DFVF_XYZ = 0x002; > 606 const D3DFVF_XYZRHW = 0x004; > 607 const D3DFVF_XYZB1 = 0x006; > 608 const D3DFVF_XYZB2 = 0x008; > 609 const D3DFVF_XYZB3 = 0x00a; > 610 const D3DFVF_XYZB4 = 0x00c; > 611 const D3DFVF_XYZB5 = 0x00e; > 612 const D3DFVF_XYZW = 0x4002; > 613 > 614 const D3DFVF_NORMAL = 0x010; > 615 const D3DFVF_PSIZE = 0x020; > 616 const D3DFVF_DIFFUSE = 0x040; > 617 const D3DFVF_SPECULAR = 0x080; > 618 > 619 const D3DFVF_TEXCOUNT_MASK = 0xf00; > 620 const D3DFVF_TEXCOUNT_SHIFT = 8; > 621 const D3DFVF_TEX0 = 0x000; > 622 const D3DFVF_TEX1 = 0x100; > 623 const D3DFVF_TEX2 = 0x200; > 624 const D3DFVF_TEX3 = 0x300; > 625 const D3DFVF_TEX4 = 0x400; > 626 const D3DFVF_TEX5 = 0x500; > 627 const D3DFVF_TEX6 = 0x600; > 628 const D3DFVF_TEX7 = 0x700; > 629 const D3DFVF_TEX8 = 0x800; > 630 > 631 const D3DFVF_LASTBETA_UBYTE4 = 0x1000; > 632 const D3DFVF_LASTBETA_D3DCOLOR = 0x8000; > 633 > 634 const D3DFVF_RESERVED2 = 0x6000; // 2 reserved bits > 635 > 636 //--------------------------------------------------------------------- > 637 // Vertex Shaders > 638 // > 639 > 640 // Vertex shader declaration > 641 > 642 // Vertex element semantics > 643 // > 644 enum : D3DDECLUSAGE { > 645 D3DDECLUSAGE_POSITION = 0, > 646 D3DDECLUSAGE_BLENDWEIGHT, // 1 > 647 D3DDECLUSAGE_BLENDINDICES, // 2 > 648 D3DDECLUSAGE_NORMAL, // 3 > 649 D3DDECLUSAGE_PSIZE, // 4 > 650 D3DDECLUSAGE_TEXCOORD, // 5 > 651 D3DDECLUSAGE_TANGENT, // 6 > 652 D3DDECLUSAGE_BINORMAL, // 7 > 653 D3DDECLUSAGE_TESSFACTOR, // 8 > 654 D3DDECLUSAGE_POSITIONT, // 9 > 655 D3DDECLUSAGE_COLOR, // 10 > 656 D3DDECLUSAGE_FOG, // 11 > 657 D3DDECLUSAGE_DEPTH, // 12 > 658 D3DDECLUSAGE_SAMPLE // 13 > 659 } > 660 alias TypeDef!(uint) D3DDECLUSAGE; > 661 > 662 const MAXD3DDECLUSAGE = D3DDECLUSAGE_SAMPLE; > 663 const MAXD3DDECLUSAGEINDEX = 15; > 664 const MAXD3DDECLLENGTH = 64; // does not include "end" marker vertex element > 665 > 666 enum : D3DDECLMETHOD { > 667 D3DDECLMETHOD_DEFAULT = 0, > 668 D3DDECLMETHOD_PARTIALU, > 669 D3DDECLMETHOD_PARTIALV, > 670 D3DDECLMETHOD_CROSSUV, // Normal > 671 D3DDECLMETHOD_UV, > 672 D3DDECLMETHOD_LOOKUP, // Lookup a displacement map > 673 D3DDECLMETHOD_LOOKUPPRESAMPLED // Lookup a pre-sampled displacement map > 674 } > 675 alias TypeDef!(uint) D3DDECLMETHOD; > 676 > 677 const MAXD3DDECLMETHOD = D3DDECLMETHOD_LOOKUPPRESAMPLED; > 678 > 679 // Declarations for _Type fields > 680 // > 681 enum : D3DDECLTYPE { > 682 D3DDECLTYPE_FLOAT1 = 0, // 1D float expanded to (value, 0., 0., 1.) > 683 D3DDECLTYPE_FLOAT2 = 1, // 2D float expanded to (value, value, 0., 1.) > 684 D3DDECLTYPE_FLOAT3 = 2, // 3D float expanded to (value, value, value, 1 > 685 D3DDECLTYPE_FLOAT4 = 3, // 4D float > 686 D3DDECLTYPE_D3DCOLOR = 4, // 4D packed unsigned bytes mapped to 0. to 1. > 687 // Input is in D3DCOLOR format (ARGB) expanded > 688 D3DDECLTYPE_UBYTE4 = 5, // 4D unsigned byte > 689 D3DDECLTYPE_SHORT2 = 6, // 2D signed short expanded to (value, value, 0 > 690 D3DDECLTYPE_SHORT4 = 7, // 4D signed short > 691 > 692 // The following types are valid only with vertex shaders >= 2.0 > 693 > 694 > 695 D3DDECLTYPE_UBYTE4N = 8, // Each of 4 bytes is normalized by dividing to > 696 D3DDECLTYPE_SHORT2N = 9, // 2D signed short normalized (v[0]/32767.0,v[1 > 697 D3DDECLTYPE_SHORT4N = 10, // 4D signed short normalized (v[0]/32767.0,v[1 > 698 D3DDECLTYPE_USHORT2N = 11, // 2D unsigned short normalized (v[0]/65535.0,v > 699 D3DDECLTYPE_USHORT4N = 12, // 4D unsigned short normalized (v[0]/65535.0,v > 700 D3DDECLTYPE_UDEC3 = 13, // 3D unsigned 10 10 10 format expanded to (val > 701 D3DDECLTYPE_DEC3N = 14, // 3D signed 10 10 10 format normalized and exp > 702 D3DDECLTYPE_FLOAT16_2 = 15, // Two 16-bit floating point values, expanded t > 703 D3DDECLTYPE_FLOAT16_4 = 16, // Four 16-bit floating point values > 704 D3DDECLTYPE_UNUSED = 17 // When the type field in a decl is unused. > 705 } > 706 alias TypeDef!(uint) D3DDECLTYPE; > 707 > 708 const MAXD3DDECLTYPE = D3DDECLTYPE_UNUSED; > 709 > 710 struct D3DVERTEXELEMENT9 > 711 { > 712 ushort Stream; // Stream index > 713 ushort Offset; // Offset in the stream in bytes > 714 ubyte Type; // Data type > 715 ubyte Method; // Processing method > 716 ubyte Usage; // Semantics > 717 ubyte UsageIndex; // Semantic index > 718 } > 719 alias D3DVERTEXELEMENT9 *LPD3DVERTEXELEMENT9; > 720 > 721 // This is used to initialize the last vertex element in a vertex declaration > 722 // array > 723 // > 724 template D3DDECL_END() { > 725 static const D3DVERTEXELEMENT9 D3DDECL_END = { 0xFF,0,D3DDECLTYPE_UNUSED,0,0 > 726 } > 727 > 728 // Maximum supported number of texture coordinate sets > 729 const D3DDP_MAXTEXCOORD = 8; > 730 > 731 //--------------------------------------------------------------------- > 732 // Values for IDirect3DDevice9::SetStreamSourceFreq's Setting parameter > 733 //--------------------------------------------------------------------- > 734 const D3DSTREAMSOURCE_INDEXEDDATA = (1<<30); > 735 const D3DSTREAMSOURCE_INSTANCEDATA = (2<<30); > 736 > 737 > 738 > 739 //--------------------------------------------------------------------- > 740 // > 741 // The internal format of Pixel Shader (PS) & Vertex Shader (VS) > 742 // Instruction Tokens is defined in the Direct3D Device Driver Kit > 743 // > 744 //--------------------------------------------------------------------- > 745 > 746 // > 747 // Instruction Token Bit Definitions > 748 // > 749 const D3DSI_OPCODE_MASK = 0x0000FFFF; > 750 > 751 const D3DSI_INSTLENGTH_MASK = 0x0F000000; > 752 const D3DSI_INSTLENGTH_SHIFT = 24; > 753 > 754 enum : D3DSHADER_INSTRUCTION_OPCODE_TYPE { > 755 D3DSIO_NOP = 0, > 756 D3DSIO_MOV , > 757 D3DSIO_ADD , > 758 D3DSIO_SUB , > 759 D3DSIO_MAD , > 760 D3DSIO_MUL , > 761 D3DSIO_RCP , > 762 D3DSIO_RSQ , > 763 D3DSIO_DP3 , > 764 D3DSIO_DP4 , > 765 D3DSIO_MIN , > 766 D3DSIO_MAX , > 767 D3DSIO_SLT , > 768 D3DSIO_SGE , > 769 D3DSIO_EXP , > 770 D3DSIO_LOG , > 771 D3DSIO_LIT , > 772 D3DSIO_DST , > 773 D3DSIO_LRP , > 774 D3DSIO_FRC , > 775 D3DSIO_M4x4 , > 776 D3DSIO_M4x3 , > 777 D3DSIO_M3x4 , > 778 D3DSIO_M3x3 , > 779 D3DSIO_M3x2 , > 780 D3DSIO_CALL , > 781 D3DSIO_CALLNZ , > 782 D3DSIO_LOOP , > 783 D3DSIO_RET , > 784 D3DSIO_ENDLOOP , > 785 D3DSIO_LABEL , > 786 D3DSIO_DCL , > 787 D3DSIO_POW , > 788 D3DSIO_CRS , > 789 D3DSIO_SGN , > 790 D3DSIO_ABS , > 791 D3DSIO_NRM , > 792 D3DSIO_SINCOS , > 793 D3DSIO_REP , > 794 D3DSIO_ENDREP , > 795 D3DSIO_IF , > 796 D3DSIO_IFC , > 797 D3DSIO_ELSE , > 798 D3DSIO_ENDIF , > 799 D3DSIO_BREAK , > 800 D3DSIO_BREAKC , > 801 D3DSIO_MOVA , > 802 D3DSIO_DEFB , > 803 D3DSIO_DEFI , > 804 > 805 D3DSIO_TEXCOORD = 64, > 806 D3DSIO_TEXKILL , > 807 D3DSIO_TEX , > 808 D3DSIO_TEXBEM , > 809 D3DSIO_TEXBEML , > 810 D3DSIO_TEXREG2AR , > 811 D3DSIO_TEXREG2GB , > 812 D3DSIO_TEXM3x2PAD , > 813 D3DSIO_TEXM3x2TEX , > 814 D3DSIO_TEXM3x3PAD , > 815 D3DSIO_TEXM3x3TEX , > 816 D3DSIO_RESERVED0 , > 817 D3DSIO_TEXM3x3SPEC , > 818 D3DSIO_TEXM3x3VSPEC , > 819 D3DSIO_EXPP , > 820 D3DSIO_LOGP , > 821 D3DSIO_CND , > 822 D3DSIO_DEF , > 823 D3DSIO_TEXREG2RGB , > 824 D3DSIO_TEXDP3TEX , > 825 D3DSIO_TEXM3x2DEPTH , > 826 D3DSIO_TEXDP3 , > 827 D3DSIO_TEXM3x3 , > 828 D3DSIO_TEXDEPTH , > 829 D3DSIO_CMP , > 830 D3DSIO_BEM , > 831 D3DSIO_DP2ADD , > 832 D3DSIO_DSX , > 833 D3DSIO_DSY , > 834 D3DSIO_TEXLDD , > 835 D3DSIO_SETP , > 836 D3DSIO_TEXLDL , > 837 D3DSIO_BREAKP , > 838 > 839 D3DSIO_PHASE = 0xFFFD, > 840 D3DSIO_COMMENT = 0xFFFE, > 841 D3DSIO_END = 0xFFFF > 842 } > 843 alias TypeDef!(uint) D3DSHADER_INSTRUCTION_OPCODE_TYPE; > 844 > 845 //--------------------------------------------------------------------- > 846 // Use these constants with D3DSIO_SINCOS macro as SRC2, SRC3 > 847 // > 848 const float[4] D3DSINCOSCONST1 = [-1.5500992e-006f, -2.1701389e-005f, 0.0026041 > 849 const float[4] D3DSINCOSCONST2 = [-0.020833334f, -0.12500000f, 1.0f, 0.50000000f > 850 > 851 //--------------------------------------------------------------------- > 852 // Co-Issue Instruction Modifier - if set then this instruction is to be > 853 // issued in parallel with the previous instruction(s) for which this bit > 854 // is not set. > 855 // > 856 const D3DSI_COISSUE = 0x40000000; > 857 > 858 //--------------------------------------------------------------------- > 859 // Opcode specific controls > 860 > 861 const D3DSP_OPCODESPECIFICCONTROL_MASK = 0x00ff0000; > 862 const D3DSP_OPCODESPECIFICCONTROL_SHIFT = 16; > 863 > 864 // ps_2_0 texld controls > 865 const D3DSI_TEXLD_PROJECT = (0x01 << D3DSP_OPCODESPECIFICCONTROL_SHIFT); > 866 const D3DSI_TEXLD_BIAS = (0x02 << D3DSP_OPCODESPECIFICCONTROL_SHIFT); > 867 > 868 // Comparison for dynamic conditional instruction opcodes (i.e. if, breakc) > 869 enum : D3DSHADER_COMPARISON { > 870 // < = > > 871 D3DSPC_RESERVED0= 0, // 0 0 0 > 872 D3DSPC_GT = 1, // 0 0 1 > 873 D3DSPC_EQ = 2, // 0 1 0 > 874 D3DSPC_GE = 3, // 0 1 1 > 875 D3DSPC_LT = 4, // 1 0 0 > 876 D3DSPC_NE = 5, // 1 0 1 > 877 D3DSPC_LE = 6, // 1 1 0 > 878 D3DSPC_RESERVED1= 7 // 1 1 1 > 879 } > 880 alias TypeDef!(uint) D3DSHADER_COMPARISON; > 881 > 882 // Comparison is part of instruction opcode token: > 883 const D3DSHADER_COMPARISON_SHIFT = D3DSP_OPCODESPECIFICCONTROL_SHIFT; > 884 const D3DSHADER_COMPARISON_MASK = (0x7<<D3DSHADER_COMPARISON_SHIFT); > 885 > 886 //--------------------------------------------------------------------- > 887 // Predication flags on instruction token > 888 const D3DSHADER_INSTRUCTION_PREDICATED = (0x1 << 28); > 889 > 890 //--------------------------------------------------------------------- > 891 // DCL Info Token Controls > 892 > 893 // For dcl info tokens requiring a semantic (usage + index) > 894 const D3DSP_DCL_USAGE_SHIFT = 0; > 895 const D3DSP_DCL_USAGE_MASK = 0x0000000f; > 896 > 897 const D3DSP_DCL_USAGEINDEX_SHIFT = 16; > 898 const D3DSP_DCL_USAGEINDEX_MASK = 0x000f0000; > 899 > 900 // DCL pixel shader sampler info token. > 901 const D3DSP_TEXTURETYPE_SHIFT = 27; > 902 const D3DSP_TEXTURETYPE_MASK = 0x78000000; > 903 > 904 enum : D3DSAMPLER_TEXTURE_TYPE { > 905 D3DSTT_UNKNOWN = 0<<D3DSP_TEXTURETYPE_SHIFT, // uninitialized value > 906 D3DSTT_2D = 2<<D3DSP_TEXTURETYPE_SHIFT, // dcl_2d s# (for declaring a 2 > 907 D3DSTT_CUBE = 3<<D3DSP_TEXTURETYPE_SHIFT, // dcl_cube s# (for declaring a > 908 D3DSTT_VOLUME = 4<<D3DSP_TEXTURETYPE_SHIFT // dcl_volume s# (for declaring > 909 } > 910 alias TypeDef!(uint) D3DSAMPLER_TEXTURE_TYPE; > 911 > 912 //--------------------------------------------------------------------- > 913 // Parameter Token Bit Definitions > 914 // > 915 const D3DSP_REGNUM_MASK = 0x000007FF; > 916 > 917 // destination parameter write mask > 918 const D3DSP_WRITEMASK_0 = 0x00010000; // Component 0 (X;Red) > 919 const D3DSP_WRITEMASK_1 = 0x00020000; // Component 1 (Y;Green) > 920 const D3DSP_WRITEMASK_2 = 0x00040000; // Component 2 (Z;Blue) > 921 const D3DSP_WRITEMASK_3 = 0x00080000; // Component 3 (W;Alpha) > 922 const D3DSP_WRITEMASK_ALL = 0x000F0000; // All Components > 923 > 924 // destination parameter modifiers > 925 const D3DSP_DSTMOD_SHIFT = 20; > 926 const D3DSP_DSTMOD_MASK = 0x00F00000; > 927 > 928 // Bit masks for destination parameter modifiers > 929 const D3DSPDM_NONE = (0<<D3DSP_DSTMOD_SHIFT); // nop > 930 const D3DSPDM_SATURATE = (1<<D3DSP_DSTMOD_SHIFT); // clamp to 0. to 1. range > 931 const D3DSPDM_PARTIALPRECISION = (2<<D3DSP_DSTMOD_SHIFT); // Partial precision h > 932 const D3DSPDM_MSAMPCENTROID = (4<<D3DSP_DSTMOD_SHIFT); // Relevant to multisampl > 933 // When the > 934 // attribut > 935 // using mu > 936 // "Centroi > 937 // region o > 938 > 939 // destination parameter > 940 const D3DSP_DSTSHIFT_SHIFT = 24; > 941 const D3DSP_DSTSHIFT_MASK = 0x0F000000; > 942 > 943 // destination/source parameter register type > 944 const D3DSP_REGTYPE_SHIFT = 28; > 945 const D3DSP_REGTYPE_SHIFT2 = 8; > 946 const D3DSP_REGTYPE_MASK = 0x70000000; > 947 const D3DSP_REGTYPE_MASK2 = 0x00001800; > 948 > 949 enum : D3DSHADER_PARAM_REGISTER_TYPE { > 950 D3DSPR_TEMP = 0, // Temporary Register File > 951 D3DSPR_INPUT = 1, // Input Register File > 952 D3DSPR_CONST = 2, // Constant Register File > 953 D3DSPR_ADDR = 3, // Address Register (VS) > 954 D3DSPR_TEXTURE = 3, // Texture Register File (PS) > 955 D3DSPR_RASTOUT = 4, // Rasterizer Register File > 956 D3DSPR_ATTROUT = 5, // Attribute Output Register File > 957 D3DSPR_TEXCRDOUT = 6, // Texture Coordinate Output Register File > 958 D3DSPR_OUTPUT = 6, // Output register file for VS3.0+ > 959 D3DSPR_CONSTINT = 7, // Constant Integer Vector Register File > 960 D3DSPR_COLOROUT = 8, // Color Output Register File > 961 D3DSPR_DEPTHOUT = 9, // Depth Output Register File > 962 D3DSPR_SAMPLER = 10, // Sampler State Register File > 963 D3DSPR_CONST2 = 11, // Constant Register File 2048 - 4095 > 964 D3DSPR_CONST3 = 12, // Constant Register File 4096 - 6143 > 965 D3DSPR_CONST4 = 13, // Constant Register File 6144 - 8191 > 966 D3DSPR_CONSTBOOL = 14, // Constant Boolean register file > 967 D3DSPR_LOOP = 15, // Loop counter register file > 968 D3DSPR_TEMPFLOAT16 = 16, // 16-bit float temp register file > 969 D3DSPR_MISCTYPE = 17, // Miscellaneous (single) registers. > 970 D3DSPR_LABEL = 18, // Label > 971 D3DSPR_PREDICATE = 19 // Predicate register > 972 } > 973 alias TypeDef!(uint) D3DSHADER_PARAM_REGISTER_TYPE; > 974 > 975 // The miscellaneous register file (D3DSPR_MISCTYPES) > 976 // contains register types for which there is only ever one > 977 // register (i.e. the register # is not needed). > 978 // Rather than use up additional register types for such > 979 // registers, they are defined > 980 // as particular offsets into the misc. register file: > 981 enum : D3DSHADER_MISCTYPE_OFFSETS { > 982 D3DSMO_POSITION = 0, // Input position x,y,z,rhw (PS) > 983 D3DSMO_FACE = 1, // Floating point primitive area (PS) > 984 } > 985 alias TypeDef!(uint) D3DSHADER_MISCTYPE_OFFSETS; > 986 > 987 // Register offsets in the Rasterizer Register File > 988 // > 989 enum : D3DVS_RASTOUT_OFFSETS { > 990 D3DSRO_POSITION = 0, > 991 D3DSRO_FOG, > 992 D3DSRO_POINT_SIZE > 993 } > 994 alias TypeDef!(uint) D3DVS_RASTOUT_OFFSETS; > 995 > 996 // Source operand addressing modes > 997 > 998 const D3DVS_ADDRESSMODE_SHIFT = 13; > 999 const D3DVS_ADDRESSMODE_MASK = (1 << D3DVS_ADDRESSMODE_SHIFT); > 1000 > 1001 enum : D3DVS_ADDRESSMODE_TYPE { > 1002 D3DVS_ADDRMODE_ABSOLUTE = (0 << D3DVS_ADDRESSMODE_SHIFT), > 1003 D3DVS_ADDRMODE_RELATIVE = (1 << D3DVS_ADDRESSMODE_SHIFT) > 1004 } > 1005 alias TypeDef!(uint) D3DVS_ADDRESSMODE_TYPE; > 1006 > 1007 const D3DSHADER_ADDRESSMODE_SHIFT = 13; > 1008 const D3DSHADER_ADDRESSMODE_MASK = (1 << D3DSHADER_ADDRESSMODE_SHIFT); > 1009 > 1010 enum : D3DSHADER_ADDRESSMODE_TYPE { > 1011 D3DSHADER_ADDRMODE_ABSOLUTE = (0 << D3DSHADER_ADDRESSMODE_SHIFT), > 1012 D3DSHADER_ADDRMODE_RELATIVE = (1 << D3DSHADER_ADDRESSMODE_SHIFT) > 1013 } > 1014 alias TypeDef!(uint) D3DSHADER_ADDRESSMODE_TYPE; > 1015 > 1016 // Source operand swizzle definitions > 1017 // > 1018 const D3DVS_SWIZZLE_SHIFT = 16; > 1019 const D3DVS_SWIZZLE_MASK = 0x00FF0000; > 1020 > 1021 // The following bits define where to take component X from: > 1022 > 1023 const D3DVS_X_X = (0<<D3DVS_SWIZZLE_SHIFT); > 1024 const D3DVS_X_Y = (1<<D3DVS_SWIZZLE_SHIFT); > 1025 const D3DVS_X_Z = (2<<D3DVS_SWIZZLE_SHIFT); > 1026 const D3DVS_X_W = (3<<D3DVS_SWIZZLE_SHIFT); > 1027 > 1028 // The following bits define where to take component Y from: > 1029 > 1030 const D3DVS_Y_X = (0<<(D3DVS_SWIZZLE_SHIFT+2)); > 1031 const D3DVS_Y_Y = (1<<(D3DVS_SWIZZLE_SHIFT+2)); > 1032 const D3DVS_Y_Z = (2<<(D3DVS_SWIZZLE_SHIFT+2)); > 1033 const D3DVS_Y_W = (3<<(D3DVS_SWIZZLE_SHIFT+2)); > 1034 > 1035 // The following bits define where to take component Z from: > 1036 > 1037 const D3DVS_Z_X = (0<<(D3DVS_SWIZZLE_SHIFT+4)); > 1038 const D3DVS_Z_Y = (1<<(D3DVS_SWIZZLE_SHIFT+4)); > 1039 const D3DVS_Z_Z = (2<<(D3DVS_SWIZZLE_SHIFT+4)); > 1040 const D3DVS_Z_W = (3<<(D3DVS_SWIZZLE_SHIFT+4)); > 1041 > 1042 // The following bits define where to take component W from: > 1043 > 1044 const D3DVS_W_X = (0<<(D3DVS_SWIZZLE_SHIFT+6)); > 1045 const D3DVS_W_Y = (1<<(D3DVS_SWIZZLE_SHIFT+6)); > 1046 const D3DVS_W_Z = (2<<(D3DVS_SWIZZLE_SHIFT+6)); > 1047 const D3DVS_W_W = (3<<(D3DVS_SWIZZLE_SHIFT+6)); > 1048 > 1049 // Value when there is no swizzle (X is taken from X, Y is taken from Y, > 1050 // Z is taken from Z, W is taken from W > 1051 // > 1052 const D3DVS_NOSWIZZLE = (D3DVS_X_X|D3DVS_Y_Y|D3DVS_Z_Z|D3DVS_W_W); > 1053 > 1054 // source parameter swizzle > 1055 const D3DSP_SWIZZLE_SHIFT = 16; > 1056 const D3DSP_SWIZZLE_MASK = 0x00FF0000; > 1057 > 1058 const D3DSP_NOSWIZZLE = ( (0 << (D3DSP_SWIZZLE_SHIFT + 0)) | > 1059 (1 << (D3DSP_SWIZZLE_SHIFT + 2)) | > 1060 (2 << (D3DSP_SWIZZLE_SHIFT + 4)) | > 1061 (3 << (D3DSP_SWIZZLE_SHIFT + 6)) ); > 1062 > 1063 // pixel-shader swizzle ops > 1064 const D3DSP_REPLICATERED = > 1065 ( (0 << (D3DSP_SWIZZLE_SHIFT + 0)) | > 1066 (0 << (D3DSP_SWIZZLE_SHIFT + 2)) | > 1067 (0 << (D3DSP_SWIZZLE_SHIFT + 4)) | > 1068 (0 << (D3DSP_SWIZZLE_SHIFT + 6)) ); > 1069 > 1070 const D3DSP_REPLICATEGREEN = > 1071 ( (1 << (D3DSP_SWIZZLE_SHIFT + 0)) | > 1072 (1 << (D3DSP_SWIZZLE_SHIFT + 2)) | > 1073 (1 << (D3DSP_SWIZZLE_SHIFT + 4)) | > 1074 (1 << (D3DSP_SWIZZLE_SHIFT + 6)) ); > 1075 > 1076 const D3DSP_REPLICATEBLUE = > 1077 ( (2 << (D3DSP_SWIZZLE_SHIFT + 0)) | > 1078 (2 << (D3DSP_SWIZZLE_SHIFT + 2)) | > 1079 (2 << (D3DSP_SWIZZLE_SHIFT + 4)) | > 1080 (2 << (D3DSP_SWIZZLE_SHIFT + 6)) ); > 1081 > 1082 const D3DSP_REPLICATEALPHA = > 1083 ( (3 << (D3DSP_SWIZZLE_SHIFT + 0)) | > 1084 (3 << (D3DSP_SWIZZLE_SHIFT + 2)) | > 1085 (3 << (D3DSP_SWIZZLE_SHIFT + 4)) | > 1086 (3 << (D3DSP_SWIZZLE_SHIFT + 6)) ); > 1087 > 1088 // source parameter modifiers > 1089 const D3DSP_SRCMOD_SHIFT = 24; > 1090 const D3DSP_SRCMOD_MASK = 0x0F000000; > 1091 > 1092 enum : D3DSHADER_PARAM_SRCMOD_TYPE { > 1093 D3DSPSM_NONE = 0<<D3DSP_SRCMOD_SHIFT, // nop > 1094 D3DSPSM_NEG = 1<<D3DSP_SRCMOD_SHIFT, // negate > 1095 D3DSPSM_BIAS = 2<<D3DSP_SRCMOD_SHIFT, // bias > 1096 D3DSPSM_BIASNEG = 3<<D3DSP_SRCMOD_SHIFT, // bias and negate > 1097 D3DSPSM_SIGN = 4<<D3DSP_SRCMOD_SHIFT, // sign > 1098 D3DSPSM_SIGNNEG = 5<<D3DSP_SRCMOD_SHIFT, // sign and negate > 1099 D3DSPSM_COMP = 6<<D3DSP_SRCMOD_SHIFT, // complement > 1100 D3DSPSM_X2 = 7<<D3DSP_SRCMOD_SHIFT, // *2 > 1101 D3DSPSM_X2NEG = 8<<D3DSP_SRCMOD_SHIFT, // *2 and negate > 1102 D3DSPSM_DZ = 9<<D3DSP_SRCMOD_SHIFT, // divide through by z component > 1103 D3DSPSM_DW = 10<<D3DSP_SRCMOD_SHIFT, // divide through by w component > 1104 D3DSPSM_ABS = 11<<D3DSP_SRCMOD_SHIFT, // abs() > 1105 D3DSPSM_ABSNEG = 12<<D3DSP_SRCMOD_SHIFT, // -abs() > 1106 D3DSPSM_NOT = 13<<D3DSP_SRCMOD_SHIFT // for predicate register: "!p0" > 1107 } > 1108 alias TypeDef!(uint) D3DSHADER_PARAM_SRCMOD_TYPE; > 1109 > 1110 // pixel shader version token > 1111 uint D3DPS_VERSION(ubyte _Major, ubyte _Minor) { return (0xFFFF0000|(_Major<<8)| > 1112 > 1113 // vertex shader version token > 1114 uint D3DVS_VERSION(ubyte _Major, ubyte _Minor) { return (0xFFFE0000|(_Major<<8)| > 1115 > 1116 // extract major/minor from version cap > 1117 ubyte D3DSHADER_VERSION_MAJOR(uint _Version) { return cast(ubyte)((_Version>>8)& > 1118 ubyte D3DSHADER_VERSION_MINOR(uint _Version) { return cast(ubyte)((_Version>>0)& > 1119 > 1120 // destination/source parameter register type > 1121 const D3DSI_COMMENTSIZE_SHIFT = 16; > 1122 const D3DSI_COMMENTSIZE_MASK = 0x7FFF0000; > 1123 uint D3DSHADER_COMMENT(ushort _DWordSize) { return (((_DWordSize<<D3DSI_COMMENTS > 1124 > 1125 // pixel/vertex shader end token > 1126 const D3DPS_END = 0x0000FFFF; > 1127 const D3DVS_END = 0x0000FFFF; > 1128 > 1129 > 1130 //--------------------------------------------------------------------- > 1131 > 1132 // High order surfaces > 1133 // > 1134 enum : D3DBASISTYPE { > 1135 D3DBASIS_BEZIER = 0, > 1136 D3DBASIS_BSPLINE = 1, > 1137 D3DBASIS_CATMULL_ROM = 2 /* In D3D8 this used to be D3DBASIS_INTERPOLATE */ > 1138 } > 1139 alias TypeDef!(uint) D3DBASISTYPE; > 1140 > 1141 enum : D3DDEGREETYPE { > 1142 D3DDEGREE_LINEAR = 1, > 1143 D3DDEGREE_QUADRATIC = 2, > 1144 D3DDEGREE_CUBIC = 3, > 1145 D3DDEGREE_QUINTIC = 5 > 1146 } > 1147 alias TypeDef!(uint) D3DDEGREETYPE; > 1148 > 1149 enum : D3DPATCHEDGESTYLE { > 1150 D3DPATCHEDGE_DISCRETE = 0, > 1151 D3DPATCHEDGE_CONTINUOUS = 1 > 1152 } > 1153 alias TypeDef!(uint) D3DPATCHEDGESTYLE; > 1154 > 1155 enum : D3DSTATEBLOCKTYPE { > 1156 D3DSBT_ALL = 1, // capture all state > 1157 D3DSBT_PIXELSTATE = 2, // capture pixel state > 1158 D3DSBT_VERTEXSTATE = 3 // capture vertex state > 1159 } > 1160 alias TypeDef!(uint) D3DSTATEBLOCKTYPE; > 1161 > 1162 // The D3DVERTEXBLENDFLAGS type is used with D3DRS_VERTEXBLEND state. > 1163 // > 1164 enum : D3DVERTEXBLENDFLAGS { > 1165 D3DVBF_DISABLE = 0, // Disable vertex blending > 1166 D3DVBF_1WEIGHTS = 1, // 2 matrix blending > 1167 D3DVBF_2WEIGHTS = 2, // 3 matrix blending > 1168 D3DVBF_3WEIGHTS = 3, // 4 matrix blending > 1169 D3DVBF_TWEENING = 255, // blending using D3DRS_TWEENFACTOR > 1170 D3DVBF_0WEIGHTS = 256 // one matrix is used with weight 1.0 > 1171 } > 1172 alias TypeDef!(uint) D3DVERTEXBLENDFLAGS; > 1173 > 1174 enum : D3DTEXTURETRANSFORMFLAGS { > 1175 D3DTTFF_DISABLE = 0, // texture coordinates are passed directly > 1176 D3DTTFF_COUNT1 = 1, // rasterizer should expect 1-D texture coor > 1177 D3DTTFF_COUNT2 = 2, // rasterizer should expect 2-D texture coor > 1178 D3DTTFF_COUNT3 = 3, // rasterizer should expect 3-D texture coor > 1179 D3DTTFF_COUNT4 = 4, // rasterizer should expect 4-D texture coor > 1180 D3DTTFF_PROJECTED = 256 // texcoords to be divided by COUNTth elemen > 1181 } > 1182 alias TypeDef!(uint) D3DTEXTURETRANSFORMFLAGS; > 1183 > 1184 // Macros to set texture coordinate format bits in the FVF id > 1185 > 1186 const D3DFVF_TEXTUREFORMAT2 = 0; // Two floating point values > 1187 const D3DFVF_TEXTUREFORMAT1 = 3; // One floating point value > 1188 const D3DFVF_TEXTUREFORMAT3 = 1; // Three floating point values > 1189 const D3DFVF_TEXTUREFORMAT4 = 2; // Four floating point values > 1190 > 1191 uint D3DFVF_TEXCOORDSIZE3(uint CoordIndex) { return (D3DFVF_TEXTUREFORMAT3 << (C > 1192 uint D3DFVF_TEXCOORDSIZE2(uint CoordIndex) { return (D3DFVF_TEXTUREFORMAT2); } > 1193 uint D3DFVF_TEXCOORDSIZE4(uint CoordIndex) { return (D3DFVF_TEXTUREFORMAT4 << (C > 1194 uint D3DFVF_TEXCOORDSIZE1(uint CoordIndex) { return (D3DFVF_TEXTUREFORMAT1 << (C > 1195 > 1196 > 1197 //--------------------------------------------------------------------- > 1198 > 1199 /* Direct3D9 Device types */ > 1200 enum : D3DDEVTYPE { > 1201 D3DDEVTYPE_HAL = 1, > 1202 D3DDEVTYPE_REF = 2, > 1203 D3DDEVTYPE_SW = 3, > 1204 > 1205 D3DDEVTYPE_NULLREF = 4 > 1206 } > 1207 alias TypeDef!(uint) D3DDEVTYPE; > 1208 > 1209 /* Multi-Sample buffer types */ > 1210 enum : D3DMULTISAMPLE_TYPE { > 1211 D3DMULTISAMPLE_NONE = 0, > 1212 D3DMULTISAMPLE_NONMASKABLE = 1, > 1213 D3DMULTISAMPLE_2_SAMPLES = 2, > 1214 D3DMULTISAMPLE_3_SAMPLES = 3, > 1215 D3DMULTISAMPLE_4_SAMPLES = 4, > 1216 D3DMULTISAMPLE_5_SAMPLES = 5, > 1217 D3DMULTISAMPLE_6_SAMPLES = 6, > 1218 D3DMULTISAMPLE_7_SAMPLES = 7, > 1219 D3DMULTISAMPLE_8_SAMPLES = 8, > 1220 D3DMULTISAMPLE_9_SAMPLES = 9, > 1221 D3DMULTISAMPLE_10_SAMPLES = 10, > 1222 D3DMULTISAMPLE_11_SAMPLES = 11, > 1223 D3DMULTISAMPLE_12_SAMPLES = 12, > 1224 D3DMULTISAMPLE_13_SAMPLES = 13, > 1225 D3DMULTISAMPLE_14_SAMPLES = 14, > 1226 D3DMULTISAMPLE_15_SAMPLES = 15, > 1227 D3DMULTISAMPLE_16_SAMPLES = 16 > 1228 } > 1229 alias TypeDef!(uint) D3DMULTISAMPLE_TYPE; > 1230 > 1231 /* Formats > 1232 * Most of these names have the following convention: > 1233 * A = Alpha > 1234 * R = Red > 1235 * G = Green > 1236 * B = Blue > 1237 * X = Unused Bits > 1238 * P = Palette > 1239 * L = Luminance > 1240 * U = dU coordinate for BumpMap > 1241 * V = dV coordinate for BumpMap > 1242 * S = Stencil > 1243 * D = Depth (e.g. Z or W buffer) > 1244 * C = Computed from other channels (typically on certain read operations) > 1245 * > 1246 * Further, the order of the pieces are from MSB first; hence > 1247 * D3DFMT_A8L8 indicates that the high byte of this two byte > 1248 * format is alpha. > 1249 * > 1250 * D3DFMT_D16_LOCKABLE indicates: > 1251 * - An integer 16-bit value. > 1252 * - An app-lockable surface. > 1253 * > 1254 * D3DFMT_D32F_LOCKABLE indicates: > 1255 * - An IEEE 754 floating-point value. > 1256 * - An app-lockable surface. > 1257 * > 1258 * All Depth/Stencil formats except D3DFMT_D16_LOCKABLE and D3DFMT_D32F_LOC > 1259 * - no particular bit ordering per pixel, and > 1260 * - are not app lockable, and > 1261 * - the driver is allowed to consume more than the indicated > 1262 * number of bits per Depth channel (but not Stencil channel). > 1263 */ > 1264 uint MAKEFOURCC(ubyte ch0, ubyte ch1, ubyte ch2, ubyte ch3) { > 1265 return cast(uint)ch0 | cast(uint)(ch1 << 8) | cast(uint)(ch2 << 16) | cast(u > 1266 } > 1267 template T_MAKEFOURCC(ubyte ch0, ubyte ch1, ubyte ch2, ubyte ch3) { > 1268 const T_MAKEFOURCC = cast(uint)ch0 | cast(uint)(ch1 << 8) | cast(uint)(ch2 < > 1269 } > 1270 > 1271 enum : D3DFORMAT { > 1272 D3DFMT_UNKNOWN = 0, > 1273 > 1274 D3DFMT_R8G8B8 = 20, > 1275 D3DFMT_A8R8G8B8 = 21, > 1276 D3DFMT_X8R8G8B8 = 22, > 1277 D3DFMT_R5G6B5 = 23, > 1278 D3DFMT_X1R5G5B5 = 24, > 1279 D3DFMT_A1R5G5B5 = 25, > 1280 D3DFMT_A4R4G4B4 = 26, > 1281 D3DFMT_R3G3B2 = 27, > 1282 D3DFMT_A8 = 28, > 1283 D3DFMT_A8R3G3B2 = 29, > 1284 D3DFMT_X4R4G4B4 = 30, > 1285 D3DFMT_A2B10G10R10 = 31, > 1286 D3DFMT_A8B8G8R8 = 32, > 1287 D3DFMT_X8B8G8R8 = 33, > 1288 D3DFMT_G16R16 = 34, > 1289 D3DFMT_A2R10G10B10 = 35, > 1290 D3DFMT_A16B16G16R16 = 36, > 1291 > 1292 D3DFMT_A8P8 = 40, > 1293 D3DFMT_P8 = 41, > 1294 > 1295 D3DFMT_L8 = 50, > 1296 D3DFMT_A8L8 = 51, > 1297 D3DFMT_A4L4 = 52, > 1298 > 1299 D3DFMT_V8U8 = 60, > 1300 D3DFMT_L6V5U5 = 61, > 1301 D3DFMT_X8L8V8U8 = 62, > 1302 D3DFMT_Q8W8V8U8 = 63, > 1303 D3DFMT_V16U16 = 64, > 1304 D3DFMT_A2W10V10U10 = 67, > 1305 > 1306 D3DFMT_UYVY = T_MAKEFOURCC!('U', 'Y', 'V', 'Y'), > 1307 D3DFMT_R8G8_B8G8 = T_MAKEFOURCC!('R', 'G', 'B', 'G'), > 1308 D3DFMT_YUY2 = T_MAKEFOURCC!('Y', 'U', 'Y', '2'), > 1309 D3DFMT_G8R8_G8B8 = T_MAKEFOURCC!('G', 'R', 'G', 'B'), > 1310 D3DFMT_DXT1 = T_MAKEFOURCC!('D', 'X', 'T', '1'), > 1311 D3DFMT_DXT2 = T_MAKEFOURCC!('D', 'X', 'T', '2'), > 1312 D3DFMT_DXT3 = T_MAKEFOURCC!('D', 'X', 'T', '3'), > 1313 D3DFMT_DXT4 = T_MAKEFOURCC!('D', 'X', 'T', '4'), > 1314 D3DFMT_DXT5 = T_MAKEFOURCC!('D', 'X', 'T', '5'), > 1315 > 1316 D3DFMT_D16_LOCKABLE = 70, > 1317 D3DFMT_D32 = 71, > 1318 D3DFMT_D15S1 = 73, > 1319 D3DFMT_D24S8 = 75, > 1320 D3DFMT_D24X8 = 77, > 1321 D3DFMT_D24X4S4 = 79, > 1322 D3DFMT_D16 = 80, > 1323 > 1324 D3DFMT_D32F_LOCKABLE = 82, > 1325 D3DFMT_D24FS8 = 83, > 1326 > 1327 /* Z-Stencil formats valid for CPU access */ > 1328 D3DFMT_D32_LOCKABLE = 84, > 1329 D3DFMT_S8_LOCKABLE = 85, > 1330 > 1331 D3DFMT_L16 = 81, > 1332 > 1333 D3DFMT_VERTEXDATA =100, > 1334 D3DFMT_INDEX16 =101, > 1335 D3DFMT_INDEX32 =102, > 1336 > 1337 D3DFMT_Q16W16V16U16 =110, > 1338 > 1339 D3DFMT_MULTI2_ARGB8 = T_MAKEFOURCC!('M','E','T','1'), > 1340 > 1341 // Floating point surface formats > 1342 > 1343 // s10e5 formats (16-bits per channel) > 1344 D3DFMT_R16F = 111, > 1345 D3DFMT_G16R16F = 112, > 1346 D3DFMT_A16B16G16R16F = 113, > 1347 > 1348 // IEEE s23e8 formats (32-bits per channel) > 1349 D3DFMT_R32F = 114, > 1350 D3DFMT_G32R32F = 115, > 1351 D3DFMT_A32B32G32R32F = 116, > 1352 > 1353 D3DFMT_CxV8U8 = 117, > 1354 > 1355 // Monochrome 1 bit per pixel format > 1356 D3DFMT_A1 = 118, > 1357 > 1358 > 1359 // Binary format indicating that the data has no inherent type > 1360 D3DFMT_BINARYBUFFER = 199 > 1361 } > 1362 alias TypeDef!(uint) D3DFORMAT; > 1363 > 1364 /* Display Modes */ > 1365 struct D3DDISPLAYMODE { > 1366 uint Width; > 1367 uint Height; > 1368 uint RefreshRate; > 1369 D3DFORMAT Format; > 1370 } > 1371 > 1372 /* Creation Parameters */ > 1373 struct D3DDEVICE_CREATION_PARAMETERS > 1374 { > 1375 UINT AdapterOrdinal; > 1376 D3DDEVTYPE DeviceType; > 1377 HWND hFocusWindow; > 1378 DWORD BehaviorFlags; > 1379 } > 1380 > 1381 > 1382 /* SwapEffects */ > 1383 enum : D3DSWAPEFFECT { > 1384 D3DSWAPEFFECT_DISCARD = 1, > 1385 D3DSWAPEFFECT_FLIP = 2, > 1386 D3DSWAPEFFECT_COPY = 3 > 1387 } > 1388 alias TypeDef!(uint) D3DSWAPEFFECT; > 1389 > 1390 /* Pool types */ > 1391 enum : D3DPOOL { > 1392 D3DPOOL_DEFAULT = 0, > 1393 D3DPOOL_MANAGED = 1, > 1394 D3DPOOL_SYSTEMMEM = 2, > 1395 D3DPOOL_SCRATCH = 3 > 1396 } > 1397 alias TypeDef!(uint) D3DPOOL; > 1398 > 1399 > 1400 /* RefreshRate pre-defines */ > 1401 const D3DPRESENT_RATE_DEFAULT = 0x00000000; > 1402 > 1403 > 1404 /* Resize Optional Parameters */ > 1405 struct D3DPRESENT_PARAMETERS > 1406 { > 1407 UINT BackBufferWidth; > 1408 UINT BackBufferHeight; > 1409 D3DFORMAT BackBufferFormat; > 1410 UINT BackBufferCount; > 1411 > 1412 D3DMULTISAMPLE_TYPE MultiSampleType; > 1413 DWORD MultiSampleQuality; > 1414 > 1415 D3DSWAPEFFECT SwapEffect; > 1416 HWND hDeviceWindow; > 1417 BOOL Windowed; > 1418 BOOL EnableAutoDepthStencil; > 1419 D3DFORMAT AutoDepthStencilFormat; > 1420 DWORD Flags; > 1421 > 1422 /* FullScreen_RefreshRateInHz must be zero for Windowed mode */ > 1423 UINT FullScreen_RefreshRateInHz; > 1424 UINT PresentationInterval; > 1425 } > 1426 > 1427 // Values for D3DPRESENT_PARAMETERS.Flags > 1428 > 1429 const D3DPRESENTFLAG_LOCKABLE_BACKBUFFER = 0x00000001; > 1430 const D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL = 0x00000002; > 1431 const D3DPRESENTFLAG_DEVICECLIP = 0x00000004; > 1432 const D3DPRESENTFLAG_VIDEO = 0x00000010; > 1433 > 1434 const D3DPRESENTFLAG_NOAUTOROTATE = 0x00000020; > 1435 const D3DPRESENTFLAG_UNPRUNEDMODE = 0x00000040; > 1436 > 1437 /* Gamma Ramp: Same as DX7 */ > 1438 > 1439 struct D3DGAMMARAMP > 1440 { > 1441 ushort[256] red; > 1442 ushort[256] green; > 1443 ushort[256] blue; > 1444 } > 1445 > 1446 /* Back buffer types */ > 1447 enum : D3DBACKBUFFER_TYPE { > 1448 D3DBACKBUFFER_TYPE_MONO = 0, > 1449 D3DBACKBUFFER_TYPE_LEFT = 1, > 1450 D3DBACKBUFFER_TYPE_RIGHT = 2 > 1451 } > 1452 alias TypeDef!(uint) D3DBACKBUFFER_TYPE; > 1453 > 1454 /* Types */ > 1455 enum : D3DRESOURCETYPE { > 1456 D3DRTYPE_SURFACE = 1, > 1457 D3DRTYPE_VOLUME = 2, > 1458 D3DRTYPE_TEXTURE = 3, > 1459 D3DRTYPE_VOLUMETEXTURE = 4, > 1460 D3DRTYPE_CUBETEXTURE = 5, > 1461 D3DRTYPE_VERTEXBUFFER = 6, > 1462 D3DRTYPE_INDEXBUFFER = 7 //if this changes, change _D > 1463 } > 1464 alias TypeDef!(uint) D3DRESOURCETYPE; > 1465 > 1466 /* Usages */ > 1467 const D3DUSAGE_RENDERTARGET = 0x00000001L; > 1468 const D3DUSAGE_DEPTHSTENCIL = 0x00000002L; > 1469 const D3DUSAGE_DYNAMIC = 0x00000200L; > 1470 const D3DUSAGE_NONSECURE = 0x00800000L; > 1471 > 1472 // When passed to CheckDeviceFormat, D3DUSAGE_AUTOGENMIPMAP may return > 1473 // D3DOK_NOAUTOGEN if the device doesn't support autogeneration for that format. > 1474 // D3DOK_NOAUTOGEN is a success code, not a failure code... the SUCCEEDED and FA > 1475 // will return true and false respectively for this code. > 1476 const D3DUSAGE_AUTOGENMIPMAP = 0x00000400L; > 1477 const D3DUSAGE_DMAP = 0x00004000L; > 1478 > 1479 // The following usages are valid only for querying CheckDeviceFormat > 1480 const D3DUSAGE_QUERY_LEGACYBUMPMAP = 0x00008000L; > 1481 const D3DUSAGE_QUERY_SRGBREAD = 0x00010000L; > 1482 const D3DUSAGE_QUERY_FILTER = 0x00020000L; > 1483 const D3DUSAGE_QUERY_SRGBWRITE = 0x00040000L; > 1484 const D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING = 0x00080000L; > 1485 const D3DUSAGE_QUERY_VERTEXTEXTURE = 0x00100000L; > 1486 const D3DUSAGE_QUERY_WRAPANDMIP = 0x00200000L; > 1487 > 1488 /* Usages for Vertex/Index buffers */ > 1489 const D3DUSAGE_WRITEONLY = 0x00000008L; > 1490 const D3DUSAGE_SOFTWAREPROCESSING = 0x00000010L; > 1491 const D3DUSAGE_DONOTCLIP = 0x00000020L; > 1492 const D3DUSAGE_POINTS = 0x00000040L; > 1493 const D3DUSAGE_RTPATCHES = 0x00000080L; > 1494 const D3DUSAGE_NPATCHES = 0x00000100L; > 1495 const D3DUSAGE_TEXTAPI = 0x10000000L; > 1496 > 1497 /* CubeMap Face identifiers */ > 1498 enum : D3DCUBEMAP_FACES { > 1499 D3DCUBEMAP_FACE_POSITIVE_X = 0, > 1500 D3DCUBEMAP_FACE_NEGATIVE_X = 1, > 1501 D3DCUBEMAP_FACE_POSITIVE_Y = 2, > 1502 D3DCUBEMAP_FACE_NEGATIVE_Y = 3, > 1503 D3DCUBEMAP_FACE_POSITIVE_Z = 4, > 1504 D3DCUBEMAP_FACE_NEGATIVE_Z = 5 > 1505 } > 1506 alias TypeDef!(uint) D3DCUBEMAP_FACES; > 1507 > 1508 /* Lock flags */ > 1509 const D3DLOCK_READONLY = 0x00000010L; > 1510 const D3DLOCK_DISCARD = 0x00002000L; > 1511 const D3DLOCK_NOOVERWRITE = 0x00001000L; > 1512 const D3DLOCK_NOSYSLOCK = 0x00000800L; > 1513 const D3DLOCK_DONOTWAIT = 0x00004000L; > 1514 const D3DLOCK_NO_DIRTY_UPDATE = 0x00008000L; > 1515 > 1516 /* Vertex Buffer Description */ > 1517 struct D3DVERTEXBUFFER_DESC { > 1518 D3DFORMAT Format; > 1519 D3DRESOURCETYPE Type; > 1520 DWORD Usage; > 1521 D3DPOOL Pool; > 1522 UINT Size; > 1523 DWORD FVF; > 1524 } > 1525 > 1526 /* Index Buffer Description */ > 1527 struct D3DINDEXBUFFER_DESC { > 1528 D3DFORMAT Format; > 1529 D3DRESOURCETYPE Type; > 1530 DWORD Usage; > 1531 D3DPOOL Pool; > 1532 UINT Size; > 1533 } > 1534 > 1535 > 1536 /* Surface Description */ > 1537 struct D3DSURFACE_DESC { > 1538 D3DFORMAT Format; > 1539 D3DRESOURCETYPE Type; > 1540 DWORD Usage; > 1541 D3DPOOL Pool; > 1542 > 1543 D3DMULTISAMPLE_TYPE MultiSampleType; > 1544 DWORD MultiSampleQuality; > 1545 UINT Width; > 1546 UINT Height; > 1547 } > 1548 > 1549 struct D3DVOLUME_DESC { > 1550 D3DFORMAT Format; > 1551 D3DRESOURCETYPE Type; > 1552 DWORD Usage; > 1553 D3DPOOL Pool; > 1554 > 1555 UINT Width; > 1556 UINT Height; > 1557 UINT Depth; > 1558 } > 1559 > 1560 /* Structure for LockRect */ > 1561 struct D3DLOCKED_RECT { > 1562 INT Pitch; > 1563 void* pBits; > 1564 } > 1565 > 1566 /* Structures for LockBox */ > 1567 struct D3DBOX { > 1568 UINT Left; > 1569 UINT Top; > 1570 UINT Right; > 1571 UINT Bottom; > 1572 UINT Front; > 1573 UINT Back; > 1574 } > 1575 > 1576 struct D3DLOCKED_BOX > 1577 { > 1578 INT RowPitch; > 1579 INT SlicePitch; > 1580 void* pBits; > 1581 } > 1582 > 1583 /* Structures for LockRange */ > 1584 struct D3DRANGE > 1585 { > 1586 UINT Offset; > 1587 UINT Size; > 1588 } > 1589 > 1590 /* Structures for high order primitives */ > 1591 struct D3DRECTPATCH_INFO > 1592 { > 1593 UINT StartVertexOffsetWidth; > 1594 UINT StartVertexOffsetHeight; > 1595 UINT Width; > 1596 UINT Height; > 1597 UINT Stride; > 1598 D3DBASISTYPE Basis; > 1599 D3DDEGREETYPE Degree; > 1600 } > 1601 > 1602 struct D3DTRIPATCH_INFO > 1603 { > 1604 UINT StartVertexOffset; > 1605 UINT NumVertices; > 1606 D3DBASISTYPE Basis; > 1607 D3DDEGREETYPE Degree; > 1608 } > 1609 > 1610 /* Adapter Identifier */ > 1611 > 1612 const MAX_DEVICE_IDENTIFIER_STRING = 512; > 1613 struct D3DADAPTER_IDENTIFIER9 > 1614 { > 1615 char[MAX_DEVICE_IDENTIFIER_STRING] Driver; > 1616 char[MAX_DEVICE_IDENTIFIER_STRING] Description; > 1617 char[32] DeviceName; /* Device name for GDI (ex. \\.\DISPLAY1) */ > 1618 > 1619 LARGE_INTEGER DriverVersion; /* Defined for 32 bit components */ > 1620 > 1621 DWORD VendorId; > 1622 DWORD DeviceId; > 1623 DWORD SubSysId; > 1624 DWORD Revision; > 1625 > 1626 GUID DeviceIdentifier; > 1627 > 1628 DWORD WHQLLevel; > 1629 } > 1630 > 1631 > 1632 /* Raster Status structure returned by GetRasterStatus */ > 1633 struct D3DRASTER_STATUS > 1634 { > 1635 BOOL InVBlank; > 1636 UINT ScanLine; > 1637 } > 1638 > 1639 > 1640 > 1641 /* Debug monitor tokens (DEBUG only) > 1642 > 1643 Note that if D3DRS_DEBUGMONITORTOKEN is set, the call is treated as > 1644 passing a token to the debug monitor. For example, if, after passing > 1645 D3DDMT_ENABLE/DISABLE to D3DRS_DEBUGMONITORTOKEN other token values > 1646 are passed in, the enabled/disabled state of the debug > 1647 monitor will still persist. > 1648 > 1649 The debug monitor defaults to enabled. > 1650 > 1651 Calling GetRenderState on D3DRS_DEBUGMONITORTOKEN is not of any use. > 1652 */ > 1653 enum : D3DDEBUGMONITORTOKENS { > 1654 D3DDMT_ENABLE = 0, // enable debug monitor > 1655 D3DDMT_DISABLE = 1 // disable debug monitor > 1656 } > 1657 alias TypeDef!(uint) D3DDEBUGMONITORTOKENS; > 1658 > 1659 // Async feedback > 1660 > 1661 enum : D3DQUERYTYPE { > 1662 D3DQUERYTYPE_VCACHE = 4, /* D3DISSUE_END */ > 1663 D3DQUERYTYPE_RESOURCEMANAGER = 5, /* D3DISSUE_END */ > 1664 D3DQUERYTYPE_VERTEXSTATS = 6, /* D3DISSUE_END */ > 1665 D3DQUERYTYPE_EVENT = 8, /* D3DISSUE_END */ > 1666 D3DQUERYTYPE_OCCLUSION = 9, /* D3DISSUE_BEGIN, D3DISSUE_END */ > 1667 D3DQUERYTYPE_TIMESTAMP = 10, /* D3DISSUE_END */ > 1668 D3DQUERYTYPE_TIMESTAMPDISJOINT = 11, /* D3DISSUE_BEGIN, D3DISSUE_END */ > 1669 D3DQUERYTYPE_TIMESTAMPFREQ = 12, /* D3DISSUE_END */ > 1670 D3DQUERYTYPE_PIPELINETIMINGS = 13, /* D3DISSUE_BEGIN, D3DISSUE_END */ > 1671 D3DQUERYTYPE_INTERFACETIMINGS = 14, /* D3DISSUE_BEGIN, D3DISSUE_END */ > 1672 D3DQUERYTYPE_VERTEXTIMINGS = 15, /* D3DISSUE_BEGIN, D3DISSUE_END */ > 1673 D3DQUERYTYPE_PIXELTIMINGS = 16, /* D3DISSUE_BEGIN, D3DISSUE_END */ > 1674 D3DQUERYTYPE_BANDWIDTHTIMINGS = 17, /* D3DISSUE_BEGIN, D3DISSUE_END */ > 1675 D3DQUERYTYPE_CACHEUTILIZATION = 18, /* D3DISSUE_BEGIN, D3DISSUE_END */ > 1676 } > 1677 alias TypeDef!(uint) D3DQUERYTYPE; > 1678 > 1679 // Flags field for Issue > 1680 const D3DISSUE_END = (1 << 0); // Tells the runtime to issue the end of a query, > 1681 const D3DISSUE_BEGIN = (1 << 1); // Tells the runtime to issue the beginng of a > 1682 > 1683 > 1684 // Flags field for GetData > 1685 const D3DGETDATA_FLUSH = (1 << 0); // Tells the runtime to flush if the query is > 1686 > 1687 > 1688 struct D3DRESOURCESTATS > 1689 { > 1690 // Data collected since last Present() > 1691 BOOL bThrashing; /* indicates if thrashing */ > 1692 DWORD ApproxBytesDownloaded; /* Approximate number of bytes downloaded by > 1693 DWORD NumEvicts; /* number of objects evicted */ > 1694 DWORD NumVidCreates; /* number of objects created in video memory > 1695 DWORD LastPri; /* priority of last object evicted */ > 1696 DWORD NumUsed; /* number of objects set to the device */ > 1697 DWORD NumUsedInVidMem; /* number of objects set to the device, whic > 1698 // Persistent data > 1699 DWORD WorkingSet; /* number of objects in video memory */ > 1700 DWORD WorkingSetBytes; /* number of bytes in video memory */ > 1701 DWORD TotalManaged; /* total number of managed objects */ > 1702 DWORD TotalBytes; /* total number of bytes of managed objects > 1703 } > 1704 > 1705 const D3DRTYPECOUNT = D3DRTYPE_INDEXBUFFER+1; > 1706 > 1707 struct D3DDEVINFO_RESOURCEMANAGER > 1708 { > 1709 //#ifndef WOW64_ENUM_WORKAROUND > 1710 // D3DRESOURCESTATS stats[D3DRTYPECOUNT]; > 1711 D3DRESOURCESTATS[8] stats; > 1712 } > 1713 alias D3DDEVINFO_RESOURCEMANAGER* LPD3DDEVINFO_RESOURCEMANAGER; > 1714 > 1715 struct D3DDEVINFO_D3DVERTEXSTATS > 1716 { > 1717 DWORD NumRenderedTriangles; /* total number of triangles that are no > 1718 DWORD NumExtraClippingTriangles; /* Number of new triangles generated by > 1719 } > 1720 alias D3DDEVINFO_D3DVERTEXSTATS *LPD3DDEVINFO_D3DVERTEXSTATS; > 1721 > 1722 > 1723 struct D3DDEVINFO_VCACHE { > 1724 DWORD Pattern; /* bit pattern, return value must be FOU > 1725 DWORD OptMethod; /* optimization method 0 means longest s > 1726 DWORD CacheSize; /* cache size to optimize for (only req > 1727 DWORD MagicNumber; /* used to determine when to restart str > 1728 } > 1729 alias D3DDEVINFO_VCACHE *LPD3DDEVINFO_VCACHE; > 1730 > 1731 struct D3DDEVINFO_D3D9PIPELINETIMINGS > 1732 { > 1733 FLOAT VertexProcessingTimePercent; > 1734 FLOAT PixelProcessingTimePercent; > 1735 FLOAT OtherGPUProcessingTimePercent; > 1736 FLOAT GPUIdleTimePercent; > 1737 } > 1738 > 1739 struct D3DDEVINFO_D3D9INTERFACETIMINGS > 1740 { > 1741 FLOAT WaitingForGPUToUseApplicationResourceTimePercent; > 1742 FLOAT WaitingForGPUToAcceptMoreCommandsTimePercent; > 1743 FLOAT WaitingForGPUToStayWithinLatencyTimePercent; > 1744 FLOAT WaitingForGPUExclusiveResourceTimePercent; > 1745 FLOAT WaitingForGPUOtherTimePercent; > 1746 } > 1747 > 1748 struct D3DDEVINFO_D3D9STAGETIMINGS > 1749 { > 1750 FLOAT MemoryProcessingPercent; > 1751 FLOAT ComputationProcessingPercent; > 1752 } > 1753 > 1754 struct D3DDEVINFO_D3D9BANDWIDTHTIMINGS > 1755 { > 1756 FLOAT MaxBandwidthUtilized; > 1757 FLOAT FrontEndUploadMemoryUtilizedPercent; > 1758 FLOAT VertexRateUtilizedPercent; > 1759 FLOAT TriangleSetupRateUtilizedPercent; > 1760 FLOAT FillRateUtilizedPercent; > 1761 } > 1762 > 1763 struct D3DDEVINFO_D3D9CACHEUTILIZATION > 1764 { > 1765 FLOAT TextureCacheHitRate; // Percentage of cache hits > 1766 FLOAT PostTransformVertexCacheHitRate; > 1767 } > 1768 > 1769 enum : D3DCOMPOSERECTSOP { > 1770 D3DCOMPOSERECTS_COPY = 1, > 1771 D3DCOMPOSERECTS_OR = 2, > 1772 D3DCOMPOSERECTS_AND = 3, > 1773 D3DCOMPOSERECTS_NEG = 4 > 1774 } > 1775 alias TypeDef!(uint) D3DCOMPOSERECTSOP; > 1776 > 1777 struct D3DCOMPOSERECTDESC > 1778 { > 1779 USHORT X, Y; // Top-left coordinates of a rect in the source surf > 1780 USHORT Width, Height; // Dimensions of the rect > 1781 } > 1782 > 1783 struct D3DCOMPOSERECTDESTINATION > 1784 { > 1785 USHORT SrcRectIndex; // Index of D3DCOMPOSERECTDESC > 1786 USHORT Reserved; // For alignment > 1787 SHORT X, Y; // Top-left coordinates of the rect in the destinati > 1788 } > 1789 > 1790 const D3DCOMPOSERECTS_MAXNUMRECTS = 0xFFFF; > 1791 const D3DCONVOLUTIONMONO_MAXWIDTH = 7; > 1792 const D3DCONVOLUTIONMONO_MAXHEIGHT = D3DCONVOLUTIONMONO_MAXWIDTH; > 1793 const D3DFMT_A1_SURFACE_MAXWIDTH = 8192; > 1794 const D3DFMT_A1_SURFACE_MAXHEIGHT = 2048; > 1795 > 1796 > 1797 struct D3DPRESENTSTATS { > 1798 UINT PresentCount; > 1799 UINT PresentRefreshCount; > 1800 UINT SyncRefreshCount; > 1801 LARGE_INTEGER SyncQPCTime; > 1802 LARGE_INTEGER SyncGPUTime; > 1803 } > 1804 > 1805 enum : D3DSCANLINEORDERING > 1806 { > 1807 D3DSCANLINEORDERING_UNKNOWN = 0, > 1808 D3DSCANLINEORDERING_PROGRESSIVE = 1, > 1809 D3DSCANLINEORDERING_INTERLACED = 2 > 1810 } > 1811 alias TypeDef!(uint) D3DSCANLINEORDERING; > 1812 > 1813 > 1814 struct D3DDISPLAYMODEEX > 1815 { > 1816 UINT Size; > 1817 UINT Width; > 1818 UINT Height; > 1819 UINT RefreshRate; > 1820 D3DFORMAT Format; > 1821 D3DSCANLINEORDERING ScanLineOrdering; > 1822 } > 1823 > 1824 struct D3DDISPLAYMODEFILTER > 1825 { > 1826 UINT Size; > 1827 D3DFORMAT Format; > 1828 D3DSCANLINEORDERING ScanLineOrdering; > 1829 } > 1830 > 1831 > 1832 enum : D3DDISPLAYROTATION > 1833 { > 1834 D3DDISPLAYROTATION_IDENTITY = 1, // No rotation. > 1835 D3DDISPLAYROTATION_90 = 2, // Rotated 90 degrees. > 1836 D3DDISPLAYROTATION_180 = 3, // Rotated 180 degrees. > 1837 D3DDISPLAYROTATION_270 = 4 // Rotated 270 degrees. > 1838 } > 1839 alias TypeDef!(uint) D3DDISPLAYROTATION; > 1840 > 1841 /* For use in ID3DResource9::SetPriority calls */ > 1842 const D3D9_RESOURCE_PRIORITY_MINIMUM = 0x28000000; > 1843 const D3D9_RESOURCE_PRIORITY_LOW = 0x50000000; > 1844 const D3D9_RESOURCE_PRIORITY_NORMAL = 0x78000000; > 1845 const D3D9_RESOURCE_PRIORITY_HIGH = 0xa0000000; > 1846 const D3D9_RESOURCE_PRIORITY_MAXIMUM = 0xc8000000;

Added src/win32/directx/d3dx10.d version [95a83671f36f06d6]

> 1 /***********************************************************************\ > 2 * d3dx10.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Placed into public domain * > 7 \***********************************************************************/ > 8 module win32.directx.d3dx10; > 9 > 10 private import win32.windows; > 11 > 12 public import win32.directx.d3d10; > 13 public import win32.directx.d3dx10math; > 14 public import win32.directx.d3dx10core; > 15 public import win32.directx.d3dx10tex; > 16 public import win32.directx.d3dx10mesh; > 17 public import win32.directx.d3dx10async; > 18 > 19 pragma(lib, "d3dx10.lib"); > 20 > 21 const UINT D3DX10_DEFAULT = -1; > 22 const UINT D3DX10_FROM_FILE = -3; > 23 const DXGI_FORMAT DXGI_FORMAT_FROM_FILE = cast(DXGI_FORMAT)-3; > 24 > 25 const _FACDD = 0x876; > 26 HRESULT MAKE_DDHRESULT(T)(T code) { > 27 return MAKE_HRESULT(1, _FACDD, code); > 28 } > 29 > 30 alias HRESULT _D3DX10_ERR; > 31 _D3DX10_ERR D3DX10_ERR_CANNOT_MODIFY_INDEX_BUFFER = MAKE_DDHRESULT(2900); > 32 _D3DX10_ERR D3DX10_ERR_INVALID_MESH = MAKE_D > 33 _D3DX10_ERR D3DX10_ERR_CANNOT_ATTR_SORT = MAKE_DDHRESULT > 34 _D3DX10_ERR D3DX10_ERR_SKINNING_NOT_SUPPORTED = MAKE_DDHRESULT(2903); > 35 _D3DX10_ERR D3DX10_ERR_TOO_MANY_INFLUENCES = MAKE_DDHRESULT > 36 _D3DX10_ERR D3DX10_ERR_INVALID_DATA = MAKE_D > 37 _D3DX10_ERR D3DX10_ERR_LOADED_MESH_HAS_NO_DATA = MAKE_DDHRESULT(2906); > 38 _D3DX10_ERR D3DX10_ERR_DUPLICATE_NAMED_FRAGMENT = MAKE_DDHRESULT(2907); > 39 _D3DX10_ERR D3DX10_ERR_CANNOT_REMOVE_LAST_ITEM = MAKE_DDHRESULT(2908);

Added src/win32/directx/d3dx10async.d version [3663615d3892dfa7]

> 1 /***********************************************************************\ > 2 * d3dx10async.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Placed into public domain * > 7 \***********************************************************************/ > 8 module win32.directx.d3dx10async; > 9 > 10 private import win32.windows; > 11 private import win32.directx.d3d10; > 12 private import win32.directx.d3d10shader; > 13 private import win32.directx.d3d10effect; > 14 private import win32.directx.d3dx10; > 15 private import win32.directx.d3dx10async; > 16 > 17 extern(Windows) { > 18 HRESULT D3DX10CompileFromFileA(LPCSTR pSrcFile, D3D10_SHADER_MACRO* pDef > 19 HRESULT D3DX10CompileFromFileW(LPCWSTR pSrcFile, D3D10_SHADER_MACRO* pDe > 20 } > 21 > 22 version(Unicode) { > 23 alias D3DX10CompileFromFileW D3DX10CompileFromFile; > 24 } else { > 25 alias D3DX10CompileFromFileA D3DX10CompileFromFile; > 26 } > 27 > 28 extern(Windows) { > 29 HRESULT D3DX10CompileFromResourceA(HMODULE hSrcModule, LPCSTR pSrcResour > 30 HRESULT D3DX10CompileFromResourceW(HMODULE hSrcModule, LPCWSTR pSrcResou > 31 } > 32 > 33 version(Unicode) { > 34 alias D3DX10CompileFromResourceW D3DX10CompileFromResource; > 35 } else { > 36 alias D3DX10CompileFromResourceA D3DX10CompileFromResource; > 37 } > 38 > 39 extern(Windows) { > 40 HRESULT D3DX10CompileFromMemory(LPCSTR pSrcData, SIZE_T SrcDataLen, LPCS > 41 HRESULT D3DX10CreateEffectFromFileA(LPCSTR pFileName, D3D10_SHADER_MACRO > 42 HRESULT D3DX10CreateEffectFromFileW(LPCWSTR pFileName, D3D10_SHADER_MACR > 43 HRESULT D3DX10CreateEffectFromMemory(LPCVOID pData, SIZE_T DataLength, L > 44 HRESULT D3DX10CreateEffectFromResourceA(HMODULE hModule, LPCSTR pResourc > 45 HRESULT D3DX10CreateEffectFromResourceW(HMODULE hModule, LPCWSTR pResour > 46 } > 47 > 48 version(Unicode) { > 49 alias D3DX10CreateEffectFromFileW D3DX10CreateEffectFromFile; > 50 alias D3DX10CreateEffectFromResourceW D3DX10CreateEffectFromResource; > 51 } else { > 52 alias D3DX10CreateEffectFromFileA D3DX10CreateEffectFromFile; > 53 alias D3DX10CreateEffectFromResourceA D3DX10CreateEffectFromResource; > 54 } > 55 > 56 extern(Windows) { > 57 HRESULT D3DX10CreateEffectPoolFromFileA(LPCSTR pFileName, D3D10_SHADER_M > 58 HRESULT D3DX10CreateEffectPoolFromFileW(LPCWSTR pFileName, D3D10_SHADER_ > 59 HRESULT D3DX10CreateEffectPoolFromMemory(LPCVOID pData, SIZE_T DataLengt > 60 HRESULT D3DX10CreateEffectPoolFromResourceA(HMODULE hModule, LPCSTR pRes > 61 HRESULT D3DX10CreateEffectPoolFromResourceW(HMODULE hModule, LPCWSTR pRe > 62 } > 63 > 64 version(Unicode) { > 65 alias D3DX10CreateEffectPoolFromFileW D3DX10CreateEffectPoolFromFile; > 66 alias D3DX10CreateEffectPoolFromResourceW D3DX10CreateEffectPoolFromReso > 67 } else { > 68 alias D3DX10CreateEffectPoolFromFileA D3DX10CreateEffectPoolFromFile; > 69 alias D3DX10CreateEffectPoolFromResourceA D3DX10CreateEffectPoolFromReso > 70 } > 71 > 72 extern(Windows) { > 73 HRESULT D3DX10PreprocessShaderFromFileA(LPCSTR pFileName, D3D10_SHADER_M > 74 HRESULT D3DX10PreprocessShaderFromFileW(LPCWSTR pFileName, D3D10_SHADER_ > 75 HRESULT D3DX10PreprocessShaderFromMemory(LPCSTR pSrcData, SIZE_T SrcData > 76 HRESULT D3DX10PreprocessShaderFromResourceA(HMODULE hModule, LPCSTR pRes > 77 HRESULT D3DX10PreprocessShaderFromResourceW(HMODULE hModule, LPCWSTR pRe > 78 } > 79 > 80 version(Unicode) { > 81 alias D3DX10PreprocessShaderFromFileW D3DX10PreprocessShaderFromFile; > 82 alias D3DX10PreprocessShaderFromResourceW D3DX10PreprocessShaderFromReso > 83 } else { > 84 alias D3DX10PreprocessShaderFromFileA D3DX10PreprocessShaderFromFile; > 85 alias D3DX10PreprocessShaderFromResourceA D3DX10PreprocessShaderFromReso > 86 } > 87 > 88 extern(Windows) { > 89 HRESULT D3DX10CreateAsyncCompilerProcessor(LPCSTR pFileName, D3D10_SHADE > 90 HRESULT D3DX10CreateAsyncEffectCreateProcessor(LPCSTR pFileName, D3D10_S > 91 HRESULT D3DX10CreateAsyncEffectPoolCreateProcessor(LPCSTR pFileName, D3D > 92 HRESULT D3DX10CreateAsyncShaderPreprocessProcessor(LPCSTR pFileName, D3D > 93 HRESULT D3DX10CreateAsyncFileLoaderW(LPCWSTR pFileName, ID3DX10DataLoade > 94 HRESULT D3DX10CreateAsyncFileLoaderA(LPCSTR pFileName, ID3DX10DataLoader > 95 HRESULT D3DX10CreateAsyncMemoryLoader(LPCVOID pData, SIZE_T cbData, ID3D > 96 HRESULT D3DX10CreateAsyncResourceLoaderW(HMODULE hSrcModule, LPCWSTR pSr > 97 HRESULT D3DX10CreateAsyncResourceLoaderA(HMODULE hSrcModule, LPCSTR pSrc > 98 } > 99 > 100 version(Unicode) { > 101 alias D3DX10CreateAsyncFileLoaderW D3DX10CreateAsyncFileLoader; > 102 alias D3DX10CreateAsyncResourceLoaderW D3DX10CreateAsyncResourceLoader; > 103 } else { > 104 alias D3DX10CreateAsyncFileLoaderA D3DX10CreateAsyncFileLoader; > 105 alias D3DX10CreateAsyncResourceLoaderA D3DX10CreateAsyncResourceLoader; > 106 } > 107 > 108 extern(Windows) { > 109 HRESULT D3DX10CreateAsyncTextureProcessor(ID3D10Device pDevice, D3DX10_I > 110 HRESULT D3DX10CreateAsyncTextureInfoProcessor(D3DX10_IMAGE_INFO* pImageI > 111 HRESULT D3DX10CreateAsyncShaderResourceViewProcessor(ID3D10Device pDevic > 112 }

Added src/win32/directx/d3dx10core.d version [63d7357057086331]

> 1 /***********************************************************************\ > 2 * d3dx10core.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Placed into public domain * > 7 \***********************************************************************/ > 8 module win32.directx.d3dx10core; > 9 > 10 private import win32.windows; > 11 > 12 private import win32.directx.d3d10; > 13 private import win32.directx.d3d10effect; > 14 private import win32.directx.d3dx10math; > 15 > 16 const D3DX10_DLL_W = "d3dx10_36.dll"; > 17 const D3DX10_DLL_A = "d3dx10_36.dll"; > 18 > 19 version(Unicode) { > 20 alias D3DX10_DLL_W D3DX10_DLL; > 21 } else { > 22 alias D3DX10_DLL_A D3DX10_DLL; > 23 } > 24 > 25 const D3DX10_SDK_VERSION = 36; > 26 > 27 extern(Windows) { > 28 HRESULT D3DX10CreateDevice(IDXGIAdapter pAdapter, D3D10_DRIVER_TYPE Driv > 29 HMODULE Software, UINT Flags, ID3D10Device* ppDevice); > 30 HRESULT D3DX10CreateDeviceAndSwapChain(IDXGIAdapter pAdapter, D3D10_DRIV > 31 HMODULE Software, UINT Flags, DXGI_SWAP_CHAIN_DESC* pSwapChainDe > 32 ID3D10Device* ppDevice); > 33 //TODO HRESULT D3DX10GetFeatureLevel1(ID3D10Device pDevice, ID3D10Device1* ppDe > 34 > 35 debug(D3D10_DEBUG) { > 36 BOOL D3DX10DebugMute(BOOL Mute); > 37 } > 38 > 39 HRESULT D3DX10CheckVersion(UINT D3DSdkVersion, UINT D3DX10SdkVersion); > 40 UINT D3DX10GetDriverLevel(ID3D10Device pDevice); > 41 } > 42 > 43 enum D3DX10_SPRITE_FLAG { > 44 D3DX10_SPRITE_SORT_TEXTURE = 0x01, > 45 D3DX10_SPRITE_SORT_DEPTH_BACK_TO_FRONT = 0x02, > 46 D3DX10_SPRITE_SORT_DEPTH_FRONT_TO_BACK = 0x04, > 47 D3DX10_SPRITE_SAVE_STATE = 0x08, > 48 D3DX10_SPRITE_ADDREF_TEXTURES = 0x10 > 49 } > 50 > 51 struct D3DX10_SPRITE { > 52 D3DXMATRIX matWorld; > 53 D3DXVECTOR2 TexCoord; > 54 D3DXVECTOR2 TexSize; > 55 D3DXCOLOR ColorModulate; > 56 ID3D10ShaderResourceView pTexture; > 57 UINT TextureIndex; > 58 } > 59 > 60 extern(C) const GUID IID_ID3DX10Sprite = {0xba0b762d, 0x8d28, 0x43ec, [0xb9, 0xd > 61 > 62 interface ID3DX10Sprite : IUnknown { > 63 extern(Windows) : > 64 HRESULT Begin(UINT flags); > 65 HRESULT DrawSpritesBuffered(D3DX10_SPRITE* pSprites, UINT cSprites); > 66 HRESULT Flush(); > 67 HRESULT DrawSpritesImmediate(D3DX10_SPRITE* pSprites, UINT cSprites, UIN > 68 HRESULT End(); > 69 HRESULT GetViewTransform(D3DXMATRIX* pViewTransform); > 70 HRESULT SetViewTransform(D3DXMATRIX* pViewTransform); > 71 HRESULT GetProjectionTransform(D3DXMATRIX* pProjectionTransform); > 72 HRESULT SetProjectionTransform(D3DXMATRIX* pProjectionTransform); > 73 HRESULT GetDevice(ID3D10Device* ppDevice); > 74 } > 75 > 76 extern(Windows) HRESULT D3DX10CreateSprite(ID3D10Device pDevice, UINT cDeviceBuf > 77 > 78 interface ID3DX10DataLoader { > 79 /* TODO: fix vtbl[0] bug > 80 extern(Windows) : > 81 HRESULT Load(); > 82 HRESULT Decompress(void** ppData, SIZE_T* pcBytes); > 83 HRESULT Destroy(); > 84 */ > 85 } > 86 > 87 interface ID3DX10DataProcessor { > 88 /* TODO: fix vtbl[0] bug > 89 extern(Windows) : > 90 HRESULT Process(void* pData, SIZE_T cBytes); > 91 HRESULT CreateDeviceObject(void** ppDataObject); > 92 HRESULT Destroy(); > 93 */ > 94 } > 95 > 96 extern(C) const GUID IID_ID3DX10ThreadPump = {0xc93fecfa, 0x6967, 0x478a, [0xab, > 97 > 98 interface ID3DX10ThreadPump : IUnknown { > 99 extern(Windows) : > 100 HRESULT AddWorkItem(ID3DX10DataLoader pDataLoader, ID3DX10DataProcessor > 101 UINT GetWorkItemCount(); > 102 HRESULT WaitForAllItems(); > 103 HRESULT ProcessDeviceWorkItems(UINT iWorkItemCount); > 104 HRESULT PurgeAllItems(); > 105 HRESULT GetQueueStatus(UINT* pIoQueue, UINT* pProcessQueue, UINT* pDevic > 106 } > 107 > 108 extern(Windows) HRESULT D3DX10CreateThreadPump(UINT cIoThreads, UINT cProcThread > 109 ID3DX10ThreadPump *ppThreadPump); > 110 > 111 struct D3DX10_FONT_DESCA { > 112 INT Height; > 113 UINT Width; > 114 UINT Weight; > 115 UINT MipLevels; > 116 BOOL Italic; > 117 BYTE CharSet; > 118 BYTE OutputPrecision; > 119 BYTE Quality; > 120 BYTE PitchAndFamily; > 121 CHAR[LF_FACESIZE] FaceName; > 122 } > 123 > 124 struct D3DX10_FONT_DESCW { > 125 INT Height; > 126 UINT Width; > 127 UINT Weight; > 128 UINT MipLevels; > 129 BOOL Italic; > 130 BYTE CharSet; > 131 BYTE OutputPrecision; > 132 BYTE Quality; > 133 BYTE PitchAndFamily; > 134 WCHAR[LF_FACESIZE] FaceName; > 135 } > 136 > 137 version(Unicode) { > 138 alias D3DX10_FONT_DESCW D3DX10_FONT_DESC; > 139 } else { > 140 alias D3DX10_FONT_DESCA D3DX10_FONT_DESC; > 141 } > 142 > 143 extern(C) const GUID IID_ID3DX10Font = {0xd79dbb70, 0x5f21, 0x4d36, [0xbb, 0xc2, > 144 > 145 interface ID3DX10Font : IUnknown { > 146 extern(Windows) : > 147 HRESULT GetDevice(ID3D10Device* ppDevice); > 148 HRESULT GetDescA(D3DX10_FONT_DESCA* pDesc); > 149 HRESULT GetDescW(D3DX10_FONT_DESCW* pDesc); > 150 BOOL GetTextMetricsA(TEXTMETRICA* pTextMetrics); > 151 BOOL GetTextMetricsW(TEXTMETRICW* pTextMetrics); > 152 HDC GetDC(); > 153 HRESULT GetGlyphData(UINT Glyph, ID3D10ShaderResourceView* ppTexture, RE > 154 HRESULT PreloadCharacters(UINT First, UINT Last); > 155 HRESULT PreloadGlyphs(UINT First, UINT Last); > 156 HRESULT PreloadTextA(LPCSTR pString, INT Count); > 157 HRESULT PreloadTextW(LPCWSTR pString, INT Count); > 158 INT DrawTextA(ID3DX10Sprite pSprite, LPCSTR pString, INT Count, LPRECT p > 159 INT DrawTextW(ID3DX10Sprite pSprite, LPCWSTR pString, INT Count, LPRECT > 160 version(Unicode) { > 161 alias GetTextMetricsW GetTextMetrics; > 162 alias DrawTextW DrawText; > 163 } else { > 164 alias GetTextMetricsA GetTextMetrics; > 165 alias DrawTextA DrawText; > 166 } > 167 } > 168 > 169 extern(Windows) { > 170 HRESULT D3DX10CreateFontA(ID3D10Device pDevice, INT Height, UINT Width, > 171 UINT MipLevels, BOOL Italic, UINT CharSet, UINT OutputPrecision, > 172 UINT PitchAndFamily, LPCSTR pFaceName, ID3DX10Font* ppFont); > 173 HRESULT D3DX10CreateFontW(ID3D10Device pDevice, INT Height, UINT Width, > 174 UINT MipLevels, BOOL Italic, UINT CharSet, UINT OutputPrecision, > 175 UINT PitchAndFamily, LPCWSTR pFaceName, ID3DX10Font* ppFont); > 176 } > 177 > 178 version(Unicode) { > 179 alias D3DX10CreateFontW D3DX10CreateFont; > 180 } else { > 181 alias D3DX10CreateFontA D3DX10CreateFont; > 182 } > 183 > 184 extern(Windows) { > 185 HRESULT D3DX10CreateFontIndirectA(ID3D10Device pDevice, D3DX10_FONT_DESC > 186 HRESULT D3DX10CreateFontIndirectW(ID3D10Device pDevice, D3DX10_FONT_DESC > 187 } > 188 > 189 version(Unicode) { > 190 alias D3DX10CreateFontIndirectW D3DX10CreateFontIndirect; > 191 } else { > 192 alias D3DX10CreateFontIndirectA D3DX10CreateFontIndirect; > 193 } > 194 > 195 extern(Windows) { > 196 HRESULT D3DX10UnsetAllDeviceObjects(ID3D10Device pDevice); > 197 //TODO HRESULT D3DX10ReflectShader(void *pShaderBytecode, SIZE_T BytecodeLength > 198 HRESULT D3DX10DisassembleShader(void *pShader, SIZE_T BytecodeLength, BO > 199 LPCSTR pComments, ID3D10Blob* ppDisassembly); > 200 HRESULT D3DX10DisassembleEffect(ID3D10Effect pEffect, BOOL EnableColorCo > 201 } > 202 > 203 const _FACD3D = 0x876; > 204 > 205 HRESULT MAKE_D3DHRESULT(T)(T code) { > 206 return MAKE_HRESULT(1, _FACD3D, code); > 207 } > 208 > 209 HRESULT MAKE_D3DSTATUS(T)(T code) { > 210 return MAKE_HRESULT(0, _FACD3D, code); > 211 } > 212 > 213 const D3DERR_INVALIDCALL = MAKE_D3DHRESULT(2156); > 214 const D3DERR_WASSTILLDRAWING = MAKE_D3DHRESULT(540);

Added src/win32/directx/d3dx10math.d version [2818c66b17c430a2]

> 1 /***********************************************************************\ > 2 * d3dx10math.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Placed into public domain * > 7 \***********************************************************************/ > 8 module win32.directx.d3dx10math; > 9 > 10 version(Tango) { > 11 import tango.math.Math; > 12 alias sqrt sqrtf; > 13 } else { > 14 version (D_Version2) > 15 import core.stdc.math; > 16 else > 17 import std.c.math; > 18 } > 19 > 20 private import win32.windows; > 21 private import win32.directx.d3dx10; > 22 > 23 struct D3DVECTOR { > 24 float x; > 25 float y; > 26 float z; > 27 } > 28 > 29 struct D3DMATRIX { > 30 union { > 31 struct { > 32 float _11, _12, _13, _14; > 33 float _21, _22, _23, _24; > 34 float _31, _32, _33, _34; > 35 float _41, _42, _43, _44; > 36 } > 37 float[4][4] m; > 38 } > 39 } > 40 > 41 const D3DX_PI = 3.14159265358979323846; > 42 const D3DX_1BYPI = 1.0 / D3DX_PI; > 43 > 44 float D3DXToRadian(float degree) { > 45 return degree * (D3DX_PI / 180.0); > 46 } > 47 > 48 float D3DXToDegree(float radian) { > 49 return radian * (180.0 / D3DX_PI); > 50 } > 51 > 52 const D3DX_16F_DIG = 3; > 53 const D3DX_16F_EPSILON = 4.8875809e-4f; > 54 const D3DX_16F_MANT_DIG = 11; > 55 const D3DX_16F_MAX = 6.550400e+004; > 56 const D3DX_16F_MAX_10_EXP = 4; > 57 const D3DX_16F_MAX_EXP = 15; > 58 const D3DX_16F_MIN = 6.1035156e-5f; > 59 const D3DX_16F_MIN_10_EXP = -4; > 60 const D3DX_16F_MIN_EXP = -14; > 61 const D3DX_16F_RADIX = 2; > 62 const D3DX_16F_ROUNDS = 1; > 63 const D3DX_16F_SIGN_MASK = 0x8000; > 64 const D3DX_16F_EXP_MASK = 0x7C00; > 65 const D3DX_16F_FRAC_MASK = 0x03FF; > 66 > 67 struct D3DXFLOAT16 { > 68 //TODO > 69 protected: > 70 WORD value; > 71 } > 72 > 73 struct D3DXVECTOR2 { > 74 //TODO > 75 float x, y; > 76 } > 77 > 78 struct D3DXVECTOR2_16F { > 79 //TODO > 80 D3DXFLOAT16 x, y; > 81 } > 82 > 83 struct D3DXVECTOR3 { > 84 //TODO > 85 float x, y, z; > 86 } > 87 > 88 struct D3DXVECTOR3_16F { > 89 //TODO > 90 D3DXFLOAT16 x, y, z; > 91 } > 92 > 93 struct D3DXVECTOR4 { > 94 //TODO > 95 float x, y, z, w; > 96 } > 97 > 98 struct D3DXVECTOR4_16F { > 99 //TODO > 100 D3DXFLOAT16 x, y, z, w; > 101 } > 102 > 103 struct D3DXMATRIX { > 104 //TODO > 105 union { > 106 struct { > 107 float _11, _12, _13, _14; > 108 float _21, _22, _23, _24; > 109 float _31, _32, _33, _34; > 110 float _41, _42, _43, _44; > 111 } > 112 float[4][4] m; > 113 } > 114 } > 115 > 116 //TODO struct _D3DXMATRIXA16 : D3DXMATRIX > 117 > 118 struct D3DXQUATERNION { > 119 //TODO > 120 float x, y, z, w; > 121 } > 122 > 123 struct D3DXPLANE { > 124 //TODO > 125 float a, b, c, d; > 126 } > 127 > 128 struct D3DXCOLOR { > 129 //TODO > 130 float r, g, b, a; > 131 } > 132 > 133 extern(Windows) { > 134 D3DXFLOAT16* D3DXFloat32To16Array(D3DXFLOAT16* pOut, float* pIn, UINT n) > 135 float* D3DXFloat16To32Array(float* pOut, D3DXFLOAT16* pIn, UINT n); > 136 } > 137 > 138 float D3DXVec2Length(D3DXVECTOR2* pV) { > 139 debug(D3DX10_DEBUG) { > 140 if (pV is null) return 0.0; > 141 } > 142 return sqrtf((pV.x * pV.x) + (pV.y * pV.y)); > 143 } > 144 > 145 float D3DXVec2LengthSq(D3DXVECTOR2* pV) { > 146 debug(D3DX10_DEBUG) { > 147 if (pV is null) return 0.0; > 148 } > 149 return (pV.x * pV.x) + (pV.y * pV.y); > 150 } > 151 > 152 float D3DXVec2Dot(D3DXVECTOR2* pV1, D3DXVECTOR2* pV2) { > 153 debug(D3DX10_DEBUG) { > 154 if ((pV1 is null) || (pV2 is null)) return 0.0; > 155 } > 156 return (pV1.x * pV2.x) + (pV1.y * pV2.y); > 157 } > 158 > 159 float D3DXVec2CCW(D3DXVECTOR2* pV1, D3DXVECTOR2* pV2) { > 160 debug(D3DX10_DEBUG) { > 161 if ((pV1 is null) || (pV2 is null)) return 0.0; > 162 } > 163 return (pV1.x * pV2.y) + (pV1.y * pV2.x); > 164 } > 165 > 166 D3DXVECTOR2* D3DXVec2Add(D3DXVECTOR2* pOut, D3DXVECTOR2* pV1, D3DXVECTOR2* pV2) > 167 debug(D3DX10_DEBUG) { > 168 if ((pOut is null) || (pV1 is null) || (pV2 is null)) return nul > 169 } > 170 pOut.x = pV1.x + pV2.x; > 171 pOut.y = pV1.y + pV2.y; > 172 return pOut; > 173 } > 174 > 175 D3DXVECTOR2* D3DXVec2Subtract(D3DXVECTOR2* pOut, D3DXVECTOR2* pV1, D3DXVECTOR2* > 176 debug(D3DX10_DEBUG) { > 177 if ((pOut is null) || (pV1 is null) || (pV2 is null)) return nul > 178 } > 179 pOut.x = pV1.x - pV2.x; > 180 pOut.y = pV1.y - pV2.y; > 181 return pOut; > 182 } > 183 > 184 D3DXVECTOR2* D3DXVec2Minimize(D3DXVECTOR2* pOut, D3DXVECTOR2* pV1, D3DXVECTOR2* > 185 debug(D3DX10_DEBUG) { > 186 if ((pOut is null) || (pV1 is null) || (pV2 is null)) return nul > 187 } > 188 pOut.x = pV1.x < pV2.x ? pV1.x : pV2.x; > 189 pOut.y = pV1.y < pV2.y ? pV1.y : pV2.y; > 190 return pOut; > 191 } > 192 > 193 D3DXVECTOR2* D3DXVec2Maximize(D3DXVECTOR2* pOut, D3DXVECTOR2* pV1, D3DXVECTOR2* > 194 debug(D3DX10_DEBUG) { > 195 if ((pOut is null) || (pV1 is null) || (pV2 is null)) return nul > 196 } > 197 pOut.x = pV1.x > pV2.x ? pV1.x : pV2.x; > 198 pOut.y = pV1.y > pV2.y ? pV1.y : pV2.y; > 199 return pOut; > 200 } > 201 > 202 D3DXVECTOR2* D3DXVec2Scale(D3DXVECTOR2* pOut, D3DXVECTOR2* pV, float s) { > 203 debug(D3DX10_DEBUG) { > 204 if ((pOut is null) || (pV is null)) return null; > 205 } > 206 pOut.x = pV.x * s; > 207 pOut.y = pV.y * s; > 208 return pOut; > 209 } > 210 > 211 D3DXVECTOR2* D3DXVec2Lerp(D3DXVECTOR2* pOut, D3DXVECTOR2* pV1, D3DXVECTOR2* pV2, > 212 debug(D3DX10_DEBUG) { > 213 if ((pOut is null) || (pV1 is null) || (pV2 is null)) return nul > 214 } > 215 pOut.x = pV1.x + s * (pV2.x - pV1.x); > 216 pOut.y = pV1.y + s * (pV2.y - pV1.y); > 217 return pOut; > 218 } > 219 > 220 extern(Windows) { > 221 D3DXVECTOR2* D3DXVec2Normalize(D3DXVECTOR2* pOut, D3DXVECTOR2* pV); > 222 D3DXVECTOR2* D3DXVec2Hermite(D3DXVECTOR2* pOut, D3DXVECTOR2* pV1, D3DXVE > 223 D3DXVECTOR2* D3DXVec2CatmullRom(D3DXVECTOR2* pOut, D3DXVECTOR2* pV0, D3D > 224 D3DXVECTOR2* D3DXVec2BaryCentric(D3DXVECTOR2* pOut, D3DXVECTOR2* pV1, D3 > 225 D3DXVECTOR4* D3DXVec2Transform(D3DXVECTOR4* pOut, D3DXVECTOR2* pV, D3DXM > 226 D3DXVECTOR2* D3DXVec2TransformCoord(D3DXVECTOR2* pOut, D3DXVECTOR2* pV, > 227 D3DXVECTOR2* D3DXVec2TransformNormal(D3DXVECTOR2* pOut, D3DXVECTOR2* pV, > 228 D3DXVECTOR4* D3DXVec2TransformArray(D3DXVECTOR4* pOut, UINT OutStride, D > 229 D3DXVECTOR2* D3DXVec2TransformCoordArray(D3DXVECTOR2* pOut, UINT OutStri > 230 D3DXVECTOR2* D3DXVec2TransformNormalArray(D3DXVECTOR2* pOut, UINT OutStr > 231 } > 232 > 233 float D3DXVec3Length(D3DXVECTOR3* pV) { > 234 debug(D3DX10_DEBUG) { > 235 if (pV is null) return 0.0; > 236 } > 237 return sqrtf((pV.x * pV.x) + (pV.y * pV.y) + (pV.z * pV.z)); > 238 } > 239 > 240 float D3DXVec3LengthSq(D3DXVECTOR3* pV) { > 241 debug(D3DX10_DEBUG) { > 242 if (pV is null) return 0.0; > 243 } > 244 return (pV.x * pV.x) + (pV.y * pV.y) + (pV.z * pV.z); > 245 } > 246 > 247 float D3DXVec3Dot(D3DXVECTOR3* pV1, D3DXVECTOR3* pV2) { > 248 debug(D3DX10_DEBUG) { > 249 if ((pV1 is null) || (pV2 is null)) return 0.0; > 250 } > 251 return (pV1.x * pV2.x) + (pV1.y * pV2.y) + (pV1.z * pV2.z); > 252 } > 253 > 254 D3DXVECTOR3* D3DXVec3Cross(D3DXVECTOR3* pOut, D3DXVECTOR3* pV1, D3DXVECTOR3* pV2 > 255 debug(D3DX10_DEBUG) { > 256 if ((pOut is null) || (pV1 is null) || (pV2 is null)) return 0.0 > 257 } > 258 D3DXVECTOR3 v; > 259 v.x = (pV1.y * pV2.z) - (pV1.z * pV2.y); > 260 v.y = (pV1.z * pV2.x) - (pV1.x * pV2.z); > 261 v.z = (pV1.x * pV2.y) - (pV1.y * pV2.x); > 262 *pOut = v; > 263 return pOut; > 264 } > 265 > 266 D3DXVECTOR3* D3DXVec3Add(D3DXVECTOR3* pOut, D3DXVECTOR3* pV1, D3DXVECTOR3* pV2) > 267 debug(D3DX10_DEBUG) { > 268 if ((pOut is null) || (pV1 is null) || (pV2 is null)) return nul > 269 } > 270 pOut.x = pV1.x + pV2.x; > 271 pOut.y = pV1.y + pV2.y; > 272 pOut.z = pV1.z + pV2.z; > 273 return pOut; > 274 } > 275 > 276 D3DXVECTOR3* D3DXVec3Subtract(D3DXVECTOR3* pOut, D3DXVECTOR3* pV1, D3DXVECTOR3* > 277 debug(D3DX10_DEBUG) { > 278 if ((pOut is null) || (pV1 is null) || (pV2 is null)) return nul > 279 } > 280 pOut.x = pV1.x - pV2.x; > 281 pOut.y = pV1.y - pV2.y; > 282 pOut.z = pV1.z - pV2.z; > 283 return pOut; > 284 } > 285 > 286 D3DXVECTOR3* D3DXVec3Minimize(D3DXVECTOR3* pOut, D3DXVECTOR3* pV1, D3DXVECTOR3* > 287 debug(D3DX10_DEBUG) { > 288 if ((pOut is null) || (pV1 is null) || (pV2 is null)) return nul > 289 } > 290 pOut.x = pV1.x < pV2.x ? pV1.x : pV2.x; > 291 pOut.y = pV1.y < pV2.y ? pV1.y : pV2.y; > 292 pOut.z = pV1.z < pV2.z ? pV1.z : pV2.z; > 293 return pOut; > 294 } > 295 > 296 D3DXVECTOR3* D3DXVec3Maximize(D3DXVECTOR3* pOut, D3DXVECTOR3* pV1, D3DXVECTOR3* > 297 debug(D3DX10_DEBUG) { > 298 if ((pOut is null) || (pV1 is null) || (pV2 is null)) return nul > 299 } > 300 pOut.x = pV1.x > pV2.x ? pV1.x : pV2.x; > 301 pOut.y = pV1.y > pV2.y ? pV1.y : pV2.y; > 302 pOut.z = pV1.z > pV2.z ? pV1.z : pV2.z; > 303 return pOut; > 304 } > 305 > 306 D3DXVECTOR3* D3DXVec3Scale(D3DXVECTOR3* pOut, D3DXVECTOR3* pV, float s) { > 307 debug(D3DX10_DEBUG) { > 308 if ((pOut is null) || (pV is null)) return null; > 309 } > 310 pOut.x = pV.x * s; > 311 pOut.y = pV.y * s; > 312 pOut.z = pV.z * s; > 313 return pOut; > 314 } > 315 > 316 D3DXVECTOR3* D3DXVec3Lerp(D3DXVECTOR3* pOut, D3DXVECTOR3* pV1, D3DXVECTOR3* pV2, > 317 debug(D3DX10_DEBUG) { > 318 if ((pOut is null) || (pV1 is null) || (pV2 is null)) return nul > 319 } > 320 pOut.x = pV1.x + s * (pV2.x - pV1.x); > 321 pOut.y = pV1.y + s * (pV2.y - pV1.y); > 322 pOut.z = pV1.z + s * (pV2.z - pV1.z); > 323 return pOut; > 324 } > 325 > 326 extern(Windows) { > 327 D3DXVECTOR3* D3DXVec3Normalize(D3DXVECTOR3* pOut, D3DXVECTOR3* pV); > 328 D3DXVECTOR3* D3DXVec3Hermite(D3DXVECTOR3* pOut, D3DXVECTOR3* pV1, D3DXVE > 329 D3DXVECTOR3* D3DXVec3CatmullRom(D3DXVECTOR3* pOut, D3DXVECTOR3* pV0, D3D > 330 D3DXVECTOR3* D3DXVec3BaryCentric(D3DXVECTOR3* pOut, D3DXVECTOR3* pV1, D3 > 331 D3DXVECTOR4* D3DXVec3Transform(D3DXVECTOR4* pOut, D3DXVECTOR3* pV, D3DXM > 332 D3DXVECTOR3* D3DXVec3TransformCoord(D3DXVECTOR3* pOut, D3DXVECTOR3* pV, > 333 D3DXVECTOR3* D3DXVec3TransformNormal(D3DXVECTOR3* pOut, D3DXVECTOR3* pV, > 334 D3DXVECTOR4* D3DXVec3TransformArray(D3DXVECTOR4* pOut, UINT OutStride, D > 335 D3DXVECTOR3* D3DXVec3TransformCoordArray(D3DXVECTOR3* pOut, UINT OutStri > 336 D3DXVECTOR3* D3DXVec3TransformNormalArray(D3DXVECTOR3* pOut, UINT OutStr > 337 D3DXVECTOR3* D3DXVec3Project(D3DXVECTOR3* pOut, D3DXVECTOR3* pV, D3D10_V > 338 D3DXVECTOR3* D3DXVec3Unproject(D3DXVECTOR3* pOut, D3DXVECTOR3* pV, D3D10 > 339 D3DXVECTOR3* D3DXVec3ProjectArray(D3DXVECTOR3* pOut, UINT OutStride,D3DX > 340 D3DXVECTOR3* D3DXVec3UnprojectArray(D3DXVECTOR3* pOut, UINT OutStride, D > 341 } > 342 > 343 float D3DXVec4Length(D3DXVECTOR4* pV) { > 344 debug(D3DX10_DEBUG) { > 345 if (pV is null) return 0.0; > 346 } > 347 return sqrtf((pV.x * pV.x) + (pV.y * pV.y) + (pV.z * pV.z) + (pV.w * pV. > 348 } > 349 > 350 float D3DXVec4LengthSq(D3DXVECTOR4* pV) { > 351 debug(D3DX10_DEBUG) { > 352 if (pV is null) return 0.0; > 353 } > 354 return (pV.x * pV.x) + (pV.y * pV.y) + (pV.z * pV.z) + (pV.w * pV.w); > 355 } > 356 > 357 float D3DXVec4Dot(D3DXVECTOR4* pV1, D3DXVECTOR4* pV2) { > 358 debug(D3DX10_DEBUG) { > 359 if ((pV1 is null) || (pV2 is null)) return 0.0; > 360 } > 361 return (pV1.x * pV2.x) + (pV1.y * pV2.y) + (pV1.z * pV2.z) + (pV1.w * pV > 362 } > 363 > 364 D3DXVECTOR4* D3DXVec4Add(D3DXVECTOR4* pOut, D3DXVECTOR4* pV1, D3DXVECTOR4* pV2) > 365 debug(D3DX10_DEBUG) { > 366 if ((pOut is null) || (pV1 is null) || (pV2 is null)) return nul > 367 } > 368 pOut.x = pV1.x + pV2.x; > 369 pOut.y = pV1.y + pV2.y; > 370 pOut.z = pV1.z + pV2.z; > 371 pOut.w = pV1.w + pV2.w; > 372 return pOut; > 373 } > 374 > 375 D3DXVECTOR4* D3DXVec4Subtract(D3DXVECTOR4* pOut, D3DXVECTOR4* pV1, D3DXVECTOR4* > 376 debug(D3DX10_DEBUG) { > 377 if ((pOut is null) || (pV1 is null) || (pV2 is null)) return nul > 378 } > 379 pOut.x = pV1.x - pV2.x; > 380 pOut.y = pV1.y - pV2.y; > 381 pOut.z = pV1.z - pV2.z; > 382 pOut.w = pV1.w - pV2.w; > 383 return pOut; > 384 } > 385 > 386 D3DXVECTOR4* D3DXVec4Minimize(D3DXVECTOR4* pOut, D3DXVECTOR4* pV1, D3DXVECTOR4* > 387 debug(D3DX10_DEBUG) { > 388 if ((pOut is null) || (pV1 is null) || (pV2 is null)) return nul > 389 } > 390 pOut.x = pV1.x < pV2.x ? pV1.x : pV2.x; > 391 pOut.y = pV1.y < pV2.y ? pV1.y : pV2.y; > 392 pOut.z = pV1.z < pV2.z ? pV1.z : pV2.z; > 393 pOut.w = pV1.w < pV2.w ? pV1.w : pV2.w; > 394 return pOut; > 395 } > 396 > 397 D3DXVECTOR4* D3DXVec4Maximize(D3DXVECTOR4* pOut, D3DXVECTOR4* pV1, D3DXVECTOR4* > 398 debug(D3DX10_DEBUG) { > 399 if ((pOut is null) || (pV1 is null) || (pV2 is null)) return nul > 400 } > 401 pOut.x = pV1.x > pV2.x ? pV1.x : pV2.x; > 402 pOut.y = pV1.y > pV2.y ? pV1.y : pV2.y; > 403 pOut.z = pV1.z > pV2.z ? pV1.z : pV2.z; > 404 pOut.w = pV1.w > pV2.w ? pV1.w : pV2.w; > 405 return pOut; > 406 } > 407 > 408 D3DXVECTOR4* D3DXVec4Scale(D3DXVECTOR4* pOut, D3DXVECTOR4* pV, float s) { > 409 debug(D3DX10_DEBUG) { > 410 if ((pOut is null) || (pV is null)) return null; > 411 } > 412 pOut.x = pV.x * s; > 413 pOut.y = pV.y * s; > 414 pOut.z = pV.z * s; > 415 pOut.w = pV.w * s; > 416 return pOut; > 417 } > 418 > 419 D3DXVECTOR4* D3DXVec4Lerp(D3DXVECTOR4* pOut, D3DXVECTOR4* pV1, D3DXVECTOR4* pV2, > 420 debug(D3DX10_DEBUG) { > 421 if ((pOut is null) || (pV1 is null) || (pV2 is null)) return nul > 422 } > 423 pOut.x = pV1.x + s * (pV2.x - pV1.x); > 424 pOut.y = pV1.y + s * (pV2.y - pV1.y); > 425 pOut.z = pV1.z + s * (pV2.z - pV1.z); > 426 pOut.w = pV1.w + s * (pV2.w - pV1.w); > 427 return pOut; > 428 } > 429 > 430 extern(Windows) { > 431 D3DXVECTOR4* D3DXVec4Cross(D3DXVECTOR4* pOut, D3DXVECTOR4* pV1, D3DXVECT > 432 D3DXVECTOR4* D3DXVec4Normalize(D3DXVECTOR4* pOut, D3DXVECTOR4* pV); > 433 D3DXVECTOR4* D3DXVec4Hermite(D3DXVECTOR4* pOut, D3DXVECTOR4* pV1, D3DXVE > 434 D3DXVECTOR4* D3DXVec4CatmullRom(D3DXVECTOR4* pOut, D3DXVECTOR4* pV0, D3D > 435 D3DXVECTOR4* D3DXVec4BaryCentric(D3DXVECTOR4* pOut, D3DXVECTOR4* pV1, D3 > 436 D3DXVECTOR4* D3DXVec4Transform(D3DXVECTOR4* pOut, D3DXVECTOR4* pV, D3DXM > 437 D3DXVECTOR4* D3DXVec4TransformArray(D3DXVECTOR4* pOut, UINT OutStride, D > 438 } > 439 > 440 D3DXMATRIX* D3DXMatrixIdentity(D3DXMATRIX *pOut) { > 441 debug(D3DX10_DEBUG) { > 442 if (pOut is null) return NULL; > 443 } > 444 pOut.m[0][1] = pOut.m[0][2] = pOut.m[0][3] = > 445 pOut.m[1][0] = pOut.m[1][2] = pOut.m[1][3] = > 446 pOut.m[2][0] = pOut.m[2][1] = pOut.m[2][3] = > 447 pOut.m[3][0] = pOut.m[3][1] = pOut.m[3][2] = 0.0; > 448 pOut.m[0][0] = pOut.m[1][1] = pOut.m[2][2] = pOut.m[3][3] = 1.0; > 449 return pOut; > 450 } > 451 > 452 > 453 BOOL D3DXMatrixIsIdentity(D3DXMATRIX *pM) { > 454 debug(D3DX10_DEBUG) { > 455 if(pM is null) return FALSE; > 456 } > 457 return (pM.m[0][0] == 1.0f) && (pM.m[0][1] == 0.0f) && (pM.m[0][2] == 0. > 458 (pM.m[1][0] == 0.0f) && (pM.m[1][1] == 1.0f) && (pM.m[1][2] == 0. > 459 (pM.m[2][0] == 0.0f) && (pM.m[2][1] == 0.0f) && (pM.m[2][2] == 1. > 460 (pM.m[3][0] == 0.0f) && (pM.m[3][1] == 0.0f) && (pM.m[3][2] == 0. > 461 } > 462 > 463 extern(Windows) { > 464 FLOAT D3DXMatrixDeterminant(D3DXMATRIX* pM); > 465 HRESULT D3DXMatrixDecompose(D3DXVECTOR3* pOutScale, D3DXQUATERNION* pOut > 466 D3DXMATRIX* D3DXMatrixTranspose(D3DXMATRIX* pOut, D3DXMATRIX* pM); > 467 D3DXMATRIX* D3DXMatrixMultiply(D3DXMATRIX* pOut, D3DXMATRIX* pM1, D3DXMA > 468 D3DXMATRIX* D3DXMatrixMultiplyTranspose(D3DXMATRIX* pOut, D3DXMATRIX* pM > 469 D3DXMATRIX* D3DXMatrixInverse(D3DXMATRIX* pOut, FLOAT* pDeterminant, D3D > 470 D3DXMATRIX* D3DXMatrixScaling(D3DXMATRIX* pOut, FLOAT sx, FLOAT sy, FLOA > 471 D3DXMATRIX* D3DXMatrixTranslation(D3DXMATRIX* pOut, FLOAT x, FLOAT y, FL > 472 D3DXMATRIX* D3DXMatrixRotationX(D3DXMATRIX* pOut, FLOAT Angle); > 473 D3DXMATRIX* D3DXMatrixRotationY(D3DXMATRIX* pOut, FLOAT Angle); > 474 D3DXMATRIX* D3DXMatrixRotationZ(D3DXMATRIX* pOut, FLOAT Angle); > 475 D3DXMATRIX* D3DXMatrixRotationAxis(D3DXMATRIX* pOut, D3DXVECTOR3* pV, FL > 476 D3DXMATRIX* D3DXMatrixRotationQuaternion(D3DXMATRIX* pOut, D3DXQUATERNIO > 477 D3DXMATRIX* D3DXMatrixRotationYawPitchRoll(D3DXMATRIX* pOut, FLOAT Yaw, > 478 D3DXMATRIX* D3DXMatrixTransformation(D3DXMATRIX* pOut, D3DXVECTOR3* pSca > 479 D3DXMATRIX* D3DXMatrixTransformation2D(D3DXMATRIX* pOut, D3DXVECTOR2* pS > 480 D3DXMATRIX* D3DXMatrixAffineTransformation(D3DXMATRIX* pOut, FLOAT Scali > 481 D3DXMATRIX* D3DXMatrixAffineTransformation2D(D3DXMATRIX* pOut, FLOAT Sca > 482 D3DXMATRIX* D3DXMatrixLookAtRH(D3DXMATRIX* pOut, D3DXVECTOR3* pEye, D3DX > 483 D3DXMATRIX* D3DXMatrixLookAtLH(D3DXMATRIX* pOut, D3DXVECTOR3* pEye, D3DX > 484 D3DXMATRIX* D3DXMatrixPerspectiveRH(D3DXMATRIX* pOut, FLOAT w, FLOAT h, > 485 D3DXMATRIX* D3DXMatrixPerspectiveLH(D3DXMATRIX* pOut, FLOAT w, FLOAT h, > 486 D3DXMATRIX* D3DXMatrixPerspectiveFovRH(D3DXMATRIX* pOut, FLOAT fovy, FLO > 487 D3DXMATRIX* D3DXMatrixPerspectiveFovLH(D3DXMATRIX* pOut, FLOAT fovy, FLO > 488 D3DXMATRIX* D3DXMatrixPerspectiveOffCenterRH(D3DXMATRIX* pOut, FLOAT l, > 489 D3DXMATRIX* D3DXMatrixPerspectiveOffCenterLH(D3DXMATRIX* pOut, FLOAT l, > 490 D3DXMATRIX* D3DXMatrixOrthoRH(D3DXMATRIX* pOut, FLOAT w, FLOAT h, FLOAT > 491 D3DXMATRIX* D3DXMatrixOrthoLH(D3DXMATRIX* pOut, FLOAT w, FLOAT h, FLOAT > 492 D3DXMATRIX* D3DXMatrixOrthoOffCenterRH(D3DXMATRIX* pOut, FLOAT l, FLOAT > 493 D3DXMATRIX* D3DXMatrixOrthoOffCenterLH(D3DXMATRIX* pOut, FLOAT l, FLOAT > 494 D3DXMATRIX* D3DXMatrixShadow(D3DXMATRIX* pOut, D3DXVECTOR4* pLight, D3DX > 495 D3DXMATRIX* D3DXMatrixReflect(D3DXMATRIX* pOut, D3DXPLANE* pPlane); > 496 } > 497 > 498 float D3DXQuaternionLength(D3DXQUATERNION *pQ) { > 499 debug(D3DX10_DEBUG) { > 500 if (pQ is null) return 0.0f; > 501 } > 502 return sqrtf((pQ.x * pQ.x) + (pQ.y * pQ.y) + (pQ.z * pQ.z) + (pQ.w * pQ.w)); > 503 } > 504 > 505 float D3DXQuaternionLengthSq(D3DXQUATERNION *pQ) { > 506 debug(D3DX10_DEBUG) { > 507 if(pQ is null) return 0.0f; > 508 } > 509 return (pQ.x * pQ.x) + (pQ.y * pQ.y) + (pQ.z * pQ.z) + (pQ.w * pQ.w); > 510 } > 511 > 512 float D3DXQuaternionDot(D3DXQUATERNION *pQ1, D3DXQUATERNION *pQ2) { > 513 debug(D3DX10_DEBUG) { > 514 if((pQ1 is null) || (pQ2 is null)) return 0.0f; > 515 } > 516 return (pQ1.x * pQ2.x) + (pQ1.y * pQ2.y) + (pQ1.z * pQ2.z) + (pQ1.w * pQ2.w) > 517 } > 518 > 519 D3DXQUATERNION* D3DXQuaternionIdentity(D3DXQUATERNION *pOut) { > 520 debug(D3DX10_DEBUG) { > 521 if(pOut is null) return null; > 522 } > 523 pOut.x = pOut.y = pOut.z = 0.0f; > 524 pOut.w = 1.0f; > 525 return pOut; > 526 } > 527 > 528 bool D3DXQuaternionIsIdentity(D3DXQUATERNION *pQ) { > 529 debug(D3DX10_DEBUG) { > 530 if(pQ is null) return false; > 531 } > 532 return (pQ.x == 0.0f) && (pQ.y == 0.0f) && (pQ.z == 0.0f) && (pQ.w == 1.0f); > 533 } > 534 > 535 D3DXQUATERNION* D3DXQuaternionConjugate(D3DXQUATERNION *pOut, D3DXQUATERNION *pQ > 536 debug(D3DX10_DEBUG) { > 537 if((pOut is null) || (pQis is null)) return null; > 538 } > 539 pOut.x = -pQ.x; > 540 pOut.y = -pQ.y; > 541 pOut.z = -pQ.z; > 542 pOut.w = pQ.w; > 543 return pOut; > 544 } > 545 > 546 extern(Windows) { > 547 void D3DXQuaternionToAxisAngle(D3DXQUATERNION* pQ, D3DXVECTOR3* pAxis, F > 548 D3DXQUATERNION* D3DXQuaternionRotationMatrix(D3DXQUATERNION* pOut, D3DXM > 549 D3DXQUATERNION* D3DXQuaternionRotationAxis(D3DXQUATERNION* pOut, D3DXVEC > 550 D3DXQUATERNION* D3DXQuaternionRotationYawPitchRoll(D3DXQUATERNION* pOut, > 551 D3DXQUATERNION* D3DXQuaternionMultiply(D3DXQUATERNION* pOut, D3DXQUATERN > 552 D3DXQUATERNION* D3DXQuaternionNormalize(D3DXQUATERNION* pOut, D3DXQUATER > 553 D3DXQUATERNION* D3DXQuaternionInverse(D3DXQUATERNION* pOut, D3DXQUATERNI > 554 D3DXQUATERNION* D3DXQuaternionLn(D3DXQUATERNION* pOut, D3DXQUATERNION* p > 555 D3DXQUATERNION* D3DXQuaternionExp(D3DXQUATERNION* pOut, D3DXQUATERNION* > 556 D3DXQUATERNION* D3DXQuaternionSlerp(D3DXQUATERNION* pOut, D3DXQUATERNION > 557 D3DXQUATERNION* D3DXQuaternionSquad(D3DXQUATERNION* pOut, D3DXQUATERNION > 558 void D3DXQuaternionSquadSetup(D3DXQUATERNION* pAOut, D3DXQUATERNION* pBO > 559 D3DXQUATERNION* D3DXQuaternionBaryCentric(D3DXQUATERNION* pOut, D3DXQUAT > 560 } > 561 > 562 float D3DXPlaneDot(D3DXPLANE *pP, D3DXVECTOR4 *pV) { > 563 debug(D3DX10_DEBUG) { > 564 if((pP is null) || (pV is null)) return 0.0f; > 565 } > 566 return (pP.a * pV.x) + (pP.b * pV.y) + (pP.c * pV.z) + (pP.d * pV.w); > 567 } > 568 > 569 float D3DXPlaneDotCoord(D3DXPLANE *pP, D3DXVECTOR3 *pV) { > 570 debug(D3DX10_DEBUG) { > 571 if((pP is null) || (pV is null)) return 0.0f; > 572 } > 573 return (pP.a * pV.x) + (pP.b * pV.y) + (pP.c * pV.z) + pP.d; > 574 } > 575 > 576 float D3DXPlaneDotNormal(D3DXPLANE *pP, D3DXVECTOR3 *pV) { > 577 debug(D3DX10_DEBUG) { > 578 if((pP is null) || (pV is null)) return 0.0f; > 579 } > 580 return (pP.a * pV.x) + (pP.b * pV.y) + (pP.c * pV.z); > 581 } > 582 > 583 D3DXPLANE* D3DXPlaneScale(D3DXPLANE *pOut, D3DXPLANE *pP, float s) { > 584 debug(D3DX10_DEBUG) { > 585 if((pOut is null) || (pP is null)) return null; > 586 } > 587 pOut.a = pP.a * s; > 588 pOut.b = pP.b * s; > 589 pOut.c = pP.c * s; > 590 pOut.d = pP.d * s; > 591 return pOut; > 592 } > 593 > 594 extern(Windows) { > 595 D3DXPLANE* D3DXPlaneNormalize(D3DXPLANE* pOut, D3DXPLANE* pP); > 596 D3DXVECTOR3* D3DXPlaneIntersectLine(D3DXVECTOR3* pOut, D3DXPLANE* pP, D3 > 597 D3DXPLANE* D3DXPlaneFromPointNormal(D3DXPLANE* pOut, D3DXVECTOR3* pPoint > 598 D3DXPLANE* D3DXPlaneFromPoints(D3DXPLANE* pOut, D3DXVECTOR3* pV1, D3DXVE > 599 D3DXPLANE* D3DXPlaneTransform(D3DXPLANE* pOut, D3DXPLANE* pP, D3DXMATRIX > 600 D3DXPLANE* D3DXPlaneTransformArray(D3DXPLANE* pOut, UINT OutStride, D3DX > 601 } > 602 > 603 D3DXCOLOR* D3DXColorNegative(D3DXCOLOR* pOut, D3DXCOLOR* pC) { > 604 debug(D3DX10_DEBUG) { > 605 if((pOut is null) || (pC is null)) return null; > 606 } > 607 pOut.r = 1.0f - pC.r; > 608 pOut.g = 1.0f - pC.g; > 609 pOut.b = 1.0f - pC.b; > 610 pOut.a = pC.a; > 611 return pOut; > 612 } > 613 > 614 D3DXCOLOR* D3DXColorAdd(D3DXCOLOR* pOut, D3DXCOLOR* pC1, D3DXCOLOR* pC2) { > 615 debug(D3DX10_DEBUG) { > 616 if((pOut is null) || (pC1 is null) || (pC2 is null)) return null > 617 } > 618 pOut.r = pC1.r + pC2.r; > 619 pOut.g = pC1.g + pC2.g; > 620 pOut.b = pC1.b + pC2.b; > 621 pOut.a = pC1.a + pC2.a; > 622 return pOut; > 623 } > 624 > 625 D3DXCOLOR* D3DXColorSubtract(D3DXCOLOR* pOut, D3DXCOLOR* pC1, D3DXCOLOR* pC2) { > 626 debug(D3DX10_DEBUG) { > 627 if((pOut is null) || (pC1 is null) || (pC2 is null)) return null > 628 } > 629 pOut.r = pC1.r - pC2.r; > 630 pOut.g = pC1.g - pC2.g; > 631 pOut.b = pC1.b - pC2.b; > 632 pOut.a = pC1.a - pC2.a; > 633 return pOut; > 634 } > 635 > 636 D3DXCOLOR* D3DXColorScale(D3DXCOLOR* pOut, D3DXCOLOR* pC, float s) { > 637 debug(D3DX10_DEBUG) { > 638 if((pOut is null) || (pC is null)) return null; > 639 } > 640 pOut.r = pC.r * s; > 641 pOut.g = pC.g * s; > 642 pOut.b = pC.b * s; > 643 pOut.a = pC.a * s; > 644 return pOut; > 645 } > 646 > 647 D3DXCOLOR* D3DXColorModulate(D3DXCOLOR* pOut, D3DXCOLOR* pC1, D3DXCOLOR* pC2) { > 648 debug(D3DX10_DEBUG) { > 649 if((pOut is null) || (pC1 is null) || (pC2 is null)) return null > 650 } > 651 pOut.r = pC1.r * pC2.r; > 652 pOut.g = pC1.g * pC2.g; > 653 pOut.b = pC1.b * pC2.b; > 654 pOut.a = pC1.a * pC2.a; > 655 return pOut; > 656 } > 657 > 658 D3DXCOLOR* D3DXColorLerp(D3DXCOLOR* pOut, D3DXCOLOR* pC1, D3DXCOLOR* pC2, float > 659 debug(D3DX10_DEBUG) { > 660 if((pOut is null) || (pC1 is null) || (pC2 is null)) return null > 661 } > 662 pOut.r = pC1.r + s * (pC2.r - pC1.r); > 663 pOut.g = pC1.g + s * (pC2.g - pC1.g); > 664 pOut.b = pC1.b + s * (pC2.b - pC1.b); > 665 pOut.a = pC1.a + s * (pC2.a - pC1.a); > 666 return pOut; > 667 } > 668 > 669 extern(Windows) { > 670 D3DXCOLOR* D3DXColorAdjustSaturation(D3DXCOLOR* pOut, D3DXCOLOR* pC, flo > 671 D3DXCOLOR* D3DXColorAdjustContrast(D3DXCOLOR* pOut, D3DXCOLOR* pC, float > 672 FLOAT D3DXFresnelTerm(float CosTheta, float RefractionIndex); > 673 } > 674 > 675 extern (C) const GUID IID_ID3DXMatrixStack = {0xc7885ba7, 0xf990, 0x4fe7, [0x92, > 676 > 677 interface ID3DXMatrixStack : IUnknown { > 678 extern(Windows) : > 679 HRESULT Pop(); > 680 HRESULT Push(); > 681 HRESULT LoadIdentity(); > 682 HRESULT LoadMatrix(D3DXMATRIX* pM ); > 683 HRESULT MultMatrix(D3DXMATRIX* pM ); > 684 HRESULT MultMatrixLocal(D3DXMATRIX* pM ); > 685 HRESULT RotateAxis(D3DXVECTOR3* pV, float Angle); > 686 HRESULT RotateAxisLocal(D3DXVECTOR3* pV, float Angle); > 687 HRESULT RotateYawPitchRoll(float Yaw, float Pitch, float Roll); > 688 HRESULT RotateYawPitchRollLocal(float Yaw, float Pitch, float Roll); > 689 HRESULT Scale(float x, float y, float z); > 690 HRESULT ScaleLocal(float x, float y, float z); > 691 HRESULT Translate(float x, float y, float z ); > 692 HRESULT TranslateLocal(float x, float y, float z); > 693 D3DXMATRIX* GetTop(); > 694 } > 695 > 696 //TODO extern(Windows) HRESULT D3DXCreateMatrixStack(UINT Flags, D3DXMATRIXSTACK > 697 > 698 const D3DXSH_MINORDER = 2; > 699 const D3DXSH_MAXORDER = 6; > 700 > 701 extern(Windows) { > 702 float* D3DXSHEvalDirection(float* pOut, UINT Order, D3DXVECTOR3* pDir); > 703 float* D3DXSHRotate(float* pOut, UINT Order, D3DXMATRIX* pMatrix, float* > 704 float* D3DXSHRotateZ(float* pOut, UINT Order, float Angle, float* pIn); > 705 float* D3DXSHAdd(float* pOut, UINT Order, float* pA, float* pB); > 706 float* D3DXSHScale(float* pOut, UINT Order, float* pIn, float Scale); > 707 float D3DXSHDot(UINT Order, float* pA, float* pB); > 708 float* D3DXSHMultiply2(float* pOut, float* pF, float* pG); > 709 float* D3DXSHMultiply3(float* pOut, float* pF, float* pG); > 710 float* D3DXSHMultiply4(float* pOut, float* pF, float* pG); > 711 float* D3DXSHMultiply5(float* pOut, float* pF, float* pG); > 712 float* D3DXSHMultiply6(float* pOut, float* pF, float* pG); > 713 HRESULT D3DXSHEvalDirectionalLight(UINT Order, D3DXVECTOR3* pDir, float > 714 HRESULT D3DXSHEvalSphericalLight(UINT Order, D3DXVECTOR3* pPos, float Ra > 715 HRESULT D3DXSHEvalConeLight(UINT Order, D3DXVECTOR3* pDir, float Radius, > 716 HRESULT D3DXSHEvalHemisphereLight(UINT Order, D3DXVECTOR3* pDir, D3DXCOL > 717 BOOL D3DXIntersectTri(D3DXVECTOR3* p0, D3DXVECTOR3* p1, D3DXVECTOR3* p2, > 718 BOOL D3DXSphereBoundProbe(D3DXVECTOR3* pCenter, float Radius, D3DXVECTOR > 719 BOOL D3DXBoxBoundProbe(D3DXVECTOR3* pMin, D3DXVECTOR3* pMax, D3DXVECTOR3 > 720 HRESULT D3DXComputeBoundingSphere(D3DXVECTOR3* pFirstPosition, DWORD Num > 721 HRESULT D3DXComputeBoundingBox(D3DXVECTOR3* pFirstPosition, DWORD NumVer > 722 } > 723 > 724 enum D3DX_CPU_OPTIMIZATION { > 725 D3DX_NOT_OPTIMIZED = 0, > 726 D3DX_3DNOW_OPTIMIZED, > 727 D3DX_SSE2_OPTIMIZED, > 728 D3DX_SSE_OPTIMIZED > 729 } > 730 > 731 extern(Windows) D3DX_CPU_OPTIMIZATION D3DXCpuOptimizations(bool Enable);

Added src/win32/directx/d3dx10mesh.d version [46de09d905522b50]

> 1 /***********************************************************************\ > 2 * d3dx10mesh.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Placed into public domain * > 7 \***********************************************************************/ > 8 module win32.directx.d3dx10mesh; > 9 > 10 private import win32.windows; > 11 private import win32.directx.d3d10; > 12 private import win32.directx.d3dx10; > 13 > 14 extern(C) const GUID IID_ID3DX10BaseMesh = {0x7ed943dd, 0x52e8, 0x40b5, [0xa8, 0 > 15 extern(C) const GUID IID_ID3DX10MeshBuffer = {0x4b0d117, 0x1041, 0x46b1, [0xaa, > 16 extern(C) const GUID IID_ID3DX10Mesh = {0x4020e5c2, 0x1403, 0x4929, [0x88, 0x3f, > 17 extern(C) const GUID IID_ID3DX10PMesh = {0x8875769a, 0xd579, 0x4088, [0xaa, 0xeb > 18 extern(C) const GUID IID_ID3DX10SPMesh = {0x667ea4c7, 0xf1cd, 0x4386, [0xb5, 0x2 > 19 extern(C) const GUID IID_ID3DX10PatchMesh = {0x3ce6cc22, 0xdbf2, 0x44f4, [0x89, > 20 > 21 enum D3DX10_MESH { > 22 D3DX10_MESH_32_BIT = 0x001, > 23 D3DX10_MESH_GS_ADJACENCY = 0x004 > 24 } > 25 > 26 struct D3DX10_ATTRIBUTE_RANGE { > 27 UINT AttribId; > 28 UINT FaceStart; > 29 UINT FaceCount; > 30 UINT VertexStart; > 31 UINT VertexCount; > 32 } > 33 > 34 enum D3DX10_MESH_DISCARD_FLAGS { > 35 D3DX10_MESH_DISCARD_ATTRIBUTE_BUFFER = 0x01, > 36 D3DX10_MESH_DISCARD_ATTRIBUTE_TABLE = 0x02, > 37 D3DX10_MESH_DISCARD_POINTREPS = 0x04, > 38 D3DX10_MESH_DISCARD_ADJACENCY = 0x08, > 39 D3DX10_MESH_DISCARD_DEVICE_BUFFERS = 0x10 > 40 } > 41 > 42 struct D3DX10_WELD_EPSILONS { > 43 FLOAT Position; > 44 FLOAT BlendWeights; > 45 FLOAT Normal; > 46 FLOAT PSize; > 47 FLOAT Specular; > 48 FLOAT Diffuse; > 49 FLOAT[8] Texcoord; > 50 FLOAT Tangent; > 51 FLOAT Binormal; > 52 FLOAT TessFactor; > 53 } > 54 > 55 struct D3DX10_INTERSECT_INFO { > 56 UINT FaceIndex; > 57 FLOAT U; > 58 FLOAT V; > 59 FLOAT Dist; > 60 } > 61 > 62 interface ID3DX10MeshBuffer : IUnknown { > 63 extern(Windows) : > 64 HRESULT Map(void** ppData, SIZE_T* pSize); > 65 HRESULT Unmap(); > 66 SIZE_T GetSize(); > 67 } > 68 > 69 interface ID3DX10Mesh : IUnknown { > 70 extern(Windows) : > 71 UINT GetFaceCount(); > 72 UINT GetVertexCount(); > 73 UINT GetVertexBufferCount(); > 74 UINT GetFlags(); > 75 HRESULT GetVertexDescription(D3D10_INPUT_ELEMENT_DESC** ppDesc, UINT* pDeclC > 76 HRESULT SetVertexData(UINT iBuffer, void* pData); > 77 HRESULT GetVertexBuffer(UINT iBuffer, ID3DX10MeshBuffer** ppVertexBuffer); > 78 HRESULT SetIndexData(void* pData, UINT cIndices); > 79 HRESULT GetIndexBuffer(ID3DX10MeshBuffer** ppIndexBuffer); > 80 HRESULT SetAttributeData(UINT* pData); > 81 HRESULT GetAttributeBuffer(ID3DX10MeshBuffer** ppAttributeBuffer); > 82 HRESULT SetAttributeTable(D3DX10_ATTRIBUTE_RANGE* pAttribTable, UINT cAttri > 83 HRESULT GetAttributeTable(D3DX10_ATTRIBUTE_RANGE* pAttribTable, UINT* pAttri > 84 HRESULT GenerateAdjacencyAndPointReps(FLOAT Epsilon); > 85 HRESULT GenerateGSAdjacency(); > 86 HRESULT SetAdjacencyData(UINT* pAdjacency); > 87 HRESULT GetAdjacencyBuffer(ID3DX10MeshBuffer** ppAdjacency); > 88 HRESULT SetPointRepData(UINT* pPointReps); > 89 HRESULT GetPointRepBuffer(ID3DX10MeshBuffer** ppPointReps); > 90 HRESULT Discard(D3DX10_MESH_DISCARD_FLAGS dwDiscard); > 91 HRESULT CloneMesh(UINT Flags, LPCSTR pPosSemantic, D3D10_INPUT_ELEMENT_DESC* > 92 HRESULT Optimize(UINT Flags, UINT * pFaceRemap, ID3D10Blob* ppVertexRemap); > 93 HRESULT GenerateAttributeBufferFromTable(); > 94 HRESULT Intersect(D3DXVECTOR3* pRayPos, D3DXVECTOR3* pRayDir, UINT* pHit > 95 HRESULT IntersectSubset(UINT AttribId, D3DXVECTOR3* pRayPos, D3DXVECTOR3 > 96 HRESULT CommitToDevice(); > 97 HRESULT DrawSubset(UINT AttribId); > 98 HRESULT DrawSubsetInstanced(UINT AttribId, UINT InstanceCount, UINT StartIns > 99 HRESULT GetDeviceVertexBuffer(UINT iBuffer, ID3D10Buffer** ppVertexBuffer); > 100 HRESULT GetDeviceIndexBuffer(ID3D10Buffer** ppIndexBuffer); > 101 } > 102 > 103 HRESULT D3DX10CreateMesh(ID3D10Device* pDevice, D3D10_INPUT_ELEMENT_DESC* pDecla > 104 > 105 enum D3DX10_MESHOPT { > 106 D3DX10_MESHOPT_COMPACT = 0x01000000, > 107 D3DX10_MESHOPT_ATTR_SORT = 0x02000000, > 108 D3DX10_MESHOPT_VERTEX_CACHE = 0x04000000, > 109 D3DX10_MESHOPT_STRIP_REORDER = 0x08000000, > 110 D3DX10_MESHOPT_IGNORE_VERTS = 0x10000000, > 111 D3DX10_MESHOPT_DO_NOT_SPLIT = 0x20000000, > 112 D3DX10_MESHOPT_DEVICE_INDEPENDENT = 0x00400000 > 113 } > 114 > 115 extern(C) const GUID IID_ID3DX10SkinInfo = {0x420bd604, 0x1c76, 0x4a34, [0xa4, 0 > 116 > 117 const D3DX10_SKININFO_NO_SCALING = 0; > 118 const D3DX10_SKININFO_SCALE_TO_1 = 1; > 119 const D3DX10_SKININFO_SCALE_TO_TOTAL = 2; > 120 > 121 struct D3DX10_SKINNING_CHANNEL { > 122 UINT SrcOffset; > 123 UINT DestOffset; > 124 BOOL IsNormal; > 125 } > 126 > 127 interface ID3DX10SkinInfo : IUnknown { > 128 extern(Windows) : > 129 HRESULT QueryInterface(REFIID iid, LPVOID* ppv); > 130 ULONG AddRef(); > 131 ULONG Release(); > 132 UINT GetNumVertices(); > 133 UINT GetNumBones(); > 134 UINT GetMaxBoneInfluences(); > 135 HRESULT AddVertices(UINT Count); > 136 HRESULT RemapVertices(UINT NewVertexCount, UINT* pVertexRemap); > 137 HRESULT AddBones(UINT Count); > 138 HRESULT RemoveBone(UINT Index); > 139 HRESULT RemapBones(UINT NewBoneCount, UINT* pBoneRemap); > 140 HRESULT AddBoneInfluences(UINT BoneIndex, UINT InfluenceCount, UINT* pIn > 141 HRESULT ClearBoneInfluences(UINT BoneIndex); > 142 UINT GetBoneInfluenceCount(UINT BoneIndex); > 143 HRESULT GetBoneInfluences(UINT BoneIndex, UINT Offset, UINT Count, UINT* > 144 HRESULT FindBoneInfluenceIndex(UINT BoneIndex, UINT VertexIndex, UINT* p > 145 HRESULT SetBoneInfluence(UINT BoneIndex, UINT InfluenceIndex, float Weig > 146 HRESULT GetBoneInfluence(UINT BoneIndex, UINT InfluenceIndex, float* pWe > 147 HRESULT Compact(UINT MaxPerVertexInfluences, UINT ScaleMode, float MinWe > 148 HRESULT DoSoftwareSkinning(UINT StartVertex, UINT VertexCount, void* pSr > 149 } > 150 > 151 HRESULT D3DX10CreateSkinInfo(ID3DX10SkinInfo* ppSkinInfo); > 152 > 153 struct D3DX10_ATTRIBUTE_WEIGHTS { > 154 FLOAT Position; > 155 FLOAT Boundary; > 156 FLOAT Normal; > 157 FLOAT Diffuse; > 158 FLOAT Specular; > 159 FLOAT[8] Texcoord; > 160 FLOAT Tangent; > 161 FLOAT Binormal; > 162 } > 163

Added src/win32/directx/d3dx10tex.d version [06a52066351ca0eb]

> 1 /***********************************************************************\ > 2 * d3dx10tex.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Placed into public domain * > 7 \***********************************************************************/ > 8 module win32.directx.d3dx10tex; > 9 > 10 private import win32.windows; > 11 private import win32.directx.d3d10; > 12 private import win32.directx.d3dx10core; > 13 > 14 enum D3DX10_FILTER_FLAG { > 15 D3DX10_FILTER_NONE = 0x000001, > 16 D3DX10_FILTER_POINT = 0x000002, > 17 D3DX10_FILTER_LINEAR = 0x000003, > 18 D3DX10_FILTER_TRIANGLE = 0x000004, > 19 D3DX10_FILTER_BOX = 0x000005, > 20 D3DX10_FILTER_MIRROR_U = 0x010000, > 21 D3DX10_FILTER_MIRROR_V = 0x020000, > 22 D3DX10_FILTER_MIRROR_W = 0x040000, > 23 D3DX10_FILTER_MIRROR = 0x070000, > 24 D3DX10_FILTER_DITHER = 0x080000, > 25 D3DX10_FILTER_DITHER_DIFFUSION = 0x100000, > 26 D3DX10_FILTER_SRGB_IN = 0x200000, > 27 D3DX10_FILTER_SRGB_OUT = 0x400000, > 28 D3DX10_FILTER_SRGB = 0x600000 > 29 } > 30 > 31 enum D3DX10_NORMALMAP_FLAG { > 32 D3DX10_NORMALMAP_MIRROR_U = 0x010000, > 33 D3DX10_NORMALMAP_MIRROR_V = 0x020000, > 34 D3DX10_NORMALMAP_MIRROR = 0x030000, > 35 D3DX10_NORMALMAP_INVERTSIGN = 0x080000, > 36 D3DX10_NORMALMAP_COMPUTE_OCCLUSION = 0x100000 > 37 } > 38 > 39 enum D3DX10_CHANNEL_FLAG { > 40 D3DX10_CHANNEL_RED = 1, > 41 D3DX10_CHANNEL_BLUE = 2, > 42 D3DX10_CHANNEL_GREEN = 4, > 43 D3DX10_CHANNEL_ALPHA = 8, > 44 D3DX10_CHANNEL_LUMINANCE = 16 > 45 } > 46 > 47 enum D3DX10_IMAGE_FILE_FORMAT { > 48 D3DX10_IFF_BMP = 0, > 49 D3DX10_IFF_JPG = 1, > 50 D3DX10_IFF_PNG = 3, > 51 D3DX10_IFF_DDS = 4, > 52 D3DX10_IFF_TIFF = 10, > 53 D3DX10_IFF_GIF = 11, > 54 D3DX10_IFF_WMP = 12, > 55 D3DX10_IFF_FORCE_DWORD = 0x7fffffff > 56 } > 57 > 58 enum D3DX10_SAVE_TEXTURE_FLAG { > 59 D3DX10_STF_USEINPUTBLOB = 1 > 60 } > 61 > 62 struct D3DX10_IMAGE_INFO { > 63 UINT Width; > 64 UINT Height; > 65 UINT Depth; > 66 UINT ArraySize; > 67 UINT MipLevels; > 68 UINT MiscFlags; > 69 DXGI_FORMAT Format; > 70 D3D10_RESOURCE_DIMENSION ResourceDimension; > 71 D3DX10_IMAGE_FILE_FORMAT ImageFileFormat; > 72 } > 73 > 74 struct D3DX10_IMAGE_LOAD_INFO { > 75 UINT Width; > 76 UINT Height; > 77 UINT Depth; > 78 UINT FirstMipLevel; > 79 UINT MipLevels; > 80 D3D10_USAGE Usage; > 81 UINT BindFlags; > 82 UINT CpuAccessFlags; > 83 UINT MiscFlags; > 84 DXGI_FORMAT Format; > 85 UINT Filter; > 86 UINT MipFilter; > 87 D3DX10_IMAGE_INFO* pSrcInfo; > 88 } > 89 > 90 HRESULT D3DX10GetImageInfoFromFileA(LPCSTR pSrcFile, ID3DX10ThreadPump pPump, > 91 D3DX10_IMAGE_INFO* pSrcInfo, HRESULT* pHResult); > 92 HRESULT D3DX10GetImageInfoFromFileW(LPCWSTR pSrcFile, ID3DX10ThreadPump pPump, > 93 D3DX10_IMAGE_INFO* pSrcInfo, HRESULT* pHResult); > 94 > 95 HRESULT D3DX10GetImageInfoFromResourceA(HMODULE hSrcModule, > 96 LPCSTR pSrcResource, ID3DX10ThreadPump pPump, D3DX10_IMAGE_INFO* pSrcInfo, > 97 HRESULT* pHResult); > 98 HRESULT D3DX10GetImageInfoFromResourceW(HMODULE hSrcModule, > 99 LPCWSTR pSrcResource, ID3DX10ThreadPump pPump, D3DX10_IMAGE_INFO* pSrcInfo, > 100 HRESULT* pHResult); > 101 > 102 HRESULT D3DX10GetImageInfoFromMemory(LPCVOID pSrcData, SIZE_T SrcDataSize, > 103 ID3DX10ThreadPump pPump, D3DX10_IMAGE_INFO* pSrcInfo, HRESULT* pHResult); > 104 > 105 HRESULT D3DX10CreateShaderResourceViewFromFileA(ID3D10Device pDevice, > 106 LPCSTR pSrcFile, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, ID3DX10ThreadPump pPump, > 107 ID3D10ShaderResourceView* ppShaderResourceView, HRESULT* pHResult); > 108 HRESULT D3DX10CreateShaderResourceViewFromFileW(ID3D10Device pDevice, > 109 LPCWSTR pSrcFile, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, ID3DX10ThreadPump pPump, > 110 ID3D10ShaderResourceView* ppShaderResourceView, HRESULT* pHResult); > 111 > 112 HRESULT D3DX10CreateTextureFromFileA(ID3D10Device pDevice, LPCSTR pSrcFile, > 113 D3DX10_IMAGE_LOAD_INFO* pLoadInfo, ID3DX10ThreadPump pPump, > 114 ID3D10Resource* ppTexture, HRESULT* pHResult); > 115 HRESULT D3DX10CreateTextureFromFileW(ID3D10Device pDevice, LPCWSTR pSrcFile, > 116 D3DX10_IMAGE_LOAD_INFO* pLoadInfo, ID3DX10ThreadPump pPump, > 117 ID3D10Resource* ppTexture, HRESULT* pHResult); > 118 > 119 HRESULT D3DX10CreateShaderResourceViewFromResourceA(ID3D10Device pDevice, > 120 HMODULE hSrcModule, LPCSTR pSrcResource, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, > 121 ID3DX10ThreadPump pPump, ID3D10ShaderResourceView* ppShaderResourceView, > 122 HRESULT* pHResult); > 123 HRESULT D3DX10CreateShaderResourceViewFromResourceW(ID3D10Device pDevice, > 124 HMODULE hSrcModule, LPCWSTR pSrcResource, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, > 125 ID3DX10ThreadPump pPump, ID3D10ShaderResourceView* ppShaderResourceView, > 126 HRESULT* pHResult); > 127 > 128 HRESULT D3DX10CreateTextureFromResourceA(ID3D10Device pDevice, > 129 HMODULE hSrcModule, LPCSTR pSrcResource, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, > 130 ID3DX10ThreadPump pPump, ID3D10Resource* ppTexture, HRESULT* pHResult); > 131 HRESULT D3DX10CreateTextureFromResourceW(ID3D10Device pDevice, > 132 HMODULE hSrcModule, LPCWSTR pSrcResource, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, > 133 ID3DX10ThreadPump pPump, ID3D10Resource* ppTexture, HRESULT* pHResult); > 134 > 135 HRESULT D3DX10CreateShaderResourceViewFromMemory(ID3D10Device pDevice, > 136 LPCVOID pSrcData, SIZE_T SrcDataSize, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, > 137 ID3DX10ThreadPump pPump, ID3D10ShaderResourceView* ppShaderResourceView, > 138 HRESULT* pHResult); > 139 > 140 HRESULT D3DX10CreateTextureFromMemory(ID3D10Device pDevice, LPCVOID pSrcData, > 141 SIZE_T SrcDataSize, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, > 142 ID3DX10ThreadPump pPump, ID3D10Resource* ppTexture, HRESULT* pHResult); > 143 > 144 struct D3DX10_TEXTURE_LOAD_INFO { > 145 D3D10_BOX* pSrcBox; > 146 D3D10_BOX* pDstBox; > 147 UINT SrcFirstMip; > 148 UINT DstFirstMip; > 149 UINT NumMips; > 150 UINT SrcFirstElement; > 151 UINT DstFirstElement; > 152 UINT NumElements; > 153 UINT Filter; > 154 UINT MipFilter; > 155 } > 156 > 157 HRESULT D3DX10LoadTextureFromTexture(ID3D10Resource pSrcTexture, > 158 D3DX10_TEXTURE_LOAD_INFO* pLoadInfo, ID3D10Resource pDstTexture); > 159 > 160 HRESULT D3DX10FilterTexture(ID3D10Resource pTexture, UINT SrcLevel, UINT MipFilt > 161 > 162 HRESULT D3DX10SaveTextureToFileA(ID3D10Resource pSrcTexture, > 163 D3DX10_IMAGE_FILE_FORMAT DestFormat, LPCSTR pDestFile); > 164 HRESULT D3DX10SaveTextureToFileW(ID3D10Resource pSrcTexture, > 165 D3DX10_IMAGE_FILE_FORMAT DestFormat, LPCWSTR pDestFile); > 166 > 167 HRESULT D3DX10SaveTextureToMemory(ID3D10Resource pSrcTexture, > 168 D3DX10_IMAGE_FILE_FORMAT DestFormat, ID3D10Blob* ppDestBuf, UINT Flags); > 169 > 170 HRESULT D3DX10ComputeNormalMap(ID3D10Texture2D pSrcTexture, UINT Flags, > 171 UINT Channel, FLOAT Amplitude, ID3D10Texture2D pDestTexture); > 172 > 173 HRESULT D3DX10SHProjectCubeMap(UINT Order, ID3D10Texture2D pCubeMap, > 174 FLOAT* pROut, FLOAT* pGOut, FLOAT* pBOut); > 175 > 176 version(Unicode) { > 177 alias D3DX10GetImageInfoFromFileW D3DX10GetImageInfoFromFile; > 178 alias D3DX10GetImageInfoFromResourceW D3DX10GetImageInfoFromResource; > 179 alias D3DX10CreateShaderResourceViewFromFileW D3DX10CreateShaderResource > 180 alias D3DX10CreateTextureFromFileW D3DX10CreateTextureFromFile; > 181 alias D3DX10CreateShaderResourceViewFromResourceW D3DX10CreateShaderReso > 182 alias D3DX10CreateTextureFromResourceW D3DX10CreateTextureFromResource; > 183 alias D3DX10SaveTextureToFileW D3DX10SaveTextureToFile; > 184 } else { > 185 alias D3DX10GetImageInfoFromFileA D3DX10GetImageInfoFromFile; > 186 alias D3DX10GetImageInfoFromResourceA D3DX10GetImageInfoFromResource; > 187 alias D3DX10CreateShaderResourceViewFromFileA D3DX10CreateShaderResource > 188 alias D3DX10CreateTextureFromFileA D3DX10CreateTextureFromFile; > 189 alias D3DX10CreateShaderResourceViewFromResourceA D3DX10CreateShaderReso > 190 alias D3DX10CreateTextureFromResourceA D3DX10CreateTextureFromResource; > 191 alias D3DX10SaveTextureToFileA D3DX10SaveTextureToFile; > 192 }

Added src/win32/directx/d3dx9.d version [49794b578fca5d4e]

> 1 // D3DX Types and Constants ---------------------------------------------------- > 2 > 3 module win32.directx.d3dx9; > 4 > 5 public import win32.directx.d3d9; > 6 public import win32.windows; > 7 > 8 alias D3DMATRIX D3DXMATRIX; > 9 > 10 const uint MAXD3DDECLLENGTH = 64; > 11 const uint MAX_FVF_DECL_SIZE = MAXD3DDECLLENGTH + 1; > 12 > 13 align(4) struct D3DXATTRIBUTERANGE > 14 { > 15 DWORD AttribId; > 16 DWORD FaceStart; > 17 DWORD FaceCount; > 18 DWORD VertexStart; > 19 DWORD VertexCount; > 20 } > 21 > 22 align(4) struct D3DXVECTOR2 > 23 { > 24 float x = 0, y = 0; > 25 > 26 static D3DXVECTOR2 opCall(float x, float y) > 27 { > 28 D3DXVECTOR2 v; > 29 v.x = x; > 30 v.y = y; > 31 return v; > 32 } > 33 } > 34 > 35 alias D3DVECTOR D3DXVECTOR3; > 36 > 37 align(4) struct D3DXVECTOR4 > 38 { > 39 float x = 0, y = 0, z = 0, w = 0; > 40 > 41 static D3DXVECTOR4 opCall(float x, float y, float z, float w) > 42 { > 43 D3DXVECTOR4 v; > 44 v.x = x; > 45 v.y = y; > 46 v.z = z; > 47 v.w = w; > 48 return v; > 49 } > 50 } > 51 > 52 align(4) struct D3DXQUATERNION > 53 { > 54 float x = 0, y = 0, z = 0, w = 0; > 55 } > 56 > 57 align(4) struct D3DXFRAME > 58 { > 59 LPSTR Name; > 60 D3DXMATRIX TransformationMatrix; > 61 > 62 D3DXMESHCONTAINER* pMeshContainer; > 63 > 64 D3DXFRAME *pFrameSibling; > 65 D3DXFRAME *pFrameFirstChild; > 66 } > 67 > 68 align(4) struct D3DXMESHCONTAINER > 69 { > 70 LPSTR Name; > 71 > 72 D3DXMESHDATA MeshData; > 73 > 74 D3DXMATERIAL* pMaterials; > 75 D3DXEFFECTINSTANCE* pEffects; > 76 DWORD NumMaterials; > 77 DWORD *pAdjacency; > 78 > 79 ID3DXSkinInfo pSkinInfo; > 80 > 81 D3DXMESHCONTAINER* pNextMeshContainer; > 82 } > 83 > 84 align(4) struct D3DXMESHDATA > 85 { > 86 D3DXMESHDATATYPE Type; > 87 > 88 // current mesh data interface > 89 union > 90 { > 91 ID3DXMesh pMesh; > 92 ID3DXPMesh pPMesh; > 93 ID3DXPatchMesh pPatchMesh; > 94 } > 95 } > 96 > 97 alias uint D3DXMESHDATATYPE; > 98 enum : uint > 99 { > 100 D3DXMESHTYPE_MESH = 0x001, // Normal ID3DXMesh data > 101 D3DXMESHTYPE_PMESH = 0x002, // Progressive Mesh - ID3DXPMesh > 102 D3DXMESHTYPE_PATCHMESH = 0x003 // Patch Mesh - ID3DXPatchMesh > 103 } > 104 > 105 align(4) struct D3DXMATERIAL > 106 { > 107 D3DMATERIAL9 MatD3D; > 108 LPSTR pTextureFilename; > 109 } > 110 > 111 alias uint D3DXEFFECTDEFAULTTYPE; > 112 enum : uint > 113 { > 114 D3DXEDT_STRING = 0x1, // pValue points to a null terminated ASCII stri > 115 D3DXEDT_FLOATS = 0x2, // pValue points to an array of floats - number > 116 D3DXEDT_DWORD = 0x3 // pValue points to a DWORD > 117 } > 118 > 119 align(4) struct D3DXEFFECTDEFAULT > 120 { > 121 LPSTR pParamName; > 122 D3DXEFFECTDEFAULTTYPE Type; // type of the data pointed to by pVal > 123 DWORD NumBytes; // size in bytes of the data pointed t > 124 LPVOID pValue; // data for the default of the effect > 125 } > 126 > 127 align(4) struct D3DXEFFECTINSTANCE > 128 { > 129 LPSTR pEffectFilename; > 130 DWORD NumDefaults; > 131 D3DXEFFECTDEFAULT* pDefaults; > 132 } > 133 > 134 alias uint D3DXPATCHMESHTYPE; > 135 enum : uint > 136 { > 137 D3DXPATCHMESH_RECT = 0x001, > 138 D3DXPATCHMESH_TRI = 0x002, > 139 D3DXPATCHMESH_NPATCH = 0x003 > 140 } > 141 > 142 align(4) struct D3DXPATCHINFO > 143 { > 144 D3DXPATCHMESHTYPE PatchType; > 145 D3DDEGREETYPE Degree; > 146 D3DBASISTYPE Basis; > 147 } > 148 > 149 const uint LF_FACESIZE = 32; > 150 > 151 align(4) struct D3DXFONT_DESCA > 152 { > 153 INT Height; > 154 UINT Width; > 155 UINT Weight; > 156 UINT MipLevels; > 157 BOOL Italic; > 158 BYTE CharSet; > 159 BYTE OutputPrecision; > 160 BYTE Quality; > 161 BYTE PitchAndFamily; > 162 CHAR[LF_FACESIZE] FaceName; > 163 } > 164 > 165 align(4) struct D3DXFONT_DESCW > 166 { > 167 INT Height; > 168 UINT Width; > 169 UINT Weight; > 170 UINT MipLevels; > 171 BOOL Italic; > 172 BYTE CharSet; > 173 BYTE OutputPrecision; > 174 BYTE Quality; > 175 BYTE PitchAndFamily; > 176 WCHAR[LF_FACESIZE] FaceName; > 177 } > 178 > 179 align(4) struct TEXTMETRICA > 180 { > 181 LONG tmHeight; > 182 LONG tmAscent; > 183 LONG tmDescent; > 184 LONG tmInternalLeading; > 185 LONG tmExternalLeading; > 186 LONG tmAveCharWidth; > 187 LONG tmMaxCharWidth; > 188 LONG tmWeight; > 189 LONG tmOverhang; > 190 LONG tmDigitizedAspectX; > 191 LONG tmDigitizedAspectY; > 192 BYTE tmFirstChar; > 193 BYTE tmLastChar; > 194 BYTE tmDefaultChar; > 195 BYTE tmBreakChar; > 196 BYTE tmItalic; > 197 BYTE tmUnderlined; > 198 BYTE tmStruckOut; > 199 BYTE tmPitchAndFamily; > 200 BYTE tmCharSet; > 201 } > 202 > 203 align(4) struct TEXTMETRICW > 204 { > 205 LONG tmHeight; > 206 LONG tmAscent; > 207 LONG tmDescent; > 208 LONG tmInternalLeading; > 209 LONG tmExternalLeading; > 210 LONG tmAveCharWidth; > 211 LONG tmMaxCharWidth; > 212 LONG tmWeight; > 213 LONG tmOverhang; > 214 LONG tmDigitizedAspectX; > 215 LONG tmDigitizedAspectY; > 216 WCHAR tmFirstChar; > 217 WCHAR tmLastChar; > 218 WCHAR tmDefaultChar; > 219 WCHAR tmBreakChar; > 220 BYTE tmItalic; > 221 BYTE tmUnderlined; > 222 BYTE tmStruckOut; > 223 BYTE tmPitchAndFamily; > 224 BYTE tmCharSet; > 225 } > 226 > 227 align(4) struct D3DXEFFECT_DESC > 228 { > 229 LPCSTR Creator; // Creator string > 230 UINT Parameters; // Number of parameters > 231 UINT Techniques; // Number of techniques > 232 UINT Functions; // Number of function entrypoints > 233 } > 234 > 235 alias char* D3DXHANDLE; > 236 > 237 align(4) struct D3DXPARAMETER_DESC > 238 { > 239 LPCSTR Name; // Parameter name > 240 LPCSTR Semantic; // Parameter semantic > 241 D3DXPARAMETER_CLASS Class; // Class > 242 D3DXPARAMETER_TYPE Type; // Component type > 243 UINT Rows; // Number of rows > 244 UINT Columns; // Number of columns > 245 UINT Elements; // Number of array elements > 246 UINT Annotations; // Number of annotations > 247 UINT StructMembers; // Number of structure member sub-parame > 248 DWORD Flags; // D3DX_PARAMETER_* flags > 249 UINT Bytes; // Parameter size, in bytes > 250 } > 251 > 252 alias uint D3DXPARAMETER_CLASS; > 253 enum : uint > 254 { > 255 D3DXPC_SCALAR, > 256 D3DXPC_VECTOR, > 257 D3DXPC_MATRIX_ROWS, > 258 D3DXPC_MATRIX_COLUMNS, > 259 D3DXPC_OBJECT, > 260 D3DXPC_STRUCT > 261 } > 262 > 263 alias uint D3DXPARAMETER_TYPE; > 264 enum : uint > 265 { > 266 D3DXPT_VOID, > 267 D3DXPT_BOOL, > 268 D3DXPT_INT, > 269 D3DXPT_FLOAT, > 270 D3DXPT_STRING, > 271 D3DXPT_TEXTURE, > 272 D3DXPT_TEXTURE1D, > 273 D3DXPT_TEXTURE2D, > 274 D3DXPT_TEXTURE3D, > 275 D3DXPT_TEXTURECUBE, > 276 D3DXPT_SAMPLER, > 277 D3DXPT_SAMPLER1D, > 278 D3DXPT_SAMPLER2D, > 279 D3DXPT_SAMPLER3D, > 280 D3DXPT_SAMPLERCUBE, > 281 D3DXPT_PIXELSHADER, > 282 D3DXPT_VERTEXSHADER, > 283 D3DXPT_PIXELFRAGMENT, > 284 D3DXPT_VERTEXFRAGMENT > 285 } > 286 > 287 align(4) struct D3DXTECHNIQUE_DESC > 288 { > 289 LPCSTR Name; // Technique name > 290 UINT Passes; // Number of passes > 291 UINT Annotations; // Number of annotations > 292 } > 293 > 294 align(4) struct D3DXPASS_DESC > 295 { > 296 LPCSTR Name; // Pass name > 297 UINT Annotations; // Number of annotations > 298 > 299 DWORD *pVertexShaderFunction; // Vertex shader function > 300 DWORD *pPixelShaderFunction; // Pixel shader function > 301 } > 302 > 303 align(4) struct D3DXFUNCTION_DESC > 304 { > 305 LPCSTR Name; // Function name > 306 UINT Annotations; // Number of annotations > 307 } > 308 > 309 struct D3DXTRACK_DESC > 310 { > 311 DWORD Priority; > 312 FLOAT Weight = 0; > 313 FLOAT Speed = 0; > 314 double Position = 0; > 315 BOOL Enable; > 316 } > 317 > 318 align(4) struct D3DXEVENT_DESC > 319 { > 320 DWORD Type; > 321 UINT Track; > 322 double StartTime = 0; > 323 double Duration = 0; > 324 DWORD Transition; > 325 union > 326 { > 327 FLOAT Weight = 0; > 328 FLOAT Speed; > 329 double Position; > 330 BOOL Enable; > 331 }; > 332 } > 333 > 334 align(4) struct D3DXKEY_VECTOR3 > 335 { > 336 FLOAT Time = 0; > 337 D3DXVECTOR3 Value; > 338 } > 339 > 340 align(4) struct D3DXKEY_QUATERNION > 341 { > 342 FLOAT Time = 0; > 343 D3DXQUATERNION Value; > 344 } > 345 > 346 align(4) struct D3DXKEY_CALLBACK > 347 { > 348 FLOAT Time = 0; > 349 LPVOID pCallbackData; > 350 } > 351 > 352 align(4) struct D3DXIMAGE_INFO > 353 { > 354 UINT Width; > 355 UINT Height; > 356 UINT Depth; > 357 UINT MipLevels; > 358 D3DFORMAT Format; > 359 D3DRESOURCETYPE ResourceType; > 360 D3DXIMAGE_FILEFORMAT ImageFileFormat; > 361 } > 362 > 363 alias uint D3DXIMAGE_FILEFORMAT; > 364 enum : uint > 365 { > 366 D3DXIFF_BMP = 0, > 367 D3DXIFF_JPG = 1, > 368 D3DXIFF_TGA = 2, > 369 D3DXIFF_PNG = 3, > 370 D3DXIFF_DDS = 4, > 371 D3DXIFF_PPM = 5, > 372 D3DXIFF_DIB = 6, > 373 } > 374 > 375 align(4) struct D3DXATTRIBUTEWEIGHTS > 376 { > 377 FLOAT Position = 0; > 378 FLOAT Boundary = 0; > 379 FLOAT Normal = 0; > 380 FLOAT Diffuse = 0; > 381 FLOAT Specular = 0; > 382 FLOAT[8] Texcoord = 0; > 383 FLOAT Tangent = 0; > 384 FLOAT Binormal = 0; > 385 } > 386 > 387 align(4) struct D3DXPLANE > 388 { > 389 FLOAT a = 0, b = 0, c = 0, d = 0; > 390 } > 391 > 392 alias uint D3DXMESH; > 393 enum : uint > 394 { > 395 D3DXMESH_32BIT = 0x001, > 396 D3DXMESH_DONOTCLIP = 0x002, > 397 D3DXMESH_POINTS = 0x004, > 398 D3DXMESH_RTPATCHES = 0x008, > 399 D3DXMESH_NPATCHES = 0x4000, > 400 D3DXMESH_VB_SYSTEMMEM = 0x010, > 401 D3DXMESH_VB_MANAGED = 0x020, > 402 D3DXMESH_VB_WRITEONLY = 0x040, > 403 D3DXMESH_VB_DYNAMIC = 0x080, > 404 D3DXMESH_VB_SOFTWAREPROCESSING = 0x8000, > 405 D3DXMESH_IB_SYSTEMMEM = 0x100, > 406 D3DXMESH_IB_MANAGED = 0x200, > 407 D3DXMESH_IB_WRITEONLY = 0x400, > 408 D3DXMESH_IB_DYNAMIC = 0x800, > 409 D3DXMESH_IB_SOFTWAREPROCESSING= 0x10000, > 410 D3DXMESH_VB_SHARE = 0x1000, > 411 D3DXMESH_USEHWONLY = 0x2000, > 412 D3DXMESH_SYSTEMMEM = 0x110, > 413 D3DXMESH_MANAGED = 0x220, > 414 D3DXMESH_WRITEONLY = 0x440, > 415 D3DXMESH_DYNAMIC = 0x880, > 416 D3DXMESH_SOFTWAREPROCESSING = 0x18000, > 417 } > 418 > 419 align(4) struct D3DXMACRO > 420 { > 421 LPCSTR Name; > 422 LPCSTR Definition; > 423 } > 424 > 425 align(4) struct D3DXSEMANTIC > 426 { > 427 UINT Usage; > 428 UINT UsageIndex; > 429 } > 430 > 431 alias uint D3DXINCLUDE_TYPE; > 432 enum : uint > 433 { > 434 D3DXINC_LOCAL, > 435 D3DXINC_SYSTEM, > 436 } > 437 > 438 enum : uint > 439 { > 440 D3DXFX_DONOTSAVESTATE = (1 << 0), > 441 D3DXFX_DONOTSAVESHADERSTATE = (1 << 1), > 442 D3DXFX_DONOTSAVESAMPLERSTATE = (1 << 2), > 443 D3DXFX_NOT_CLONEABLE = (1 << 11) > 444 } > 445 > 446 alias uint D3DXMESHSIMP; > 447 enum : uint > 448 { > 449 D3DXMESHSIMP_VERTEX = 0x1, > 450 D3DXMESHSIMP_FACE = 0x2 > 451 } > 452 > 453 enum : uint > 454 { > 455 DT_TOP = 0x00000000, > 456 DT_LEFT = 0x00000000, > 457 DT_CENTER = 0x00000001, > 458 DT_RIGHT = 0x00000002, > 459 DT_VCENTER = 0x00000004, > 460 DT_BOTTOM = 0x00000008, > 461 DT_WORDBREAK = 0x00000010, > 462 DT_SINGLELINE = 0x00000020, > 463 DT_EXPANDTABS = 0x00000040, > 464 DT_TABSTOP = 0x00000080, > 465 DT_NOCLIP = 0x00000100, > 466 DT_EXTERNALLEADING = 0x00000200, > 467 DT_CALCRECT = 0x00000400, > 468 DT_NOPREFIX = 0x00000800, > 469 DT_INTERNAL = 0x00001000 > 470 } > 471 > 472 enum : uint > 473 { > 474 D3DXSPRITE_DONOTSAVESTATE = (1 << 0), > 475 D3DXSPRITE_DONOTMODIFY_RENDERSTATE = (1 << 1), > 476 D3DXSPRITE_OBJECTSPACE = (1 << 2), > 477 D3DXSPRITE_BILLBOARD = (1 << 3), > 478 D3DXSPRITE_ALPHABLEND = (1 << 4), > 479 D3DXSPRITE_SORT_TEXTURE = (1 << 5), > 480 D3DXSPRITE_SORT_DEPTH_FRONTTOBACK = (1 << 6), > 481 D3DXSPRITE_SORT_DEPTH_BACKTOFRONT = (1 << 7) > 482 } > 483 > 484 enum : uint > 485 { > 486 D3DX_FILTER_NONE = (1 << 0), > 487 D3DX_FILTER_POINT = (2 << 0), > 488 D3DX_FILTER_LINEAR = (3 << 0), > 489 D3DX_FILTER_TRIANGLE = (4 << 0), > 490 D3DX_FILTER_BOX = (5 << 0), > 491 D3DX_FILTER_MIRROR_U = (1 << 16), > 492 D3DX_FILTER_MIRROR_V = (2 << 16), > 493 D3DX_FILTER_MIRROR_W = (4 << 16), > 494 D3DX_FILTER_MIRROR = (7 << 16), > 495 D3DX_FILTER_DITHER = (1 << 19), > 496 D3DX_FILTER_DITHER_DIFFUSION = (2 << 19), > 497 D3DX_FILTER_SRGB_IN = (1 << 21), > 498 D3DX_FILTER_SRGB_OUT = (2 << 21), > 499 D3DX_FILTER_SRGB = (3 << 21) > 500 } > 501 > 502 const uint D3DX_DEFAULT = cast(UINT) -1; > 503 > 504 alias uint D3DXMESHOPT; > 505 enum : uint > 506 { > 507 D3DXMESHOPT_COMPACT = 0x01000000, > 508 D3DXMESHOPT_ATTRSORT = 0x02000000, > 509 D3DXMESHOPT_VERTEXCACHE = 0x04000000, > 510 D3DXMESHOPT_STRIPREORDER = 0x08000000, > 511 D3DXMESHOPT_IGNOREVERTS = 0x10000000, // optimize faces only, don't touch > 512 D3DXMESHOPT_DONOTSPLIT = 0x20000000, // do not split vertices shared bet > 513 D3DXMESHOPT_DEVICEINDEPENDENT = 0x00400000 // Only affects VCache. uses a > 514 } > 515 > 516 enum : uint > 517 { > 518 D3DXPLAY_LOOP = 0, > 519 D3DXPLAY_ONCE = 1, > 520 D3DXPLAY_PINGPONG = 2 > 521 } > 522 alias uint D3DXPLAYBACK_TYPE; > 523 > 524 > 525 // D3DX Interfaces ------------------------------------------------------------- > 526 > 527 interface ID3DXSkinInfo : IUnknown > 528 { > 529 extern(Windows): > 530 > 531 // Specify the which vertices do each bones influence and by how much > 532 HRESULT SetBoneInfluence(DWORD bone, DWORD numInfluences, DWORD* vertices, F > 533 HRESULT SetBoneVertexInfluence(DWORD boneNum, DWORD influenceNum, float > 534 DWORD GetNumBoneInfluences(DWORD bone); > 535 HRESULT GetBoneInfluence(DWORD bone, DWORD* vertices, FLOAT* weights); > 536 HRESULT GetBoneVertexInfluence(DWORD boneNum, DWORD influenceNum, float > 537 HRESULT GetMaxVertexInfluences(DWORD* maxVertexInfluences); > 538 DWORD GetNumBones(); > 539 HRESULT FindBoneVertexInfluenceIndex(DWORD boneNum, DWORD vertexNum, DWO > 540 > 541 // This gets the max face influences based on a triangle mesh with the speci > 542 HRESULT GetMaxFaceInfluences(IDirect3DIndexBuffer9 pIB, DWORD NumFaces, DWOR > 543 > 544 // Set min bone influence. Bone influences that are smaller than this are ig > 545 HRESULT SetMinBoneInfluence(FLOAT MinInfl); > 546 // Get min bone influence. > 547 FLOAT GetMinBoneInfluence(); > 548 > 549 // Bone names are returned by D3DXLoadSkinMeshFromXof. They are not used by > 550 HRESULT SetBoneName(DWORD Bone, LPCSTR pName); // pName is copied to an inte > 551 LPCSTR GetBoneName(DWORD Bone); // A pointer to an internal string buffer is > 552 > 553 // Bone offset matrices are returned by D3DXLoadSkinMeshFromXof. They are no > 554 HRESULT SetBoneOffsetMatrix(DWORD Bone, D3DXMATRIX *pBoneTransform); // pBon > 555 D3DXMATRIX* GetBoneOffsetMatrix(DWORD Bone); // A pointer to an internal mat > 556 > 557 // Clone a skin info object > 558 HRESULT Clone(ID3DXSkinInfo* ppSkinInfo); > 559 > 560 // Update bone influence information to match vertices after they are reorde > 561 // if the target vertex buffer has been reordered externally. > 562 HRESULT Remap(DWORD NumVertices, DWORD* pVertexRemap); > 563 > 564 // These methods enable the modification of the vertex layout of the vertice > 565 HRESULT SetFVF(DWORD FVF); > 566 HRESULT SetDeclaration(D3DVERTEXELEMENT9 *pDeclaration); > 567 DWORD GetFVF(); > 568 HRESULT GetDeclaration(D3DVERTEXELEMENT9[MAX_FVF_DECL_SIZE] Declaration); > 569 > 570 // Apply SW skinning based on current pose matrices to the target vertices. > 571 HRESULT UpdateSkinnedMesh( > 572 D3DXMATRIX* pBoneTransforms, > 573 D3DXMATRIX* pBoneInvTransposeTransforms, > 574 LPCVOID pVerticesSrc, > 575 PVOID pVerticesDst); > 576 > 577 // Takes a mesh and returns a new mesh with per vertex blend weights and a b > 578 // table that describes which bones affect which subsets of the mesh > 579 HRESULT ConvertToBlendedMesh( > 580 ID3DXMesh pMesh, > 581 DWORD Options, > 582 DWORD *pAdjacencyIn, > 583 LPDWORD pAdjacencyOut, > 584 DWORD* pFaceRemap, > 585 ID3DXBuffer* ppVertexRemap, > 586 DWORD* pMaxFaceInfl, > 587 DWORD* pNumBoneCombinations, > 588 ID3DXBuffer* ppBoneCombinationTable, > 589 ID3DXMesh* ppMesh); > 590 > 591 // Takes a mesh and returns a new mesh with per vertex blend weights and ind > 592 // and a bone combination table that describes which bones palettes affect w > 593 HRESULT ConvertToIndexedBlendedMesh( > 594 ID3DXMesh pMesh, > 595 DWORD Options, > 596 DWORD paletteSize, > 597 DWORD *pAdjacencyIn, > 598 LPDWORD pAdjacencyOut, > 599 DWORD* pFaceRemap, > 600 ID3DXBuffer* ppVertexRemap, > 601 DWORD* pMaxVertexInfl, > 602 DWORD *pNumBoneCombinations, > 603 ID3DXBuffer* ppBoneCombinationTable, > 604 ID3DXMesh* ppMesh); > 605 } > 606 > 607 interface ID3DXBaseMesh : IUnknown > 608 { > 609 extern(Windows): > 610 > 611 // ID3DXBaseMesh > 612 HRESULT DrawSubset( DWORD AttribId) ; > 613 DWORD GetNumFaces() ; > 614 DWORD GetNumVertices() ; > 615 DWORD GetFVF() ; > 616 HRESULT GetDeclaration( D3DVERTEXELEMENT9[MAX_FVF_DECL_SIZE] Declaration) ; > 617 DWORD GetNumBytesPerVertex() ; > 618 DWORD GetOptions() ; > 619 HRESULT GetDevice( IDirect3DDevice9* ppDevice) ; > 620 HRESULT CloneMeshFVF( DWORD Options, > 621 DWORD FVF, IDirect3DDevice9 pD3DDevice, ID3DXMesh* ppCloneMesh) > 622 HRESULT CloneMesh( DWORD Options, > 623 D3DVERTEXELEMENT9 *pDeclaration, IDirect3DDevice9 pD3DDevice, I > 624 HRESULT GetVertexBuffer( IDirect3DVertexBuffer9* ppVB) ; > 625 HRESULT GetIndexBuffer( IDirect3DIndexBuffer9* ppIB) ; > 626 HRESULT LockVertexBuffer( DWORD Flags, LPVOID *ppData) ; > 627 HRESULT UnlockVertexBuffer() ; > 628 HRESULT LockIndexBuffer( DWORD Flags, LPVOID *ppData) ; > 629 HRESULT UnlockIndexBuffer() ; > 630 HRESULT GetAttributeTable( > 631 D3DXATTRIBUTERANGE *pAttribTable, DWORD* pAttribTableSize) ; > 632 > 633 HRESULT ConvertPointRepsToAdjacency( DWORD* pPRep, DWORD* pAdjacency) ; > 634 HRESULT ConvertAdjacencyToPointReps( DWORD* pAdjacency, DWORD* pPRep) ; > 635 HRESULT GenerateAdjacency( FLOAT Epsilon, DWORD* pAdjacency) ; > 636 > 637 HRESULT UpdateSemantics( D3DVERTEXELEMENT9[MAX_FVF_DECL_SIZE] Declaration) ; > 638 } > 639 > 640 interface ID3DXMesh : ID3DXBaseMesh > 641 { > 642 extern(Windows): > 643 > 644 // ID3DXMesh > 645 HRESULT LockAttributeBuffer( DWORD Flags, DWORD** ppData) ; > 646 HRESULT UnlockAttributeBuffer() ; > 647 HRESULT Optimize( DWORD Flags, DWORD* pAdjacencyIn, DWORD* pAdjacencyOut, > 648 DWORD* pFaceRemap, ID3DXBuffer *ppVertexRemap, > 649 ID3DXMesh* ppOptMesh) ; > 650 HRESULT OptimizeInplace( DWORD Flags, DWORD* pAdjacencyIn, DWORD* pAdjacenc > 651 DWORD* pFaceRemap, ID3DXBuffer *ppVertexRemap) ; > 652 HRESULT SetAttributeTable( D3DXATTRIBUTERANGE *pAttribTable, DWORD cAttribT > 653 } > 654 > 655 interface ID3DXBuffer : IUnknown > 656 { > 657 extern(Windows): > 658 > 659 // ID3DXBuffer > 660 LPVOID GetBufferPointer(); > 661 DWORD GetBufferSize(); > 662 } > 663 > 664 interface ID3DXPMesh : ID3DXBaseMesh > 665 { > 666 extern(Windows): > 667 > 668 // ID3DXPMesh > 669 HRESULT ClonePMeshFVF( DWORD Options, > 670 DWORD FVF, IDirect3DDevice9 pD3DDevice, ID3DXPMesh* ppCloneMesh) > 671 HRESULT ClonePMesh( DWORD Options, > 672 D3DVERTEXELEMENT9 *pDeclaration, IDirect3DDevice9 pD3DDevice, I > 673 HRESULT SetNumFaces( DWORD Faces) ; > 674 HRESULT SetNumVertices( DWORD Vertices) ; > 675 DWORD GetMaxFaces() ; > 676 DWORD GetMinFaces() ; > 677 DWORD GetMaxVertices() ; > 678 DWORD GetMinVertices() ; > 679 HRESULT Save( void *pStream, D3DXMATERIAL* pMaterials, D3DXEFFECTINSTANCE* > 680 > 681 HRESULT Optimize( DWORD Flags, DWORD* pAdjacencyOut, > 682 DWORD* pFaceRemap, ID3DXBuffer *ppVertexRemap, > 683 ID3DXMesh* ppOptMesh) ; > 684 > 685 HRESULT OptimizeBaseLOD( DWORD Flags, DWORD* pFaceRemap) ; > 686 HRESULT TrimByFaces( DWORD NewFacesMin, DWORD NewFacesMax, DWORD *rgiFaceRem > 687 HRESULT TrimByVertices( DWORD NewVerticesMin, DWORD NewVerticesMax, DWORD *r > 688 > 689 HRESULT GetAdjacency( DWORD* pAdjacency) ; > 690 > 691 // Used to generate the immediate "ancestor" for each vertex when it is rem > 692 // Vertex buffer must be equal to or greater than the maximum number of > 693 HRESULT GenerateVertexHistory( DWORD* pVertexHistory) ; > 694 } > 695 > 696 interface ID3DXPatchMesh : IUnknown > 697 { > 698 extern(Windows): > 699 > 700 // ID3DXPatchMesh > 701 > 702 // Return creation parameters > 703 DWORD GetNumPatches() ; > 704 DWORD GetNumVertices() ; > 705 HRESULT GetDeclaration( D3DVERTEXELEMENT9[MAX_FVF_DECL_SIZE] Declaration) ; > 706 DWORD GetControlVerticesPerPatch() ; > 707 DWORD GetOptions() ; > 708 HRESULT GetDevice( IDirect3DDevice9 *ppDevice) ; > 709 HRESULT GetPatchInfo( D3DXPATCHINFO* PatchInfo) ; > 710 > 711 // Control mesh access > 712 HRESULT GetVertexBuffer( IDirect3DVertexBuffer9* ppVB) ; > 713 HRESULT GetIndexBuffer( IDirect3DIndexBuffer9* ppIB) ; > 714 HRESULT LockVertexBuffer( DWORD flags, LPVOID *ppData) ; > 715 HRESULT UnlockVertexBuffer() ; > 716 HRESULT LockIndexBuffer( DWORD flags, LPVOID *ppData) ; > 717 HRESULT UnlockIndexBuffer() ; > 718 HRESULT LockAttributeBuffer( DWORD flags, DWORD** ppData) ; > 719 HRESULT UnlockAttributeBuffer() ; > 720 > 721 // function returns the size of the tessellated mesh given a tessellation l > 722 // assumes uniform tessellation. For adaptive tessellation the Adaptive par > 723 // be set to TRUE and TessellationLevel should be the max tessellation. > 724 // will result in the max mesh size necessary for adaptive tessellation. > 725 HRESULT GetTessSize( FLOAT fTessLevel,DWORD Adaptive, DWORD *NumTriangles,DW > 726 > 727 //GenerateAdjacency determines which patches are adjacent with provided tole > 728 // information is used internally to optimize tessellation > 729 HRESULT GenerateAdjacency( FLOAT Tolerance) ; > 730 > 731 //CloneMesh Creates a new patchmesh with the specified decl, and converts th > 732 //to the new decl. Entries in the new decl which are new are set to 0. If th > 733 //has adjacency, the new mesh will also have adjacency > 734 HRESULT CloneMesh( DWORD Options, D3DVERTEXELEMENT9 *pDecl, ID3DXPatchMesh > 735 > 736 // Optimizes the patchmesh for efficient tessellation. function is designed > 737 // to perform one time optimization for patch meshes that need to be tessell > 738 // repeatedly by calling the Tessellate() method. The optimization performed > 739 // independent of the actual tessellation level used. > 740 // Currently Flags is unused. > 741 // If vertices are changed, Optimize must be called again > 742 HRESULT Optimize( DWORD flags) ; > 743 > 744 //gets and sets displacement parameters > 745 //displacement maps can only be 2D textures MIP-MAPPING is ignored for non a > 746 HRESULT SetDisplaceParam( IDirect3DBaseTexture9 Texture, > 747 D3DTEXTUREFILTERTYPE MinFilter, > 748 D3DTEXTUREFILTERTYPE MagFilter, > 749 D3DTEXTUREFILTERTYPE MipFilter, > 750 D3DTEXTUREADDRESS Wrap, > 751 DWORD dwLODBias) ; > 752 > 753 HRESULT GetDisplaceParam( IDirect3DBaseTexture9 *Texture, > 754 D3DTEXTUREFILTERTYPE *MinFilter, > 755 D3DTEXTUREFILTERTYPE *MagFilter, > 756 D3DTEXTUREFILTERTYPE *MipFilter, > 757 D3DTEXTUREADDRESS *Wrap, > 758 DWORD *dwLODBias) ; > 759 > 760 // Performs the uniform tessellation based on the tessellation level. > 761 // function will perform more efficiently if the patch mesh has been optimi > 762 HRESULT Tessellate( FLOAT fTessLevel,ID3DXMesh pMesh) ; > 763 > 764 // Performs adaptive tessellation based on the Z based adaptive tessellation > 765 // pTrans specifies a 4D vector that is dotted with the vertices to get the > 766 // adaptive tessellation amount. Each edge is tessellated to the average of > 767 // at the 2 vertices it connects. > 768 // MaxTessLevel specifies the upper limit for adaptive tesselation. > 769 // function will perform more efficiently if the patch mesh has been optimi > 770 HRESULT TessellateAdaptive( > 771 D3DXVECTOR4 *pTrans, > 772 DWORD dwMaxTessLevel, > 773 DWORD dwMinTessLevel, > 774 ID3DXMesh pMesh) ; > 775 > 776 } > 777 > 778 interface ID3DXFont : IUnknown > 779 { > 780 extern(Windows): > 781 > 782 // ID3DXFont > 783 HRESULT GetDevice( IDirect3DDevice9 *ppDevice) ; > 784 HRESULT GetDescA( D3DXFONT_DESCA *pDesc) ; > 785 HRESULT GetDescW( D3DXFONT_DESCW *pDesc) ; > 786 BOOL GetTextMetricsA( TEXTMETRICA *pTextMetrics) ; > 787 BOOL GetTextMetricsW( TEXTMETRICW *pTextMetrics) ; > 788 > 789 HDC GetDC() ; > 790 HRESULT GetGlyphData( UINT Glyph, IDirect3DTexture9 *ppTexture, RECT *pBlack > 791 > 792 HRESULT PreloadCharacters( UINT First, UINT Last) ; > 793 HRESULT PreloadGlyphs( UINT First, UINT Last) ; > 794 HRESULT PreloadTextA( LPCSTR pString, INT Count) ; > 795 HRESULT PreloadTextW( LPCWSTR pString, INT Count) ; > 796 > 797 INT DrawTextA( ID3DXSprite pSprite, LPCSTR pString, INT Count, LPRECT pRect, > 798 INT DrawTextW( ID3DXSprite pSprite, LPCWSTR pString, INT Count, LPRECT pRect > 799 > 800 HRESULT OnLostDevice() ; > 801 HRESULT OnResetDevice() ; > 802 } > 803 > 804 interface ID3DXSprite : IUnknown > 805 { > 806 extern(Windows): > 807 > 808 // ID3DXSprite > 809 HRESULT GetDevice( IDirect3DDevice9* ppDevice) ; > 810 > 811 HRESULT GetTransform( D3DXMATRIX *pTransform) ; > 812 HRESULT SetTransform( D3DXMATRIX *pTransform) ; > 813 > 814 HRESULT SetWorldViewRH( D3DXMATRIX *pWorld, D3DXMATRIX *pView) ; > 815 HRESULT SetWorldViewLH( D3DXMATRIX *pWorld, D3DXMATRIX *pView) ; > 816 > 817 HRESULT Begin( DWORD Flags) ; > 818 HRESULT Draw( IDirect3DTexture9 pTexture, RECT *pSrcRect, D3DXVECTOR3 *pCe > 819 HRESULT Flush() ; > 820 HRESULT End() ; > 821 > 822 HRESULT OnLostDevice() ; > 823 HRESULT OnResetDevice() ; > 824 } > 825 > 826 interface ID3DXBaseEffect : IUnknown > 827 { > 828 extern(Windows): > 829 > 830 // Descs > 831 HRESULT GetDesc( D3DXEFFECT_DESC* pDesc) ; > 832 HRESULT GetParameterDesc( D3DXHANDLE hParameter, D3DXPARAMETER_DESC* pDesc) > 833 HRESULT GetTechniqueDesc( D3DXHANDLE hTechnique, D3DXTECHNIQUE_DESC* pDesc) > 834 HRESULT GetPassDesc( D3DXHANDLE hPass, D3DXPASS_DESC* pDesc) ; > 835 HRESULT GetFunctionDesc( D3DXHANDLE hShader, D3DXFUNCTION_DESC* pDesc) ; > 836 > 837 // Handle operations > 838 D3DXHANDLE GetParameter( D3DXHANDLE hParameter, UINT Index) ; > 839 D3DXHANDLE GetParameterByName( D3DXHANDLE hParameter, LPCSTR pName) ; > 840 D3DXHANDLE GetParameterBySemantic( D3DXHANDLE hParameter, LPCSTR pSemantic) > 841 D3DXHANDLE GetParameterElement( D3DXHANDLE hParameter, UINT Index) ; > 842 D3DXHANDLE GetTechnique( UINT Index) ; > 843 D3DXHANDLE GetTechniqueByName( LPCSTR pName) ; > 844 D3DXHANDLE GetPass( D3DXHANDLE hTechnique, UINT Index) ; > 845 D3DXHANDLE GetPassByName( D3DXHANDLE hTechnique, LPCSTR pName) ; > 846 D3DXHANDLE GetFunction( UINT Index) ; > 847 D3DXHANDLE GetFunctionByName( LPCSTR pName) ; > 848 D3DXHANDLE GetAnnotation( D3DXHANDLE hObject, UINT Index) ; > 849 D3DXHANDLE GetAnnotationByName( D3DXHANDLE hObject, LPCSTR pName) ; > 850 > 851 // Get/Set Parameters > 852 HRESULT SetValue( D3DXHANDLE hParameter, LPCVOID pData, UINT Bytes) ; > 853 HRESULT GetValue( D3DXHANDLE hParameter, LPVOID pData, UINT Bytes) ; > 854 HRESULT SetBool( D3DXHANDLE hParameter, BOOL b) ; > 855 HRESULT GetBool( D3DXHANDLE hParameter, BOOL* pb) ; > 856 HRESULT SetBoolArray( D3DXHANDLE hParameter, BOOL* pb, UINT Count) ; > 857 HRESULT GetBoolArray( D3DXHANDLE hParameter, BOOL* pb, UINT Count) ; > 858 HRESULT SetInt( D3DXHANDLE hParameter, INT n) ; > 859 HRESULT GetInt( D3DXHANDLE hParameter, INT* pn) ; > 860 HRESULT SetIntArray( D3DXHANDLE hParameter, INT* pn, UINT Count) ; > 861 HRESULT GetIntArray( D3DXHANDLE hParameter, INT* pn, UINT Count) ; > 862 HRESULT SetFloat( D3DXHANDLE hParameter, FLOAT f) ; > 863 HRESULT GetFloat( D3DXHANDLE hParameter, FLOAT* pf) ; > 864 HRESULT SetFloatArray( D3DXHANDLE hParameter, FLOAT* pf, UINT Count) ; > 865 HRESULT GetFloatArray( D3DXHANDLE hParameter, FLOAT* pf, UINT Count) ; > 866 HRESULT SetVector( D3DXHANDLE hParameter, D3DXVECTOR4* pVector) ; > 867 HRESULT GetVector( D3DXHANDLE hParameter, D3DXVECTOR4* pVector) ; > 868 HRESULT SetVectorArray( D3DXHANDLE hParameter, D3DXVECTOR4* pVector, UINT C > 869 HRESULT GetVectorArray( D3DXHANDLE hParameter, D3DXVECTOR4* pVector, UINT Co > 870 HRESULT SetMatrix( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix) ; > 871 HRESULT GetMatrix( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix) ; > 872 HRESULT SetMatrixArray( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Co > 873 HRESULT GetMatrixArray( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Cou > 874 HRESULT SetMatrixPointerArray( D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix > 875 HRESULT GetMatrixPointerArray( D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, > 876 HRESULT SetMatrixTranspose( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix) ; > 877 HRESULT GetMatrixTranspose( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix) ; > 878 HRESULT SetMatrixTransposeArray( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix > 879 HRESULT GetMatrixTransposeArray( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, > 880 HRESULT SetMatrixTransposePointerArray( D3DXHANDLE hParameter, D3DXMATRIX** > 881 HRESULT GetMatrixTransposePointerArray( D3DXHANDLE hParameter, D3DXMATRIX** > 882 HRESULT SetString( D3DXHANDLE hParameter, LPCSTR pString) ; > 883 HRESULT GetString( D3DXHANDLE hParameter, LPCSTR* ppString) ; > 884 HRESULT SetTexture( D3DXHANDLE hParameter, IDirect3DBaseTexture9 pTexture) ; > 885 HRESULT GetTexture( D3DXHANDLE hParameter, IDirect3DBaseTexture9 *ppTexture) > 886 HRESULT GetPixelShader( D3DXHANDLE hParameter, IDirect3DPixelShader9 *ppPSha > 887 HRESULT GetVertexShader( D3DXHANDLE hParameter, IDirect3DVertexShader9 *ppVS > 888 > 889 //Set Range of an Array to pass to device > 890 //Useful for sending only a subrange of an array down to the device > 891 HRESULT SetArrayRange( D3DXHANDLE hParameter, UINT uStart, UINT uEnd) ; > 892 > 893 } > 894 > 895 interface ID3DXEffect : ID3DXBaseEffect > 896 { > 897 extern(Windows): > 898 > 899 // Pool > 900 HRESULT GetPool( ID3DXEffectPool* ppPool) ; > 901 > 902 // Selecting and setting a technique > 903 HRESULT SetTechnique( D3DXHANDLE hTechnique) ; > 904 D3DXHANDLE GetCurrentTechnique() ; > 905 HRESULT ValidateTechnique( D3DXHANDLE hTechnique) ; > 906 HRESULT FindNextValidTechnique( D3DXHANDLE hTechnique, D3DXHANDLE *pTechniqu > 907 BOOL IsParameterUsed( D3DXHANDLE hParameter, D3DXHANDLE hTechnique) ; > 908 > 909 // Using current technique > 910 // Begin starts active technique > 911 // BeginPass begins a pass > 912 // CommitChanges updates changes to any set calls in the pass. should be > 913 // any DrawPrimitive call to d3d > 914 // EndPass ends a pass > 915 // End ends active technique > 916 HRESULT Begin( UINT *pPasses, DWORD Flags) ; > 917 HRESULT BeginPass( UINT Pass) ; > 918 HRESULT CommitChanges() ; > 919 HRESULT EndPass() ; > 920 HRESULT End() ; > 921 > 922 // Managing D3D Device > 923 HRESULT GetDevice( IDirect3DDevice9* ppDevice) ; > 924 HRESULT OnLostDevice() ; > 925 HRESULT OnResetDevice() ; > 926 > 927 // Logging device calls > 928 HRESULT SetStateManager( ID3DXEffectStateManager pManager) ; > 929 HRESULT GetStateManager( ID3DXEffectStateManager *ppManager) ; > 930 > 931 // Parameter blocks > 932 HRESULT BeginParameterBlock() ; > 933 D3DXHANDLE EndParameterBlock() ; > 934 HRESULT ApplyParameterBlock( D3DXHANDLE hParameterBlock) ; > 935 HRESULT DeleteParameterBlock( D3DXHANDLE hParameterBlock) ; > 936 > 937 // Cloning > 938 HRESULT CloneEffect( IDirect3DDevice9 pDevice, ID3DXEffect* ppEffect) ; > 939 } > 940 > 941 interface ID3DXEffectPool : IUnknown > 942 { > 943 extern(Windows): > 944 > 945 // No public methods > 946 } > 947 > 948 interface ID3DXEffectStateManager : IUnknown > 949 { > 950 extern(Windows): > 951 > 952 // The following methods are called by the Effect when it wants to make > 953 // the corresponding device call. Note that: > 954 // 1. Users manage the state and are therefore responsible for making the > 955 // the corresponding device calls themselves inside their callbacks. > 956 // 2. Effects pay attention to the return values of the callbacks, and so > 957 // users must pay attention to what they return in their callbacks. > 958 > 959 HRESULT SetTransform( D3DTRANSFORMSTATETYPE State, D3DMATRIX *pMatrix) ; > 960 HRESULT SetMaterial( D3DMATERIAL9 *pMaterial) ; > 961 HRESULT SetLight( DWORD Index, D3DLIGHT9 *pLight) ; > 962 HRESULT LightEnable( DWORD Index, BOOL Enable) ; > 963 HRESULT SetRenderState( D3DRENDERSTATETYPE State, DWORD Value) ; > 964 HRESULT SetTexture( DWORD Stage, IDirect3DBaseTexture9 pTexture) ; > 965 HRESULT SetTextureStageState( DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DW > 966 HRESULT SetSamplerState( DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Valu > 967 HRESULT SetNPatchMode( FLOAT NumSegments) ; > 968 HRESULT SetFVF( DWORD FVF) ; > 969 HRESULT SetVertexShader( IDirect3DVertexShader9 pShader) ; > 970 HRESULT SetVertexShaderConstantF( UINT RegisterIndex, FLOAT *pConstantData, > 971 HRESULT SetVertexShaderConstantI( UINT RegisterIndex, INT *pConstantData, U > 972 HRESULT SetVertexShaderConstantB( UINT RegisterIndex, BOOL *pConstantData, > 973 HRESULT SetPixelShader( IDirect3DPixelShader9 pShader) ; > 974 HRESULT SetPixelShaderConstantF( UINT RegisterIndex, FLOAT *pConstantData, > 975 HRESULT SetPixelShaderConstantI( UINT RegisterIndex, INT *pConstantData, UI > 976 HRESULT SetPixelShaderConstantB( UINT RegisterIndex, BOOL *pConstantData, U > 977 } > 978 > 979 interface ID3DXInclude > 980 { > 981 HRESULT Open(D3DXINCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParent > 982 HRESULT Close(LPCVOID pData); > 983 } > 984 > 985 // D3DX Functions -------------------------------------------------------------- > 986 extern(Windows) > 987 { > 988 uint D3DXGetShaderVersion(uint* pFunction); > 989 > 990 HRESULT D3DXCheckTextureRequirements( > 991 IDirect3DDevice9 pDevice, > 992 UINT* pWidth, > 993 UINT* pHeight, > 994 UINT* pNumMipLevels, > 995 DWORD Usage, > 996 D3DFORMAT* pFormat, > 997 D3DPOOL Pool) ; > 998 > 999 HRESULT D3DXCreateTexture( > 1000 IDirect3DDevice9 pDevice, > 1001 UINT Width, > 1002 UINT Height, > 1003 UINT MipLevels, > 1004 DWORD Usage, > 1005 D3DFORMAT Format, > 1006 D3DPOOL Pool, > 1007 IDirect3DTexture9* ppTexture); > 1008 > 1009 HRESULT D3DXCreateCubeTexture( > 1010 IDirect3DDevice9 pDevice, > 1011 UINT Size, > 1012 UINT MipLevels, > 1013 DWORD Usage, > 1014 D3DFORMAT Format, > 1015 D3DPOOL Pool, > 1016 IDirect3DCubeTexture9* ppCubeTexture); > 1017 > 1018 HRESULT D3DXCreateTextureFromFileA( > 1019 LPDIRECT3DDEVICE9 pDevice, > 1020 LPCTSTR pSrcFile, > 1021 LPDIRECT3DTEXTURE9 * ppTexture); > 1022 > 1023 HRESULT D3DXCreateTextureFromFileExA( > 1024 IDirect3DDevice9 pDevice, > 1025 LPCSTR pSrcFile, > 1026 UINT Width, > 1027 UINT Height, > 1028 UINT MipLevels, > 1029 DWORD Usage, > 1030 D3DFORMAT Format, > 1031 D3DPOOL Pool, > 1032 DWORD Filter, > 1033 DWORD MipFilter, > 1034 D3DCOLOR ColorKey, > 1035 D3DXIMAGE_INFO* pSrcInfo, > 1036 PALETTEENTRY* pPalette, > 1037 IDirect3DTexture9* ppTexture); > 1038 > 1039 HRESULT D3DXCreateCubeTextureFromFileExA( > 1040 IDirect3DDevice9 pDevice, > 1041 LPCSTR pSrcFile, > 1042 UINT Size, > 1043 UINT MipLevels, > 1044 DWORD Usage, > 1045 D3DFORMAT Format, > 1046 D3DPOOL Pool, > 1047 DWORD Filter, > 1048 DWORD MipFilter, > 1049 D3DCOLOR ColorKey, > 1050 D3DXIMAGE_INFO* pSrcInfo, > 1051 PALETTEENTRY* pPalette, > 1052 IDirect3DCubeTexture9* ppCubeTexture); > 1053 > 1054 HRESULT D3DXSimplifyMesh( > 1055 ID3DXMesh pMesh, > 1056 DWORD* pAdjacency, > 1057 D3DXATTRIBUTEWEIGHTS *pVertexAttributeWeights, > 1058 FLOAT *pVertexWeights, > 1059 DWORD MinValue, > 1060 DWORD Options, > 1061 ID3DXMesh* ppMesh); > 1062 > 1063 HRESULT D3DXCreateSkinInfoFVF( > 1064 DWORD NumVertices, > 1065 DWORD FVF, > 1066 DWORD NumBones, > 1067 ID3DXSkinInfo* ppSkinInfo); > 1068 > 1069 D3DXVECTOR2* D3DXVec2TransformCoord( D3DXVECTOR2 *pOut, D3DXVECTOR2 *pV, > 1070 > 1071 D3DXVECTOR4* D3DXVec3Transform( D3DXVECTOR4 *pOut, D3DXVECTOR3 *pV, D3DX > 1072 > 1073 D3DXVECTOR3* D3DXVec3TransformCoord( D3DXVECTOR3 *pOut, D3DXVECTOR3 *pV, > 1074 > 1075 D3DXVECTOR4* D3DXVec4Transform( D3DXVECTOR4 *pOut, D3DXVECTOR4 *pV, D3DX > 1076 > 1077 D3DXMATRIX* D3DXMatrixTranspose( D3DXMATRIX *pOut, D3DXMATRIX *pM ); > 1078 > 1079 D3DXMATRIX* D3DXMatrixMultiply( D3DXMATRIX *pOut, D3DXMATRIX *pM1, D3DXM > 1080 > 1081 D3DXMATRIX* D3DXMatrixInverse( D3DXMATRIX *pOut, FLOAT *pDeterminant, D3 > 1082 > 1083 D3DXMATRIX* D3DXMatrixScaling( D3DXMATRIX *pOut, FLOAT sx, FLOAT sy, FLO > 1084 > 1085 D3DXMATRIX* D3DXMatrixTranslation( D3DXMATRIX *pOut, FLOAT x, FLOAT y, F > 1086 > 1087 D3DXMATRIX* D3DXMatrixRotationX( D3DXMATRIX *pOut, FLOAT Angle ); > 1088 > 1089 D3DXMATRIX* D3DXMatrixRotationY( D3DXMATRIX *pOut, FLOAT Angle ); > 1090 > 1091 D3DXMATRIX* D3DXMatrixRotationZ( D3DXMATRIX *pOut, FLOAT Angle ); > 1092 > 1093 D3DXMATRIX* D3DXMatrixRotationQuaternion( D3DXMATRIX *pOut, D3DXQUATERNI > 1094 > 1095 D3DXMATRIX* D3DXMatrixRotationYawPitchRoll( D3DXMATRIX *pOut, FLOAT Yaw, > 1096 > 1097 D3DXMATRIX* D3DXMatrixAffineTransformation2D( D3DXMATRIX *pOut, FLOAT Sc > 1098 float Rotation, D3DXVECTOR2 *pTranslation); > 1099 > 1100 D3DXMATRIX* D3DXMatrixPerspectiveFovLH( D3DXMATRIX *pOut, FLOAT fovy, FL > 1101 > 1102 D3DXMATRIX* D3DXMatrixOrthoLH( D3DXMATRIX *pOut, FLOAT w, FLOAT h, FLOAT > 1103 > 1104 D3DXMATRIX* D3DXMatrixOrthoOffCenterLH( D3DXMATRIX *pOut, FLOAT l, FLOAT > 1105 FLOAT zf ); > 1106 > 1107 void D3DXQuaternionToAxisAngle( D3DXQUATERNION *pQ, D3DXVECTOR3 *pAxis, > 1108 > 1109 D3DXQUATERNION* D3DXQuaternionRotationMatrix( D3DXQUATERNION *pOut, D3DX > 1110 > 1111 D3DXQUATERNION* D3DXQuaternionNormalize( D3DXQUATERNION *pOut, D3DXQUATE > 1112 > 1113 D3DXPLANE* D3DXPlaneNormalize( D3DXPLANE *pOut, D3DXPLANE *pP); > 1114 > 1115 char* DXGetErrorDescription9A(HRESULT hr); > 1116 > 1117 HRESULT D3DXCreateEffectFromFileA( > 1118 IDirect3DDevice9 pDevice, > 1119 LPCSTR pSrcFile, > 1120 D3DXMACRO* pDefines, > 1121 ID3DXInclude pInclude, > 1122 DWORD Flags, > 1123 ID3DXEffectPool pPool, > 1124 ID3DXEffect* ppEffect, > 1125 ID3DXBuffer* ppCompilationErrors); > 1126 > 1127 D3DXMATRIX* D3DXMatrixTransformation2D( D3DXMATRIX *pOut, D3DXVECTOR2 *p > 1128 float *pScalingRotation, D3DXVECTOR2 *pScaling, > 1129 D3DXVECTOR2 *pRotationCenter, float Rotation, > 1130 D3DXVECTOR2 *pTranslation); > 1131 > 1132 HRESULT D3DXLoadMeshFromXA( > 1133 LPCSTR pFilename, > 1134 DWORD Options, > 1135 IDirect3DDevice9 pD3D, > 1136 ID3DXBuffer *ppAdjacency, > 1137 ID3DXBuffer *ppMaterials, > 1138 ID3DXBuffer *ppEffectInstances, > 1139 DWORD *pNumMaterials, > 1140 ID3DXMesh *ppMesh); > 1141 > 1142 HRESULT D3DXCreatePolygon( > 1143 IDirect3DDevice9 pDevice, > 1144 FLOAT Length, > 1145 UINT Sides, > 1146 ID3DXMesh* ppMesh, > 1147 ID3DXBuffer* ppAdjacency); > 1148 > 1149 HRESULT D3DXCreateBox( > 1150 IDirect3DDevice9 pDevice, > 1151 FLOAT Width, > 1152 FLOAT Height, > 1153 FLOAT Depth, > 1154 ID3DXMesh* ppMesh, > 1155 ID3DXBuffer* ppAdjacency); > 1156 > 1157 HRESULT D3DXCreateCylinder( > 1158 IDirect3DDevice9 pDevice, > 1159 FLOAT Radius1, > 1160 FLOAT Radius2, > 1161 FLOAT Length, > 1162 UINT Slices, > 1163 UINT Stacks, > 1164 ID3DXMesh* ppMesh, > 1165 ID3DXBuffer* ppAdjacency); > 1166 > 1167 HRESULT D3DXCreateSphere( > 1168 IDirect3DDevice9 pDevice, > 1169 FLOAT Radius, > 1170 UINT Slices, > 1171 UINT Stacks, > 1172 ID3DXMesh* ppMesh, > 1173 ID3DXBuffer* ppAdjacency); > 1174 > 1175 HRESULT D3DXCreateTorus( > 1176 IDirect3DDevice9 pDevice, > 1177 FLOAT InnerRadius, > 1178 FLOAT OuterRadius, > 1179 UINT Sides, > 1180 UINT Rings, > 1181 ID3DXMesh* ppMesh, > 1182 ID3DXBuffer* ppAdjacency); > 1183 > 1184 HRESULT D3DXCreateTeapot( > 1185 IDirect3DDevice9 pDevice, > 1186 ID3DXMesh* ppMesh, > 1187 ID3DXBuffer* ppAdjacency); > 1188 > 1189 HRESULT D3DXCreateFontA( > 1190 IDirect3DDevice9 pDevice, > 1191 UINT Height, > 1192 UINT Width, > 1193 UINT Weight, > 1194 UINT MipLevels, > 1195 BOOL Italic, > 1196 DWORD CharSet, > 1197 DWORD OutputPrecision, > 1198 DWORD Quality, > 1199 DWORD PitchAndFamily, > 1200 LPCTSTR pFacename, > 1201 ID3DXFont *ppFont); > 1202 > 1203 HRESULT D3DXCreateSprite( > 1204 IDirect3DDevice9 pDevice, > 1205 ID3DXSprite* ppSprite) ; > 1206 > 1207 HRESULT D3DXCreateEffect( > 1208 IDirect3DDevice9 pDevice, > 1209 LPCVOID pSrcData, > 1210 UINT SrcDataLen, > 1211 D3DXMACRO* pDefines, > 1212 ID3DXInclude pInclude, > 1213 DWORD Flags, > 1214 ID3DXEffectPool pPool, > 1215 ID3DXEffect* ppEffect, > 1216 ID3DXBuffer* ppCompilationErrors); > 1217 > 1218 HRESULT D3DXCreateEffectPool( > 1219 ID3DXEffectPool* pEffectPool); > 1220 > 1221 HRESULT D3DXGetShaderInputSemantics( > 1222 DWORD* pFunction, > 1223 D3DXSEMANTIC* pSemantics, > 1224 UINT* pCount); > 1225 > 1226 HRESULT > 1227 D3DXCreateMeshFVF( > 1228 DWORD NumFaces, > 1229 DWORD NumVertices, > 1230 DWORD Options, > 1231 DWORD FVF, > 1232 IDirect3DDevice9 pD3DDevice, > 1233 ID3DXMesh* ppMesh); > 1234 > 1235 UINT D3DXGetFVFVertexSize(DWORD FVF); > 1236 > 1237 HRESULT D3DXFileCreate(ID3DXFile* lplpDirectXFile); > 1238 > 1239 HRESULT D3DXLoadMeshFromXof( > 1240 ID3DXFileData pxofMesh, > 1241 DWORD Options, > 1242 IDirect3DDevice9 pD3DDevice, > 1243 ID3DXBuffer *ppAdjacency, > 1244 ID3DXBuffer *ppMaterials, > 1245 ID3DXBuffer *ppEffectInstances, > 1246 DWORD *pNumMaterials, > 1247 ID3DXMesh *ppMesh); > 1248 > 1249 HRESULT D3DXConcatenateMeshes( > 1250 ID3DXMesh * ppMeshes, > 1251 UINT NumMeshes, > 1252 DWORD Options, > 1253 D3DXMATRIX * pGeomXForms, > 1254 D3DXMATRIX * pTextureXForms, > 1255 D3DVERTEXELEMENT9 * pDecl, > 1256 IDirect3DDevice9 pD3DDevice, > 1257 ID3DXMesh * ppMeshOut); > 1258 > 1259 HRESULT D3DXDeclaratorFromFVF(DWORD FVF, D3DVERTEXELEMENT9* Declaration) > 1260 > 1261 D3DXQUATERNION* D3DXQuaternionSlerp(D3DXQUATERNION* pOut, D3DXQUATERNION > 1262 > 1263 D3DXVECTOR3* D3DXVec3CatmullRom(D3DXVECTOR3 *pOut, D3DXVECTOR3 *pV0, D3D > 1264 > 1265 void D3DXQuaternionSquadSetup( D3DXQUATERNION *pAOut, > 1266 D3DXQUATERNI > 1267 D3DXQUATERNI > 1268 D3DXQUATERNI > 1269 D3DXQUATERNI > 1270 D3DXQUATERNI > 1271 D3DXQUATERNI > 1272 > 1273 D3DXQUATERNION* D3DXQuaternionSquad(D3DXQUATERNION *pOut, > 1274 D3DX > 1275 D3DX > 1276 D3DX > 1277 D3DX > 1278 floa > 1279 > 1280 HRESULT D3DXMatrixDecompose(D3DXVECTOR3 *pOutScale, > 1281 D3DXQUATERNION *pOut > 1282 D3DXVECTOR3 *pOutTra > 1283 D3DXMATRIX *pM > 1284 ); > 1285 > 1286 D3DXQUATERNION* D3DXQuaternionRotationYawPitchRoll(D3DXQUATERNION *pOut, > 1287 > 1288 > 1289 > 1290 > 1291 > 1292 UINT D3DXGetDeclVertexSize(D3DVERTEXELEMENT9 *pDecl, DWORD Stream ); > 1293 } // extern(Windows) > 1294 > 1295 D3DXMATRIX* D3DXMatrixIdentity( D3DXMATRIX *pOut ) > 1296 { > 1297 pOut.m[0][1] = pOut.m[0][2] = pOut.m[0][3] = > 1298 pOut.m[1][0] = pOut.m[1][2] = pOut.m[1][3] = > 1299 pOut.m[2][0] = pOut.m[2][1] = pOut.m[2][3] = > 1300 pOut.m[3][0] = pOut.m[3][1] = pOut.m[3][2] = 0.0f; > 1301 > 1302 pOut.m[0][0] = pOut.m[1][1] = pOut.m[2][2] = pOut.m[3][3] = 1.0f; > 1303 return pOut; > 1304 } > 1305 > 1306 FLOAT D3DXVec3LengthSq(D3DXVECTOR3* v) > 1307 { > 1308 return (v.x * v.x) + (v.y * v.y) + (v.z * v.z); > 1309 } > 1310 > 1311 template DEFINE_GUID(uint d1, ushort d2, ushort d3, ubyte d4, ubyte d5, ubyte d6 > 1312 { > 1313 const GUID DEFINE_GUID = {d1, d2, d3, [d4, d5, d6, d7, d8, d9, d10, d11] > 1314 } > 1315 > 1316 const GUID TID_D3DRMInfo = DEFINE_GUID!(0x2b957100, 0x9e9a, 0x11cf, 0xab, 0x39, > 1317 const GUID TID_D3DRMMesh = DEFINE_GUID!(0x3d82ab44, 0x62da, 0x11cf, 0xab, 0x39, > 1318 const GUID TID_D3DRMVector = DEFINE_GUID!(0x3d82ab5e, 0x62da, 0x11cf, 0xab, 0x39 > 1319 const GUID TID_D3DRMMeshFace = DEFINE_GUID!(0x3d82ab5f, 0x62da, 0x11cf, 0xab, 0x > 1320 const GUID TID_D3DRMMaterial = DEFINE_GUID!(0x3d82ab4d, 0x62da, 0x11cf, 0xab, 0x > 1321 const GUID TID_D3DRMMaterialArray = DEFINE_GUID!(0x35ff44e1, 0x6c7c, 0x11cf, 0x8 > 1322 const GUID TID_D3DRMFrame = DEFINE_GUID!(0x3d82ab46, 0x62da, 0x11cf, 0xab, 0x39, > 1323 const GUID TID_D3DRMFrameTransformMatrix = DEFINE_GUID!(0xf6f23f41, 0x7686, 0x11 > 1324 const GUID TID_D3DRMMeshMaterialList = DEFINE_GUID!(0xf6f23f42, 0x7686, 0x11cf, > 1325 const GUID TID_D3DRMMeshTextureCoords = DEFINE_GUID!(0xf6f23f40, 0x7686, 0x11cf, > 1326 const GUID TID_D3DRMMeshNormals = DEFINE_GUID!(0xf6f23f43, 0x7686, 0x11cf, 0x8f, > 1327 const GUID TID_D3DRMCoords2d = DEFINE_GUID!(0xf6f23f44, 0x7686, 0x11cf, 0x8f, 0x > 1328 const GUID TID_D3DRMMatrix4x4 = DEFINE_GUID!(0xf6f23f45, 0x7686, 0x11cf, 0x8f, 0 > 1329 const GUID TID_D3DRMAnimation = DEFINE_GUID!(0x3d82ab4f, 0x62da, 0x11cf, 0xab, 0 > 1330 const GUID TID_D3DRMAnimationSet = DEFINE_GUID!(0x3d82ab50, 0x62da, 0x11cf, 0xab > 1331 const GUID TID_D3DRMAnimationKey = DEFINE_GUID!(0x10dd46a8, 0x775b, 0x11cf, 0x8f > 1332 const GUID TID_D3DRMFloatKeys = DEFINE_GUID!(0x10dd46a9, 0x775b, 0x11cf, 0x8f, 0 > 1333 const GUID TID_D3DRMMaterialAmbientColor = DEFINE_GUID!(0x01411840, 0x7786, 0x11 > 1334 const GUID TID_D3DRMMaterialDiffuseColor = DEFINE_GUID!(0x01411841, 0x7786, 0x11 > 1335 const GUID TID_D3DRMMaterialSpecularColor = DEFINE_GUID!(0x01411842, 0x7786, 0x1 > 1336 const GUID TID_D3DRMMaterialEmissiveColor = DEFINE_GUID!(0xd3e16e80, 0x7835, 0x1 > 1337 const GUID TID_D3DRMMaterialPower = DEFINE_GUID!(0x01411843, 0x7786, 0x11cf, 0x8 > 1338 const GUID TID_D3DRMColorRGBA = DEFINE_GUID!(0x35ff44e0, 0x6c7c, 0x11cf, 0x8f, 0 > 1339 const GUID TID_D3DRMColorRGB = DEFINE_GUID!(0xd3e16e81, 0x7835, 0x11cf, 0x8f, 0x > 1340 const GUID TID_D3DRMGuid = DEFINE_GUID!(0xa42790e0, 0x7810, 0x11cf, 0x8f, 0x52, > 1341 const GUID TID_D3DRMTextureFilename = DEFINE_GUID!(0xa42790e1, 0x7810, 0x11cf, 0 > 1342 const GUID TID_D3DRMTextureReference = DEFINE_GUID!(0xa42790e2, 0x7810, 0x11cf, > 1343 const GUID TID_D3DRMIndexedColor = DEFINE_GUID!(0x1630b820, 0x7842, 0x11cf, 0x8f > 1344 const GUID TID_D3DRMMeshVertexColors = DEFINE_GUID!(0x1630b821, 0x7842, 0x11cf, > 1345 const GUID TID_D3DRMMaterialWrap = DEFINE_GUID!(0x4885ae60, 0x78e8, 0x11cf, 0x8f > 1346 const GUID TID_D3DRMBoolean = DEFINE_GUID!(0x537da6a0, 0xca37, 0x11d0, 0x94, 0x1 > 1347 const GUID TID_D3DRMMeshFaceWraps = DEFINE_GUID!(0xed1ec5c0, 0xc0a8, 0x11d0, 0x9 > 1348 const GUID TID_D3DRMBoolean2d = DEFINE_GUID!(0x4885ae63, 0x78e8, 0x11cf, 0x8f, 0 > 1349 const GUID TID_D3DRMTimedFloatKeys = DEFINE_GUID!(0xf406b180, 0x7b3b, 0x11cf, 0x > 1350 const GUID TID_D3DRMAnimationOptions = DEFINE_GUID!(0xe2bf56c0, 0x840f, 0x11cf, > 1351 const GUID TID_D3DRMFramePosition = DEFINE_GUID!(0xe2bf56c1, 0x840f, 0x11cf, 0x8 > 1352 const GUID TID_D3DRMFrameVelocity = DEFINE_GUID!(0xe2bf56c2, 0x840f, 0x11cf, 0x8 > 1353 const GUID TID_D3DRMFrameRotation = DEFINE_GUID!(0xe2bf56c3, 0x840f, 0x11cf, 0x8 > 1354 const GUID TID_D3DRMLight = DEFINE_GUID!(0x3d82ab4a, 0x62da, 0x11cf, 0xab, 0x39, > 1355 const GUID TID_D3DRMCamera = DEFINE_GUID!(0x3d82ab51, 0x62da, 0x11cf, 0xab, 0x39 > 1356 const GUID TID_D3DRMAppData = DEFINE_GUID!(0xe5745280, 0xb24f, 0x11cf, 0x9d, 0xd > 1357 const GUID TID_D3DRMLightUmbra = DEFINE_GUID!(0xaed22740, 0xb31f, 0x11cf, 0x9d, > 1358 const GUID TID_D3DRMLightRange = DEFINE_GUID!(0xaed22742, 0xb31f, 0x11cf, 0x9d, > 1359 const GUID TID_D3DRMLightPenumbra = DEFINE_GUID!(0xaed22741, 0xb31f, 0x11cf, 0x9 > 1360 const GUID TID_D3DRMLightAttenuation = DEFINE_GUID!(0xa8a98ba0, 0xc5e5, 0x11cf, > 1361 const GUID TID_D3DRMInlineData = DEFINE_GUID!(0x3a23eea0, 0x94b1, 0x11d0, 0xab, > 1362 const GUID TID_D3DRMUrl = DEFINE_GUID!(0x3a23eea1, 0x94b1, 0x11d0, 0xab, 0x39, 0 > 1363 const GUID TID_D3DRMProgressiveMesh = DEFINE_GUID!(0x8A63C360, 0x997D, 0x11d0, 0 > 1364 const GUID TID_D3DRMExternalVisual = DEFINE_GUID!(0x98116AA0, 0xBDBA, 0x11d1, 0x > 1365 const GUID TID_D3DRMStringProperty = DEFINE_GUID!(0x7f0f21e0, 0xbfe1, 0x11d1, 0x > 1366 const GUID TID_D3DRMPropertyBag = DEFINE_GUID!(0x7f0f21e1, 0xbfe1, 0x11d1, 0x82, > 1367 const GUID TID_D3DRMRightHanded = DEFINE_GUID!(0x7f5d5ea0, 0xd53a, 0x11d1, 0x82, > 1368 > 1369 ubyte[] D3DRM_XTEMPLATES = > 1370 [ > 1371 0x78, 0x6f, 0x66, 0x20, 0x30, 0x33, 0x30, 0x32, 0x62, > 1372 0x69, 0x6e, 0x20, 0x30, 0x30, 0x36, 0x34, 0x1f, 0, 0x1, > 1373 0, 0x6, 0, 0, 0, 0x48, 0x65, 0x61, 0x64, 0x65, > 1374 0x72, 0xa, 0, 0x5, 0, 0x43, 0xab, 0x82, 0x3d, 0xda, > 1375 0x62, 0xcf, 0x11, 0xab, 0x39, 0, 0x20, 0xaf, 0x71, 0xe4, > 1376 0x33, 0x28, 0, 0x1, 0, 0x5, 0, 0, 0, 0x6d, > 1377 0x61, 0x6a, 0x6f, 0x72, 0x14, 0, 0x28, 0, 0x1, 0, > 1378 0x5, 0, 0, 0, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x14, > 1379 0, 0x29, 0, 0x1, 0, 0x5, 0, 0, 0, 0x66, > 1380 0x6c, 0x61, 0x67, 0x73, 0x14, 0, 0xb, 0, 0x1f, 0, > 1381 0x1, 0, 0x6, 0, 0, 0, 0x56, 0x65, 0x63, 0x74, > 1382 0x6f, 0x72, 0xa, 0, 0x5, 0, 0x5e, 0xab, 0x82, 0x3d, > 1383 0xda, 0x62, 0xcf, 0x11, 0xab, 0x39, 0, 0x20, 0xaf, 0x71, > 1384 0xe4, 0x33, 0x2a, 0, 0x1, 0, 0x1, 0, 0, 0, > 1385 0x78, 0x14, 0, 0x2a, 0, 0x1, 0, 0x1, 0, 0, > 1386 0, 0x79, 0x14, 0, 0x2a, 0, 0x1, 0, 0x1, 0, > 1387 0, 0, 0x7a, 0x14, 0, 0xb, 0, 0x1f, 0, 0x1, > 1388 0, 0x8, 0, 0, 0, 0x43, 0x6f, 0x6f, 0x72, 0x64, > 1389 0x73, 0x32, 0x64, 0xa, 0, 0x5, 0, 0x44, 0x3f, 0xf2, > 1390 0xf6, 0x86, 0x76, 0xcf, 0x11, 0x8f, 0x52, 0, 0x40, 0x33, > 1391 0x35, 0x94, 0xa3, 0x2a, 0, 0x1, 0, 0x1, 0, 0, > 1392 0, 0x75, 0x14, 0, 0x2a, 0, 0x1, 0, 0x1, 0, > 1393 0, 0, 0x76, 0x14, 0, 0xb, 0, 0x1f, 0, 0x1, > 1394 0, 0x9, 0, 0, 0, 0x4d, 0x61, 0x74, 0x72, 0x69, > 1395 0x78, 0x34, 0x78, 0x34, 0xa, 0, 0x5, 0, 0x45, 0x3f, > 1396 0xf2, 0xf6, 0x86, 0x76, 0xcf, 0x11, 0x8f, 0x52, 0, 0x40, > 1397 0x33, 0x35, 0x94, 0xa3, 0x34, 0, 0x2a, 0, 0x1, 0, > 1398 0x6, 0, 0, 0, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, > 1399 0xe, 0, 0x3, 0, 0x10, 0, 0, 0, 0xf, 0, > 1400 0x14, 0, 0xb, 0, 0x1f, 0, 0x1, 0, 0x9, 0, > 1401 0, 0, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x47, 0x42, > 1402 0x41, 0xa, 0, 0x5, 0, 0xe0, 0x44, 0xff, 0x35, 0x7c, > 1403 0x6c, 0xcf, 0x11, 0x8f, 0x52, 0, 0x40, 0x33, 0x35, 0x94, > 1404 0xa3, 0x2a, 0, 0x1, 0, 0x3, 0, 0, 0, 0x72, > 1405 0x65, 0x64, 0x14, 0, 0x2a, 0, 0x1, 0, 0x5, 0, > 1406 0, 0, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x14, 0, 0x2a, > 1407 0, 0x1, 0, 0x4, 0, 0, 0, 0x62, 0x6c, 0x75, > 1408 0x65, 0x14, 0, 0x2a, 0, 0x1, 0, 0x5, 0, 0, > 1409 0, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x14, 0, 0xb, 0, > 1410 0x1f, 0, 0x1, 0, 0x8, 0, 0, 0, 0x43, 0x6f, > 1411 0x6c, 0x6f, 0x72, 0x52, 0x47, 0x42, 0xa, 0, 0x5, 0, > 1412 0x81, 0x6e, 0xe1, 0xd3, 0x35, 0x78, 0xcf, 0x11, 0x8f, 0x52, > 1413 0, 0x40, 0x33, 0x35, 0x94, 0xa3, 0x2a, 0, 0x1, 0, > 1414 0x3, 0, 0, 0, 0x72, 0x65, 0x64, 0x14, 0, 0x2a, > 1415 0, 0x1, 0, 0x5, 0, 0, 0, 0x67, 0x72, 0x65, > 1416 0x65, 0x6e, 0x14, 0, 0x2a, 0, 0x1, 0, 0x4, 0, > 1417 0, 0, 0x62, 0x6c, 0x75, 0x65, 0x14, 0, 0xb, 0, > 1418 0x1f, 0, 0x1, 0, 0xc, 0, 0, 0, 0x49, 0x6e, > 1419 0x64, 0x65, 0x78, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6f, 0x72, > 1420 0xa, 0, 0x5, 0, 0x20, 0xb8, 0x30, 0x16, 0x42, 0x78, > 1421 0xcf, 0x11, 0x8f, 0x52, 0, 0x40, 0x33, 0x35, 0x94, 0xa3, > 1422 0x29, 0, 0x1, 0, 0x5, 0, 0, 0, 0x69, 0x6e, > 1423 0x64, 0x65, 0x78, 0x14, 0, 0x1, 0, 0x9, 0, 0, > 1424 0, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x47, 0x42, 0x41, > 1425 0x1, 0, 0xa, 0, 0, 0, 0x69, 0x6e, 0x64, 0x65, > 1426 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x14, 0, 0xb, 0, > 1427 0x1f, 0, 0x1, 0, 0x7, 0, 0, 0, 0x42, 0x6f, > 1428 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0xa, 0, 0x5, 0, 0xa0, > 1429 0xa6, 0x7d, 0x53, 0x37, 0xca, 0xd0, 0x11, 0x94, 0x1c, 0, > 1430 0x80, 0xc8, 0xc, 0xfa, 0x7b, 0x29, 0, 0x1, 0, 0x9, > 1431 0, 0, 0, 0x74, 0x72, 0x75, 0x65, 0x66, 0x61, 0x6c, > 1432 0x73, 0x65, 0x14, 0, 0xb, 0, 0x1f, 0, 0x1, 0, > 1433 0x9, 0, 0, 0, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, > 1434 0x6e, 0x32, 0x64, 0xa, 0, 0x5, 0, 0x63, 0xae, 0x85, > 1435 0x48, 0xe8, 0x78, 0xcf, 0x11, 0x8f, 0x52, 0, 0x40, 0x33, > 1436 0x35, 0x94, 0xa3, 0x1, 0, 0x7, 0, 0, 0, 0x42, > 1437 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x1, 0, 0x1, 0, > 1438 0, 0, 0x75, 0x14, 0, 0x1, 0, 0x7, 0, 0, > 1439 0, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x1, 0, > 1440 0x1, 0, 0, 0, 0x76, 0x14, 0, 0xb, 0, 0x1f, > 1441 0, 0x1, 0, 0xc, 0, 0, 0, 0x4d, 0x61, 0x74, > 1442 0x65, 0x72, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x61, 0x70, 0xa, > 1443 0, 0x5, 0, 0x60, 0xae, 0x85, 0x48, 0xe8, 0x78, 0xcf, > 1444 0x11, 0x8f, 0x52, 0, 0x40, 0x33, 0x35, 0x94, 0xa3, 0x1, > 1445 0, 0x7, 0, 0, 0, 0x42, 0x6f, 0x6f, 0x6c, 0x65, > 1446 0x61, 0x6e, 0x1, 0, 0x1, 0, 0, 0, 0x75, 0x14, > 1447 0, 0x1, 0, 0x7, 0, 0, 0, 0x42, 0x6f, 0x6f, > 1448 0x6c, 0x65, 0x61, 0x6e, 0x1, 0, 0x1, 0, 0, 0, > 1449 0x76, 0x14, 0, 0xb, 0, 0x1f, 0, 0x1, 0, 0xf, > 1450 0, 0, 0, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, > 1451 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0xa, 0, > 1452 0x5, 0, 0xe1, 0x90, 0x27, 0xa4, 0x10, 0x78, 0xcf, 0x11, > 1453 0x8f, 0x52, 0, 0x40, 0x33, 0x35, 0x94, 0xa3, 0x31, 0, > 1454 0x1, 0, 0x8, 0, 0, 0, 0x66, 0x69, 0x6c, 0x65, > 1455 0x6e, 0x61, 0x6d, 0x65, 0x14, 0, 0xb, 0, 0x1f, 0, > 1456 0x1, 0, 0x8, 0, 0, 0, 0x4d, 0x61, 0x74, 0x65, > 1457 0x72, 0x69, 0x61, 0x6c, 0xa, 0, 0x5, 0, 0x4d, 0xab, > 1458 0x82, 0x3d, 0xda, 0x62, 0xcf, 0x11, 0xab, 0x39, 0, 0x20, > 1459 0xaf, 0x71, 0xe4, 0x33, 0x1, 0, 0x9, 0, 0, 0, > 1460 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x47, 0x42, 0x41, 0x1, > 1461 0, 0x9, 0, 0, 0, 0x66, 0x61, 0x63, 0x65, 0x43, > 1462 0x6f, 0x6c, 0x6f, 0x72, 0x14, 0, 0x2a, 0, 0x1, 0, > 1463 0x5, 0, 0, 0, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x14, > 1464 0, 0x1, 0, 0x8, 0, 0, 0, 0x43, 0x6f, 0x6c, > 1465 0x6f, 0x72, 0x52, 0x47, 0x42, 0x1, 0, 0xd, 0, 0, > 1466 0, 0x73, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x43, > 1467 0x6f, 0x6c, 0x6f, 0x72, 0x14, 0, 0x1, 0, 0x8, 0, > 1468 0, 0, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x47, 0x42, > 1469 0x1, 0, 0xd, 0, 0, 0, 0x65, 0x6d, 0x69, 0x73, > 1470 0x73, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x14, > 1471 0, 0xe, 0, 0x12, 0, 0x12, 0, 0x12, 0, 0xf, > 1472 0, 0xb, 0, 0x1f, 0, 0x1, 0, 0x8, 0, 0, > 1473 0, 0x4d, 0x65, 0x73, 0x68, 0x46, 0x61, 0x63, 0x65, 0xa, > 1474 0, 0x5, 0, 0x5f, 0xab, 0x82, 0x3d, 0xda, 0x62, 0xcf, > 1475 0x11, 0xab, 0x39, 0, 0x20, 0xaf, 0x71, 0xe4, 0x33, 0x29, > 1476 0, 0x1, 0, 0x12, 0, 0, 0, 0x6e, 0x46, 0x61, > 1477 0x63, 0x65, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x6e, > 1478 0x64, 0x69, 0x63, 0x65, 0x73, 0x14, 0, 0x34, 0, 0x29, > 1479 0, 0x1, 0, 0x11, 0, 0, 0, 0x66, 0x61, 0x63, > 1480 0x65, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x6e, 0x64, > 1481 0x69, 0x63, 0x65, 0x73, 0xe, 0, 0x1, 0, 0x12, 0, > 1482 0, 0, 0x6e, 0x46, 0x61, 0x63, 0x65, 0x56, 0x65, 0x72, > 1483 0x74, 0x65, 0x78, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, > 1484 0xf, 0, 0x14, 0, 0xb, 0, 0x1f, 0, 0x1, 0, > 1485 0xd, 0, 0, 0, 0x4d, 0x65, 0x73, 0x68, 0x46, 0x61, > 1486 0x63, 0x65, 0x57, 0x72, 0x61, 0x70, 0x73, 0xa, 0, 0x5, > 1487 0, 0xc0, 0xc5, 0x1e, 0xed, 0xa8, 0xc0, 0xd0, 0x11, 0x94, > 1488 0x1c, 0, 0x80, 0xc8, 0xc, 0xfa, 0x7b, 0x29, 0, 0x1, > 1489 0, 0xf, 0, 0, 0, 0x6e, 0x46, 0x61, 0x63, 0x65, > 1490 0x57, 0x72, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, > 1491 0x14, 0, 0x34, 0, 0x1, 0, 0x9, 0, 0, 0, > 1492 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x32, 0x64, 0x1, > 1493 0, 0xe, 0, 0, 0, 0x66, 0x61, 0x63, 0x65, 0x57, > 1494 0x72, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0xe, > 1495 0, 0x1, 0, 0xf, 0, 0, 0, 0x6e, 0x46, 0x61, > 1496 0x63, 0x65, 0x57, 0x72, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, > 1497 0x65, 0x73, 0xf, 0, 0x14, 0, 0xb, 0, 0x1f, 0, > 1498 0x1, 0, 0x11, 0, 0, 0, 0x4d, 0x65, 0x73, 0x68, > 1499 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6f, > 1500 0x72, 0x64, 0x73, 0xa, 0, 0x5, 0, 0x40, 0x3f, 0xf2, > 1501 0xf6, 0x86, 0x76, 0xcf, 0x11, 0x8f, 0x52, 0, 0x40, 0x33, > 1502 0x35, 0x94, 0xa3, 0x29, 0, 0x1, 0, 0xe, 0, 0, > 1503 0, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, > 1504 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x14, 0, 0x34, 0, 0x1, > 1505 0, 0x8, 0, 0, 0, 0x43, 0x6f, 0x6f, 0x72, 0x64, > 1506 0x73, 0x32, 0x64, 0x1, 0, 0xd, 0, 0, 0, 0x74, > 1507 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6f, 0x72, > 1508 0x64, 0x73, 0xe, 0, 0x1, 0, 0xe, 0, 0, 0, > 1509 0x6e, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, > 1510 0x6f, 0x72, 0x64, 0x73, 0xf, 0, 0x14, 0, 0xb, 0, > 1511 0x1f, 0, 0x1, 0, 0x10, 0, 0, 0, 0x4d, 0x65, > 1512 0x73, 0x68, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, > 1513 0x4c, 0x69, 0x73, 0x74, 0xa, 0, 0x5, 0, 0x42, 0x3f, > 1514 0xf2, 0xf6, 0x86, 0x76, 0xcf, 0x11, 0x8f, 0x52, 0, 0x40, > 1515 0x33, 0x35, 0x94, 0xa3, 0x29, 0, 0x1, 0, 0xa, 0, > 1516 0, 0, 0x6e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, > 1517 0x6c, 0x73, 0x14, 0, 0x29, 0, 0x1, 0, 0xc, 0, > 1518 0, 0, 0x6e, 0x46, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x64, > 1519 0x65, 0x78, 0x65, 0x73, 0x14, 0, 0x34, 0, 0x29, 0, > 1520 0x1, 0, 0xb, 0, 0, 0, 0x66, 0x61, 0x63, 0x65, > 1521 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0xe, 0, 0x1, > 1522 0, 0xc, 0, 0, 0, 0x6e, 0x46, 0x61, 0x63, 0x65, > 1523 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0xf, 0, 0x14, > 1524 0, 0xe, 0, 0x1, 0, 0x8, 0, 0, 0, 0x4d, > 1525 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0xf, 0, 0xb, > 1526 0, 0x1f, 0, 0x1, 0, 0xb, 0, 0, 0, 0x4d, > 1527 0x65, 0x73, 0x68, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x73, > 1528 0xa, 0, 0x5, 0, 0x43, 0x3f, 0xf2, 0xf6, 0x86, 0x76, > 1529 0xcf, 0x11, 0x8f, 0x52, 0, 0x40, 0x33, 0x35, 0x94, 0xa3, > 1530 0x29, 0, 0x1, 0, 0x8, 0, 0, 0, 0x6e, 0x4e, > 1531 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x73, 0x14, 0, 0x34, 0, > 1532 0x1, 0, 0x6, 0, 0, 0, 0x56, 0x65, 0x63, 0x74, > 1533 0x6f, 0x72, 0x1, 0, 0x7, 0, 0, 0, 0x6e, 0x6f, > 1534 0x72, 0x6d, 0x61, 0x6c, 0x73, 0xe, 0, 0x1, 0, 0x8, > 1535 0, 0, 0, 0x6e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, > 1536 0x73, 0xf, 0, 0x14, 0, 0x29, 0, 0x1, 0, 0xc, > 1537 0, 0, 0, 0x6e, 0x46, 0x61, 0x63, 0x65, 0x4e, 0x6f, > 1538 0x72, 0x6d, 0x61, 0x6c, 0x73, 0x14, 0, 0x34, 0, 0x1, > 1539 0, 0x8, 0, 0, 0, 0x4d, 0x65, 0x73, 0x68, 0x46, > 1540 0x61, 0x63, 0x65, 0x1, 0, 0xb, 0, 0, 0, 0x66, > 1541 0x61, 0x63, 0x65, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x73, > 1542 0xe, 0, 0x1, 0, 0xc, 0, 0, 0, 0x6e, 0x46, > 1543 0x61, 0x63, 0x65, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x73, > 1544 0xf, 0, 0x14, 0, 0xb, 0, 0x1f, 0, 0x1, 0, > 1545 0x10, 0, 0, 0, 0x4d, 0x65, 0x73, 0x68, 0x56, 0x65, > 1546 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x73, > 1547 0xa, 0, 0x5, 0, 0x21, 0xb8, 0x30, 0x16, 0x42, 0x78, > 1548 0xcf, 0x11, 0x8f, 0x52, 0, 0x40, 0x33, 0x35, 0x94, 0xa3, > 1549 0x29, 0, 0x1, 0, 0xd, 0, 0, 0, 0x6e, 0x56, > 1550 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, > 1551 0x73, 0x14, 0, 0x34, 0, 0x1, 0, 0xc, 0, 0, > 1552 0, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x43, 0x6f, > 1553 0x6c, 0x6f, 0x72, 0x1, 0, 0xc, 0, 0, 0, 0x76, > 1554 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, > 1555 0x73, 0xe, 0, 0x1, 0, 0xd, 0, 0, 0, 0x6e, > 1556 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, > 1557 0x72, 0x73, 0xf, 0, 0x14, 0, 0xb, 0, 0x1f, 0, > 1558 0x1, 0, 0x4, 0, 0, 0, 0x4d, 0x65, 0x73, 0x68, > 1559 0xa, 0, 0x5, 0, 0x44, 0xab, 0x82, 0x3d, 0xda, 0x62, > 1560 0xcf, 0x11, 0xab, 0x39, 0, 0x20, 0xaf, 0x71, 0xe4, 0x33, > 1561 0x29, 0, 0x1, 0, 0x9, 0, 0, 0, 0x6e, 0x56, > 1562 0x65, 0x72, 0x74, 0x69, 0x63, 0x65, 0x73, 0x14, 0, 0x34, > 1563 0, 0x1, 0, 0x6, 0, 0, 0, 0x56, 0x65, 0x63, > 1564 0x74, 0x6f, 0x72, 0x1, 0, 0x8, 0, 0, 0, 0x76, > 1565 0x65, 0x72, 0x74, 0x69, 0x63, 0x65, 0x73, 0xe, 0, 0x1, > 1566 0, 0x9, 0, 0, 0, 0x6e, 0x56, 0x65, 0x72, 0x74, > 1567 0x69, 0x63, 0x65, 0x73, 0xf, 0, 0x14, 0, 0x29, 0, > 1568 0x1, 0, 0x6, 0, 0, 0, 0x6e, 0x46, 0x61, 0x63, > 1569 0x65, 0x73, 0x14, 0, 0x34, 0, 0x1, 0, 0x8, 0, > 1570 0, 0, 0x4d, 0x65, 0x73, 0x68, 0x46, 0x61, 0x63, 0x65, > 1571 0x1, 0, 0x5, 0, 0, 0, 0x66, 0x61, 0x63, 0x65, > 1572 0x73, 0xe, 0, 0x1, 0, 0x6, 0, 0, 0, 0x6e, > 1573 0x46, 0x61, 0x63, 0x65, 0x73, 0xf, 0, 0x14, 0, 0xe, > 1574 0, 0x12, 0, 0x12, 0, 0x12, 0, 0xf, 0, 0xb, > 1575 0, 0x1f, 0, 0x1, 0, 0x14, 0, 0, 0, 0x46, > 1576 0x72, 0x61, 0x6d, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, > 1577 0x6f, 0x72, 0x6d, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0xa, > 1578 0, 0x5, 0, 0x41, 0x3f, 0xf2, 0xf6, 0x86, 0x76, 0xcf, > 1579 0x11, 0x8f, 0x52, 0, 0x40, 0x33, 0x35, 0x94, 0xa3, 0x1, > 1580 0, 0x9, 0, 0, 0, 0x4d, 0x61, 0x74, 0x72, 0x69, > 1581 0x78, 0x34, 0x78, 0x34, 0x1, 0, 0xb, 0, 0, 0, > 1582 0x66, 0x72, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x72, 0x69, > 1583 0x78, 0x14, 0, 0xb, 0, 0x1f, 0, 0x1, 0, 0x5, > 1584 0, 0, 0, 0x46, 0x72, 0x61, 0x6d, 0x65, 0xa, 0, > 1585 0x5, 0, 0x46, 0xab, 0x82, 0x3d, 0xda, 0x62, 0xcf, 0x11, > 1586 0xab, 0x39, 0, 0x20, 0xaf, 0x71, 0xe4, 0x33, 0xe, 0, > 1587 0x12, 0, 0x12, 0, 0x12, 0, 0xf, 0, 0xb, 0, > 1588 0x1f, 0, 0x1, 0, 0x9, 0, 0, 0, 0x46, 0x6c, > 1589 0x6f, 0x61, 0x74, 0x4b, 0x65, 0x79, 0x73, 0xa, 0, 0x5, > 1590 0, 0xa9, 0x46, 0xdd, 0x10, 0x5b, 0x77, 0xcf, 0x11, 0x8f, > 1591 0x52, 0, 0x40, 0x33, 0x35, 0x94, 0xa3, 0x29, 0, 0x1, > 1592 0, 0x7, 0, 0, 0, 0x6e, 0x56, 0x61, 0x6c, 0x75, > 1593 0x65, 0x73, 0x14, 0, 0x34, 0, 0x2a, 0, 0x1, 0, > 1594 0x6, 0, 0, 0, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, > 1595 0xe, 0, 0x1, 0, 0x7, 0, 0, 0, 0x6e, 0x56, > 1596 0x61, 0x6c, 0x75, 0x65, 0x73, 0xf, 0, 0x14, 0, 0xb, > 1597 0, 0x1f, 0, 0x1, 0, 0xe, 0, 0, 0, 0x54, > 1598 0x69, 0x6d, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4b, > 1599 0x65, 0x79, 0x73, 0xa, 0, 0x5, 0, 0x80, 0xb1, 0x6, > 1600 0xf4, 0x3b, 0x7b, 0xcf, 0x11, 0x8f, 0x52, 0, 0x40, 0x33, > 1601 0x35, 0x94, 0xa3, 0x29, 0, 0x1, 0, 0x4, 0, 0, > 1602 0, 0x74, 0x69, 0x6d, 0x65, 0x14, 0, 0x1, 0, 0x9, > 1603 0, 0, 0, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4b, 0x65, > 1604 0x79, 0x73, 0x1, 0, 0x6, 0, 0, 0, 0x74, 0x66, > 1605 0x6b, 0x65, 0x79, 0x73, 0x14, 0, 0xb, 0, 0x1f, 0, > 1606 0x1, 0, 0xc, 0, 0, 0, 0x41, 0x6e, 0x69, 0x6d, > 1607 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0xa, 0, > 1608 0x5, 0, 0xa8, 0x46, 0xdd, 0x10, 0x5b, 0x77, 0xcf, 0x11, > 1609 0x8f, 0x52, 0, 0x40, 0x33, 0x35, 0x94, 0xa3, 0x29, 0, > 1610 0x1, 0, 0x7, 0, 0, 0, 0x6b, 0x65, 0x79, 0x54, > 1611 0x79, 0x70, 0x65, 0x14, 0, 0x29, 0, 0x1, 0, 0x5, > 1612 0, 0, 0, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x14, 0, > 1613 0x34, 0, 0x1, 0, 0xe, 0, 0, 0, 0x54, 0x69, > 1614 0x6d, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4b, 0x65, > 1615 0x79, 0x73, 0x1, 0, 0x4, 0, 0, 0, 0x6b, 0x65, > 1616 0x79, 0x73, 0xe, 0, 0x1, 0, 0x5, 0, 0, 0, > 1617 0x6e, 0x4b, 0x65, 0x79, 0x73, 0xf, 0, 0x14, 0, 0xb, > 1618 0, 0x1f, 0, 0x1, 0, 0x10, 0, 0, 0, 0x41, > 1619 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, > 1620 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xa, 0, 0x5, 0, 0xc0, > 1621 0x56, 0xbf, 0xe2, 0xf, 0x84, 0xcf, 0x11, 0x8f, 0x52, 0, > 1622 0x40, 0x33, 0x35, 0x94, 0xa3, 0x29, 0, 0x1, 0, 0xa, > 1623 0, 0, 0, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6c, 0x6f, > 1624 0x73, 0x65, 0x64, 0x14, 0, 0x29, 0, 0x1, 0, 0xf, > 1625 0, 0, 0, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, > 1626 0x6e, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x14, 0, > 1627 0xb, 0, 0x1f, 0, 0x1, 0, 0x9, 0, 0, 0, > 1628 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0xa, > 1629 0, 0x5, 0, 0x4f, 0xab, 0x82, 0x3d, 0xda, 0x62, 0xcf, > 1630 0x11, 0xab, 0x39, 0, 0x20, 0xaf, 0x71, 0xe4, 0x33, 0xe, > 1631 0, 0x12, 0, 0x12, 0, 0x12, 0, 0xf, 0, 0xb, > 1632 0, 0x1f, 0, 0x1, 0, 0xc, 0, 0, 0, 0x41, > 1633 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, > 1634 0x74, 0xa, 0, 0x5, 0, 0x50, 0xab, 0x82, 0x3d, 0xda, > 1635 0x62, 0xcf, 0x11, 0xab, 0x39, 0, 0x20, 0xaf, 0x71, 0xe4, > 1636 0x33, 0xe, 0, 0x1, 0, 0x9, 0, 0, 0, 0x41, > 1637 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0xf, 0, > 1638 0xb, 0, 0x1f, 0, 0x1, 0, 0xa, 0, 0, 0, > 1639 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, > 1640 0xa, 0, 0x5, 0, 0xa0, 0xee, 0x23, 0x3a, 0xb1, 0x94, > 1641 0xd0, 0x11, 0xab, 0x39, 0, 0x20, 0xaf, 0x71, 0xe4, 0x33, > 1642 0xe, 0, 0x1, 0, 0x6, 0, 0, 0, 0x42, 0x49, > 1643 0x4e, 0x41, 0x52, 0x59, 0xf, 0, 0xb, 0, 0x1f, 0, > 1644 0x1, 0, 0x3, 0, 0, 0, 0x55, 0x72, 0x6c, 0xa, > 1645 0, 0x5, 0, 0xa1, 0xee, 0x23, 0x3a, 0xb1, 0x94, 0xd0, > 1646 0x11, 0xab, 0x39, 0, 0x20, 0xaf, 0x71, 0xe4, 0x33, 0x29, > 1647 0, 0x1, 0, 0x5, 0, 0, 0, 0x6e, 0x55, 0x72, > 1648 0x6c, 0x73, 0x14, 0, 0x34, 0, 0x31, 0, 0x1, 0, > 1649 0x4, 0, 0, 0, 0x75, 0x72, 0x6c, 0x73, 0xe, 0, > 1650 0x1, 0, 0x5, 0, 0, 0, 0x6e, 0x55, 0x72, 0x6c, > 1651 0x73, 0xf, 0, 0x14, 0, 0xb, 0, 0x1f, 0, 0x1, > 1652 0, 0xf, 0, 0, 0, 0x50, 0x72, 0x6f, 0x67, 0x72, > 1653 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x68, > 1654 0xa, 0, 0x5, 0, 0x60, 0xc3, 0x63, 0x8a, 0x7d, 0x99, > 1655 0xd0, 0x11, 0x94, 0x1c, 0, 0x80, 0xc8, 0xc, 0xfa, 0x7b, > 1656 0xe, 0, 0x1, 0, 0x3, 0, 0, 0, 0x55, 0x72, > 1657 0x6c, 0x13, 0, 0x1, 0, 0xa, 0, 0, 0, 0x49, > 1658 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0xf, > 1659 0, 0xb, 0, 0x1f, 0, 0x1, 0, 0x4, 0, 0, > 1660 0, 0x47, 0x75, 0x69, 0x64, 0xa, 0, 0x5, 0, 0xe0, > 1661 0x90, 0x27, 0xa4, 0x10, 0x78, 0xcf, 0x11, 0x8f, 0x52, 0, > 1662 0x40, 0x33, 0x35, 0x94, 0xa3, 0x29, 0, 0x1, 0, 0x5, > 1663 0, 0, 0, 0x64, 0x61, 0x74, 0x61, 0x31, 0x14, 0, > 1664 0x28, 0, 0x1, 0, 0x5, 0, 0, 0, 0x64, 0x61, > 1665 0x74, 0x61, 0x32, 0x14, 0, 0x28, 0, 0x1, 0, 0x5, > 1666 0, 0, 0, 0x64, 0x61, 0x74, 0x61, 0x33, 0x14, 0, > 1667 0x34, 0, 0x2d, 0, 0x1, 0, 0x5, 0, 0, 0, > 1668 0x64, 0x61, 0x74, 0x61, 0x34, 0xe, 0, 0x3, 0, 0x8, > 1669 0, 0, 0, 0xf, 0, 0x14, 0, 0xb, 0, 0x1f, > 1670 0, 0x1, 0, 0xe, 0, 0, 0, 0x53, 0x74, 0x72, > 1671 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, > 1672 0x79, 0xa, 0, 0x5, 0, 0xe0, 0x21, 0xf, 0x7f, 0xe1, > 1673 0xbf, 0xd1, 0x11, 0x82, 0xc0, 0, 0xa0, 0xc9, 0x69, 0x72, > 1674 0x71, 0x31, 0, 0x1, 0, 0x3, 0, 0, 0, 0x6b, > 1675 0x65, 0x79, 0x14, 0, 0x31, 0, 0x1, 0, 0x5, 0, > 1676 0, 0, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x14, 0, 0xb, > 1677 0, 0x1f, 0, 0x1, 0, 0xb, 0, 0, 0, 0x50, > 1678 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x42, 0x61, 0x67, > 1679 0xa, 0, 0x5, 0, 0xe1, 0x21, 0xf, 0x7f, 0xe1, 0xbf, > 1680 0xd1, 0x11, 0x82, 0xc0, 0, 0xa0, 0xc9, 0x69, 0x72, 0x71, > 1681 0xe, 0, 0x1, 0, 0xe, 0, 0, 0, 0x53, 0x74, > 1682 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, > 1683 0x74, 0x79, 0xf, 0, 0xb, 0, 0x1f, 0, 0x1, 0, > 1684 0xe, 0, 0, 0, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, > 1685 0x61, 0x6c, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0xa, 0, > 1686 0x5, 0, 0xa0, 0x6a, 0x11, 0x98, 0xba, 0xbd, 0xd1, 0x11, > 1687 0x82, 0xc0, 0, 0xa0, 0xc9, 0x69, 0x72, 0x71, 0x1, 0, > 1688 0x4, 0, 0, 0, 0x47, 0x75, 0x69, 0x64, 0x1, 0, > 1689 0x12, 0, 0, 0, 0x67, 0x75, 0x69, 0x64, 0x45, 0x78, > 1690 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x69, 0x73, 0x75, > 1691 0x61, 0x6c, 0x14, 0, 0xe, 0, 0x12, 0, 0x12, 0, > 1692 0x12, 0, 0xf, 0, 0xb, 0, 0x1f, 0, 0x1, 0, > 1693 0xb, 0, 0, 0, 0x52, 0x69, 0x67, 0x68, 0x74, 0x48, > 1694 0x61, 0x6e, 0x64, 0x65, 0x64, 0xa, 0, 0x5, 0, 0xa0, > 1695 0x5e, 0x5d, 0x7f, 0x3a, 0xd5, 0xd1, 0x11, 0x82, 0xc0, 0, > 1696 0xa0, 0xc9, 0x69, 0x72, 0x71, 0x29, 0, 0x1, 0, 0xc, > 1697 0, 0, 0, 0x62, 0x52, 0x69, 0x67, 0x68, 0x74, 0x48, > 1698 0x61, 0x6e, 0x64, 0x65, 0x64, 0x14, 0, 0xb, 0 > 1699 ]; > 1700 > 1701 const GUID DXFILEOBJ_XSkinMeshHeader = DEFINE_GUID!(0x3cf169ce, 0xff7c, 0x44ab, > 1702 const GUID DXFILEOBJ_VertexDuplicationIndices = DEFINE_GUID!(0xb8d65549, 0xd7c9, > 1703 const GUID DXFILEOBJ_FaceAdjacency = DEFINE_GUID!(0xa64c844a, 0xe282, 0x4756, 0x > 1704 const GUID DXFILEOBJ_SkinWeights = DEFINE_GUID!(0x6f0d123b, 0xbad2, 0x4167, 0xa0 > 1705 const GUID DXFILEOBJ_Patch = DEFINE_GUID!(0xa3eb5d44, 0xfc22, 0x429d, 0x9a, 0xfb > 1706 const GUID DXFILEOBJ_PatchMesh = DEFINE_GUID!(0xd02c95cc, 0xedba, 0x4305, 0x9b, > 1707 const GUID DXFILEOBJ_PatchMesh9 = DEFINE_GUID!(0xb9ec94e1, 0xb9a6, 0x4251, 0xba, > 1708 const GUID DXFILEOBJ_PMInfo = DEFINE_GUID!(0xb6c3e656, 0xec8b, 0x4b92, 0x9b, 0x6 > 1709 const GUID DXFILEOBJ_PMAttributeRange = DEFINE_GUID!(0x917e0427, 0xc61e, 0x4a14, > 1710 const GUID DXFILEOBJ_PMVSplitRecord = DEFINE_GUID!(0x574ccc14, 0xf0b3, 0x4333, 0 > 1711 const GUID DXFILEOBJ_FVFData = DEFINE_GUID!(0xb6e70a0e, 0x8ef9, 0x4e83, 0x94, 0x > 1712 const GUID DXFILEOBJ_VertexElement = DEFINE_GUID!(0xf752461c, 0x1e23, 0x48f6, 0x > 1713 const GUID DXFILEOBJ_DeclData = DEFINE_GUID!(0xbf22e553, 0x292c, 0x4781, 0x9f, 0 > 1714 const GUID DXFILEOBJ_EffectFloats = DEFINE_GUID!(0xf1cfe2b3, 0xde3, 0x4e28, 0xaf > 1715 const GUID DXFILEOBJ_EffectString = DEFINE_GUID!(0xd55b097e, 0xbdb6, 0x4c52, 0xb > 1716 const GUID DXFILEOBJ_EffectDWord = DEFINE_GUID!(0x622c0ed0, 0x956e, 0x4da9, 0x90 > 1717 const GUID DXFILEOBJ_EffectParamFloats = DEFINE_GUID!(0x3014b9a0, 0x62f5, 0x478c > 1718 const GUID DXFILEOBJ_EffectParamString = DEFINE_GUID!(0x1dbc4c88, 0x94c1, 0x46ee > 1719 const GUID DXFILEOBJ_EffectParamDWord = DEFINE_GUID!(0xe13963bc, 0xae51, 0x4c5d, > 1720 const GUID DXFILEOBJ_EffectInstance = DEFINE_GUID!(0xe331f7e4, 0x559, 0x4cc2, 0x > 1721 const GUID DXFILEOBJ_AnimTicksPerSecond = DEFINE_GUID!(0x9e415a43, 0x7ba6, 0x4a7 > 1722 const GUID DXFILEOBJ_CompressedAnimationSet = DEFINE_GUID!(0x7f9b00b3, 0xf125, 0 > 1723 > 1724 align(1) struct XFILECOMPRESSEDANIMATIONSET > 1725 { > 1726 DWORD CompressedBlockSize; > 1727 FLOAT TicksPerSec; > 1728 DWORD PlaybackType; > 1729 DWORD BufferLength; > 1730 } > 1731 > 1732 const char[] XSKINEXP_TEMPLATES = > 1733 "xof 0303txt 0032 > 1734 template XSkinMeshHeader > 1735 { > 1736 <3CF169CE-FF7C-44ab-93C0-F78F62D172E2> > 1737 WORD nMaxSkinWeightsPerVertex; > 1738 WORD nMaxSkinWeightsPerFace; > 1739 WORD nBones; > 1740 } > 1741 template VertexDuplicationIndices > 1742 { > 1743 <B8D65549-D7C9-4995-89CF-53A9A8B031E3> > 1744 DWORD nIndices; > 1745 DWORD nOriginalVertices; > 1746 array DWORD[nIndices] indices; > 1747 } > 1748 template FaceAdjacency > 1749 { > 1750 <A64C844A-E282-4756-8B80-250CDE04398C> > 1751 DWORD nIndices; > 1752 array DWORD[nIndices] indices; > 1753 } > 1754 template SkinWeights > 1755 { > 1756 <6F0D123B-BAD2-4167-A0D0-80224F25FABB> > 1757 STRING transformNodeName; > 1758 DWORD nWeights; > 1759 array DWORD[nWeights] vertexIndices; > 1760 array float[nWeights] weights; > 1761 Matrix4x4 matrixOffset; > 1762 } > 1763 template Patch > 1764 { > 1765 <A3EB5D44-FC22-429D-9AFB-3221CB9719A6> > 1766 DWORD nControlIndices; > 1767 array DWORD[nControlIndices] controlIndices; > 1768 } > 1769 template PatchMesh > 1770 { > 1771 <D02C95CC-EDBA-4305-9B5D-1820D7704BBF> > 1772 DWORD nVertices; > 1773 array Vector[nVertices] vertices; > 1774 DWORD nPatches; > 1775 array Patch[nPatches] patches; > 1776 [ ... ] > 1777 } > 1778 template PatchMesh9 > 1779 { > 1780 <B9EC94E1-B9A6-4251-BA18-94893F02C0EA> > 1781 DWORD Type; > 1782 DWORD Degree; > 1783 DWORD Basis; > 1784 DWORD nVertices; > 1785 array Vector[nVertices] vertices; > 1786 DWORD nPatches; > 1787 array Patch[nPatches] patches; > 1788 [ ... ] > 1789 } " > 1790 "template EffectFloats > 1791 { > 1792 <F1CFE2B3-0DE3-4e28-AFA1-155A750A282D> > 1793 DWORD nFloats; > 1794 array float[nFloats] Floats; > 1795 } > 1796 template EffectString > 1797 { > 1798 <D55B097E-BDB6-4c52-B03D-6051C89D0E42> > 1799 STRING Value; > 1800 } > 1801 template EffectDWord > 1802 { > 1803 <622C0ED0-956E-4da9-908A-2AF94F3CE716> > 1804 DWORD Value; > 1805 } " > 1806 "template EffectParamFloats > 1807 { > 1808 <3014B9A0-62F5-478c-9B86-E4AC9F4E418B> > 1809 STRING ParamName; > 1810 DWORD nFloats; > 1811 array float[nFloats] Floats; > 1812 } " > 1813 "template EffectParamString > 1814 { > 1815 <1DBC4C88-94C1-46ee-9076-2C28818C9481> > 1816 STRING ParamName; > 1817 STRING Value; > 1818 } > 1819 template EffectParamDWord > 1820 { > 1821 <E13963BC-AE51-4c5d-B00F-CFA3A9D97CE5> > 1822 STRING ParamName; > 1823 DWORD Value; > 1824 } > 1825 template EffectInstance > 1826 { > 1827 <E331F7E4-0559-4cc2-8E99-1CEC1657928F> > 1828 STRING EffectFilename; > 1829 [ ... ] > 1830 } " > 1831 "template AnimTicksPerSecond > 1832 { > 1833 <9E415A43-7BA6-4a73-8743-B73D47E88476> > 1834 DWORD AnimTicksPerSecond; > 1835 } > 1836 template CompressedAnimationSet > 1837 { > 1838 <7F9B00B3-F125-4890-876E-1C42BF697C4D> > 1839 DWORD CompressedBlockSize; > 1840 FLOAT TicksPerSec; > 1841 DWORD PlaybackType; > 1842 DWORD BufferLength; > 1843 array DWORD[BufferLength] CompressedData; > 1844 } "; > 1845 > 1846 const char[] XEXTENSIONS_TEMPLATES = > 1847 "xof 0303txt 0032 > 1848 template FVFData > 1849 { > 1850 <B6E70A0E-8EF9-4e83-94AD-ECC8B0C04897> > 1851 DWORD dwFVF; > 1852 DWORD nDWords; > 1853 array DWORD[nDWords] data; > 1854 } > 1855 template VertexElement > 1856 { > 1857 <F752461C-1E23-48f6-B9F8-8350850F336F> > 1858 DWORD Type; > 1859 DWORD Method; > 1860 DWORD Usage; > 1861 DWORD UsageIndex; > 1862 } > 1863 template DeclData > 1864 { > 1865 <BF22E553-292C-4781-9FEA-62BD554BDD93> > 1866 DWORD nElements; > 1867 array VertexElement[nElements] Elements; > 1868 DWORD nDWords; > 1869 array DWORD[nDWords] data; > 1870 } > 1871 template PMAttributeRange > 1872 { > 1873 <917E0427-C61E-4a14-9C64-AFE65F9E9844> > 1874 DWORD iFaceOffset; > 1875 DWORD nFacesMin; > 1876 DWORD nFacesMax; > 1877 DWORD iVertexOffset; > 1878 DWORD nVerticesMin; > 1879 DWORD nVerticesMax; > 1880 } > 1881 template PMVSplitRecord > 1882 { > 1883 <574CCC14-F0B3-4333-822D-93E8A8A08E4C> > 1884 DWORD iFaceCLW; > 1885 DWORD iVlrOffset; > 1886 DWORD iCode; > 1887 } > 1888 template PMInfo > 1889 { > 1890 <B6C3E656-EC8B-4b92-9B62-681659522947> > 1891 DWORD nAttributes; > 1892 array PMAttributeRange[nAttributes] attributeRanges; > 1893 DWORD nMaxValence; > 1894 DWORD nMinLogicalVertices; > 1895 DWORD nMaxLogicalVertices; > 1896 DWORD nVSplits; > 1897 array PMVSplitRecord[nVSplits] splitRecords; > 1898 DWORD nAttributeMispredicts; > 1899 array DWORD[nAttributeMispredicts] attributeMispredicts; > 1900 } "; > 1901 > 1902 enum : uint > 1903 { > 1904 D3DXF_FILEFORMAT_BINARY = 0, > 1905 D3DXF_FILEFORMAT_TEXT = 1, > 1906 D3DXF_FILEFORMAT_COMPRESSED = 2 > 1907 } > 1908 alias uint D3DXF_FILEFORMAT; > 1909 > 1910 enum : uint > 1911 { > 1912 D3DXF_FILESAVE_TOFILE = 0x00L, > 1913 D3DXF_FILESAVE_TOWFILE = 0x01L > 1914 } > 1915 alias uint D3DXF_FILESAVEOPTIONS; > 1916 > 1917 enum : uint > 1918 { > 1919 D3DXF_FILELOAD_FROMFILE = 0x00L, > 1920 D3DXF_FILELOAD_FROMWFILE = 0x01L, > 1921 D3DXF_FILELOAD_FROMRESOURCE = 0x02L, > 1922 D3DXF_FILELOAD_FROMMEMORY = 0x03L > 1923 } > 1924 alias uint D3DXF_FILELOADOPTIONS; > 1925 > 1926 struct D3DXF_FILELOADRESOURCE > 1927 { > 1928 HMODULE hModule; // Desc > 1929 LPCSTR lpName; // Desc > 1930 LPCSTR lpType; // Desc > 1931 } > 1932 > 1933 struct D3DXF_FILELOADMEMORY > 1934 { > 1935 LPCVOID lpMemory; // Desc > 1936 size_t dSize; // Desc > 1937 } > 1938 > 1939 const GUID IID_ID3DXFile = DEFINE_GUID!(0xcef08cf9, 0x7b4f, 0x4429, 0x96, 0x24, > 1940 const GUID IID_ID3DXFileSaveObject = DEFINE_GUID!(0xcef08cfa, 0x7b4f, 0x4429, 0x > 1941 const GUID IID_ID3DXFileSaveData = DEFINE_GUID!(0xcef08cfb, 0x7b4f, 0x4429, 0x96 > 1942 const GUID IID_ID3DXFileEnumObject = DEFINE_GUID!(0xcef08cfc, 0x7b4f, 0x4429, 0x > 1943 const GUID IID_ID3DXFileData = DEFINE_GUID!(0xcef08cfd, 0x7b4f, 0x4429, 0x96, 0x > 1944 > 1945 interface ID3DXFile : IUnknown > 1946 { > 1947 HRESULT CreateEnumObject(LPCVOID, D3DXF_FILELOADOPTIONS, ID3DXFileEnumObject > 1948 HRESULT CreateSaveObject(LPCVOID, D3DXF_FILESAVEOPTIONS, D3DXF_FILEFORMAT, I > 1949 HRESULT RegisterTemplates(LPCVOID, size_t); > 1950 HRESULT RegisterEnumTemplates(ID3DXFileEnumObject); > 1951 } > 1952 > 1953 interface ID3DXFileSaveObject : IUnknown > 1954 { > 1955 HRESULT GetFile(ID3DXFile*); > 1956 HRESULT AddDataObject(GUID*, LPCSTR, GUID*, size_t, LPCVOID, ID3DXFileSaveDa > 1957 HRESULT Save(); > 1958 } > 1959 > 1960 interface ID3DXFileSaveData : IUnknown > 1961 { > 1962 HRESULT GetSave(ID3DXFileSaveObject*); > 1963 HRESULT GetName(LPSTR, size_t*); > 1964 HRESULT GetId(GUID*); > 1965 HRESULT GetType(GUID*); > 1966 HRESULT AddDataObject(GUID*, LPCSTR, GUID*, size_t, LPCVOID, ID3DXFileSaveDa > 1967 HRESULT AddDataReference(LPCSTR, GUID* ); > 1968 } > 1969 > 1970 interface ID3DXFileEnumObject : IUnknown > 1971 { > 1972 HRESULT GetFile(ID3DXFile*); > 1973 HRESULT GetChildren(size_t*); > 1974 HRESULT GetChild(size_t, ID3DXFileData*); > 1975 HRESULT GetDataObjectById(REFGUID, ID3DXFileData*); > 1976 HRESULT GetDataObjectByName(LPCSTR, ID3DXFileData*); > 1977 } > 1978 > 1979 interface ID3DXFileData : IUnknown > 1980 { > 1981 HRESULT GetEnum(ID3DXFileEnumObject*); > 1982 HRESULT GetName(LPSTR, size_t*); > 1983 HRESULT GetId(GUID*); > 1984 HRESULT Lock(size_t*, LPCVOID*); > 1985 HRESULT Unlock(); > 1986 HRESULT GetType(GUID*); > 1987 BOOL IsReference(); > 1988 HRESULT GetChildren(size_t*); > 1989 HRESULT GetChild(size_t, ID3DXFileData*); > 1990 }

Added src/win32/directx/d3dx9.def version [9586cdec987a21cb]

> 1 IMPORTS > 2 _D3DXConcatenateMeshes@32 = d3dx9_29.D3DXConcatenateMeshes > 3 _D3DXCreateBox@24 = d3dx9_29.D3DXCreateBox > 4 _D3DXCreateCubeTexture@28 = d3dx9_29.D3DXCreateCubeTexture > 5 _D3DXCreateCubeTextureFromFileExA@52 = d3dx9_29.D3DXCreateCubeTextureFromFileExA > 6 _D3DXCreateCylinder@32 = d3dx9_29.D3DXCreateCylinder > 7 _D3DXCreateFontA@48 = d3dx9_29.D3DXCreateFontA > 8 _D3DXCreatePolygon@20 = d3dx9_29.D3DXCreatePolygon > 9 _D3DXCreateSkinInfoFVF@16 = d3dx9_29.D3DXCreateSkinInfoFVF > 10 _D3DXCreateSphere@24 = d3dx9_29.D3DXCreateSphere > 11 _D3DXCreateSprite@8 = d3dx9_29.D3DXCreateSprite > 12 _D3DXCreateTeapot@12 = d3dx9_29.D3DXCreateTeapot > 13 _D3DXCreateTexture@32 = d3dx9_29.D3DXCreateTexture > 14 _D3DXCreateTextureFromFileExA@56 = d3dx9_29.D3DXCreateTextureFromFileExA > 15 _D3DXCreateTextureFromFileA@12 = d3dx9_29.D3DXCreateTextureFromFileA > 16 _D3DXCreateTorus@28 = d3dx9_29.D3DXCreateTorus > 17 _D3DXFileCreate@4 = d3dx9_29.D3DXFileCreate > 18 _D3DXGetDeclVertexSize@8 = d3dx9_29.D3DXGetDeclVertexSize > 19 _D3DXLoadMeshFromXof@32 = d3dx9_29.D3DXLoadMeshFromXof > 20 _D3DXMatrixDecompose@16 = d3dx9_29.D3DXMatrixDecompose > 21 _D3DXMatrixInverse@12 = d3dx9_29.D3DXMatrixInverse > 22 _D3DXMatrixMultiply@12 = d3dx9_29.D3DXMatrixMultiply > 23 _D3DXMatrixOrthoOffCenterLH@28 = d3dx9_29.D3DXMatrixOrthoOffCenterLH > 24 _D3DXMatrixPerspectiveFovLH@20 = d3dx9_29.D3DXMatrixPerspectiveFovLH > 25 _D3DXMatrixRotationQuaternion@8 = d3dx9_29.D3DXMatrixRotationQuaternion > 26 _D3DXMatrixRotationX@8 = d3dx9_29.D3DXMatrixRotationX > 27 _D3DXMatrixRotationY@8 = d3dx9_29.D3DXMatrixRotationY > 28 _D3DXMatrixRotationYawPitchRoll@16 = d3dx9_29.D3DXMatrixRotationYawPitchRoll > 29 _D3DXMatrixRotationZ@8 = d3dx9_29.D3DXMatrixRotationZ > 30 _D3DXMatrixScaling@16 = d3dx9_29.D3DXMatrixScaling > 31 _D3DXMatrixTransformation2D@28 = d3dx9_29.D3DXMatrixTransformation2D > 32 _D3DXMatrixTranslation@16 = d3dx9_29.D3DXMatrixTranslation > 33 _D3DXPlaneNormalize@8 = d3dx9_29.D3DXPlaneNormalize > 34 _D3DXQuaternionNormalize@8 = d3dx9_29.D3DXQuaternionNormalize > 35 _D3DXQuaternionRotationYawPitchRoll@16 = d3dx9_29.D3DXQuaternionRotationYawPitch > 36 _D3DXQuaternionSlerp@16 = d3dx9_29.D3DXQuaternionSlerp > 37 _D3DXQuaternionSquad@24 = d3dx9_29.D3DXQuaternionSquad > 38 _D3DXQuaternionSquadSetup@28 = d3dx9_29.D3DXQuaternionSquadSetup > 39 _D3DXSimplifyMesh@28 = d3dx9_29.D3DXSimplifyMesh > 40 _D3DXVec2TransformCoord@12 = d3dx9_29.D3DXVec2TransformCoord > 41 _D3DXVec3CatmullRom@24 = d3dx9_29.D3DXVec3CatmullRom > 42 _D3DXVec3TransformCoord@12 = d3dx9_29.D3DXVec3TransformCoord > 43 _D3DXCreateEffect@36 = d3dx9_29.D3DXCreateEffect > 44 _D3DXCreateEffectFromFileA@32 = d3dx9_29.D3DXCreateEffectFromFileA > 45 _D3DXCreateEffectPool@4 = d3dx9_29.D3DXCreateEffectPool > 46 _D3DXGetShaderInputSemantics@12 = d3dx9_29.D3DXGetShaderInputSemantics > 47 _D3DXGetShaderVersion@4 = d3dx9_29.D3DXGetShaderVersion > 48 _D3DXMatrixTranspose@8 = d3dx9_29.D3DXMatrixTranspose

Added src/win32/directx/dinput8.d version [8fb075b61afe872c]

> 1 module win32.directx.dinput8; > 2 > 3 //import tango.sys.win32.Types; > 4 //alias char CHAR; > 5 > 6 import win32.windows; > 7 > 8 enum { > 9 CLASS_E_NOAGGREGATION = cast(int) 0x80040110, > 10 } > 11 > 12 interface IUnknown { > 13 HRESULT QueryInterface(IID* riid, void** pvObject); > 14 ULONG AddRef(); > 15 ULONG Release(); > 16 } > 17 > 18 extern(C): > 19 > 20 struct DIDEVICEINSTANCEA > 21 { > 22 DWORD dwSize; > 23 GUID guidInstance; > 24 GUID guidProduct; > 25 DWORD dwDevType; > 26 CHAR[MAX_PATH] tszInstanceName; > 27 CHAR[MAX_PATH] tszProductName; > 28 GUID guidFFDriver; > 29 WORD wUsagePage; > 30 WORD wUsage; > 31 } > 32 alias DIDEVICEINSTANCEA DIDEVICEINSTANCE; > 33 > 34 struct DIDEVICEOBJECTINSTANCEA > 35 { > 36 DWORD dwSize; > 37 GUID guidType; > 38 DWORD dwOfs; > 39 DWORD dwType; > 40 DWORD dwFlags; > 41 CHAR[MAX_PATH] tszName; > 42 DWORD dwFFMaxForce; > 43 DWORD dwFFForceResolution; > 44 WORD wCollectionNumber; > 45 WORD wDesignatorIndex; > 46 WORD wUsagePage; > 47 WORD wUsage; > 48 DWORD dwDimension; > 49 WORD wExponent; > 50 WORD wReportId; > 51 } > 52 > 53 struct DIOBJECTDATAFORMAT > 54 { > 55 const GUID *pguid; > 56 DWORD dwOfs; > 57 DWORD dwType; > 58 DWORD dwFlags; > 59 } > 60 > 61 struct DIDATAFORMAT > 62 { > 63 DWORD dwSize; > 64 DWORD dwObjSize; > 65 DWORD dwFlags; > 66 DWORD dwDataSize; > 67 DWORD dwNumObjs; > 68 DIOBJECTDATAFORMAT* rgodf; > 69 } > 70 > 71 extern DIDATAFORMAT c_dfDIKeyboard; > 72 extern DIDATAFORMAT c_dfDIMouse2; > 73 extern DIDATAFORMAT c_dfDIJoystick; > 74 > 75 struct DIACTIONA > 76 { > 77 UINT* uAppData; > 78 DWORD dwSemantic; > 79 DWORD dwFlags; > 80 union > 81 { > 82 LPCSTR lptszActionName; > 83 UINT uResIdString; > 84 } > 85 GUID guidInstance; > 86 DWORD dwObjID; > 87 DWORD dwHow; > 88 } > 89 > 90 struct DIACTIONFORMATA > 91 { > 92 DWORD dwSize; > 93 DWORD dwActionSize; > 94 DWORD dwDataSize; > 95 DWORD dwNumActions; > 96 DIACTIONA* rgoAction; > 97 GUID guidActionMap; > 98 DWORD dwGenre; > 99 DWORD dwBufferSize; > 100 LONG lAxisMin; > 101 LONG lAxisMax; > 102 HINSTANCE hInstString; > 103 FILETIME ftTimeStamp; > 104 DWORD dwCRC; > 105 CHAR[MAX_PATH] tszActionMap; > 106 } > 107 > 108 struct DIDEVCAPS > 109 { > 110 DWORD dwSize; > 111 DWORD dwFlags; > 112 DWORD dwDevType; > 113 DWORD dwAxes; > 114 DWORD dwButtons; > 115 DWORD dwPOVs; > 116 DWORD dwFFSamplePeriod; > 117 DWORD dwFFMinTimeResolution; > 118 DWORD dwFirmwareRevision; > 119 DWORD dwHardwareRevision; > 120 DWORD dwFFDriverVersion; > 121 } > 122 > 123 struct DIPROPHEADER > 124 { > 125 DWORD dwSize; > 126 DWORD dwHeaderSize; > 127 DWORD dwObj; > 128 DWORD dwHow; > 129 } > 130 > 131 struct DIDEVICEOBJECTDATA > 132 { > 133 DWORD dwOfs; > 134 DWORD dwData; > 135 DWORD dwTimeStamp; > 136 DWORD dwSequence; > 137 UINT* uAppData; > 138 } > 139 > 140 struct DIENVELOPE > 141 { > 142 DWORD dwSize = DIENVELOPE.sizeof; > 143 DWORD dwAttackLevel; > 144 DWORD dwAttackTime; // Microseconds > 145 DWORD dwFadeLevel; > 146 DWORD dwFadeTime; // Microseconds > 147 } > 148 > 149 struct DIEFFECT > 150 { > 151 DWORD dwSize = DIEFFECT.sizeof; > 152 DWORD dwFlags; // DIEFF_* > 153 DWORD dwDuration; // Microseconds > 154 DWORD dwSamplePeriod; // Microseconds > 155 DWORD dwGain; > 156 DWORD dwTriggerButton; // or DIEB_NOTRIGGER > 157 DWORD dwTriggerRepeatInterval; // Microseconds > 158 DWORD cAxes; // Number of axes > 159 LPDWORD rgdwAxes; // Array of axes > 160 LPLONG rglDirection; // Array of directions > 161 DIENVELOPE* lpEnvelope; // Optional > 162 DWORD cbTypeSpecificParams; // Size of params > 163 LPVOID lpvTypeSpecificParams; // Pointer to params > 164 DWORD dwStartDelay; // Microseconds > 165 } > 166 > 167 struct DIEFFESCAPE > 168 { > 169 DWORD dwSize; > 170 DWORD dwCommand; > 171 LPVOID lpvInBuffer; > 172 DWORD cbInBuffer; > 173 LPVOID lpvOutBuffer; > 174 DWORD cbOutBuffer; > 175 } > 176 > 177 struct DIEFFECTINFOA > 178 { > 179 DWORD dwSize; > 180 GUID guid; > 181 DWORD dwEffType; > 182 DWORD dwStaticParams; > 183 DWORD dwDynamicParams; > 184 CHAR[MAX_PATH] tszName; > 185 } > 186 > 187 struct DIFILEEFFECT > 188 { > 189 DWORD dwSize; > 190 GUID GuidEffect; > 191 DIEFFECT* lpDiEffect; > 192 CHAR[MAX_PATH] szFriendlyName; > 193 } > 194 > 195 struct DIDEVICEIMAGEINFOA > 196 { > 197 CHAR[MAX_PATH] tszImagePath; > 198 DWORD dwFlags; > 199 // These are valid if DIDIFT_OVERLAY is present in dwFlags. > 200 DWORD dwViewID; > 201 RECT rcOverlay; > 202 DWORD dwObjID; > 203 DWORD dwcValidPts; > 204 POINT[5] rgptCalloutLine; > 205 RECT rcCalloutRect; > 206 DWORD dwTextAlign; > 207 } > 208 > 209 struct DIDEVICEIMAGEINFOHEADERA > 210 { > 211 DWORD dwSize; > 212 DWORD dwSizeImageInfo; > 213 DWORD dwcViews; > 214 DWORD dwcButtons; > 215 DWORD dwcAxes; > 216 DWORD dwcPOVs; > 217 DWORD dwBufferSize; > 218 DWORD dwBufferUsed; > 219 DIDEVICEIMAGEINFOA* lprgImageInfoArray; > 220 } > 221 > 222 struct DICONFIGUREDEVICESPARAMSA > 223 { > 224 DWORD dwSize; > 225 DWORD dwcUsers; > 226 LPSTR lptszUserNames; > 227 DWORD dwcFormats; > 228 DIACTIONFORMATA* lprgFormats; > 229 HWND hwnd; > 230 DICOLORSET dics; > 231 IUnknown lpUnkDDSTarget; > 232 } > 233 > 234 struct DICOLORSET > 235 { > 236 DWORD dwSize; > 237 DWORD cTextFore; > 238 DWORD cTextHighlight; > 239 DWORD cCalloutLine; > 240 DWORD cCalloutHighlight; > 241 DWORD cBorder; > 242 DWORD cControlFill; > 243 DWORD cHighlightFill; > 244 DWORD cAreaFill; > 245 } > 246 > 247 struct DIMOUSESTATE2 > 248 { > 249 LONG lX; > 250 LONG lY; > 251 LONG lZ; > 252 BYTE[8] rgbButtons; > 253 } > 254 > 255 struct DIJOYSTATE > 256 { > 257 LONG lX; /* x-axis position */ > 258 LONG lY; /* y-axis position */ > 259 LONG lZ; /* z-axis position */ > 260 LONG lRx; /* x-axis rotation */ > 261 LONG lRy; /* y-axis rotation */ > 262 LONG lRz; /* z-axis rotation */ > 263 LONG[2] rglSlider; /* extra axes positions */ > 264 DWORD[4]rgdwPOV; /* POV directions */ > 265 BYTE[32]rgbButtons; /* 32 buttons */ > 266 } > 267 > 268 struct DIPROPRANGE > 269 { > 270 DIPROPHEADER diph; > 271 LONG lMin; > 272 LONG lMax; > 273 } > 274 > 275 interface IDirectInputEffect : IUnknown > 276 { > 277 HRESULT Initialize(HINSTANCE, DWORD, GUID*); > 278 HRESULT GetEffectGuid(GUID*); > 279 HRESULT GetParameters(DIEFFECT*, DWORD); > 280 HRESULT SetParameters(DIEFFECT*, DWORD); > 281 HRESULT Start(DWORD, DWORD); > 282 HRESULT Stop(); > 283 HRESULT GetEffectStatus(LPDWORD); > 284 HRESULT Download(); > 285 HRESULT Unload(); > 286 HRESULT Escape(DIEFFESCAPE*); > 287 } > 288 > 289 extern(Windows) alias bool function(DIDEVICEINSTANCEA*, LPVOID) LPDIENUMDEVICESC > 290 extern(Windows) alias bool function(DIDEVICEINSTANCEA*, IDirectInputDevice8A*, D > 291 > 292 extern(Windows) alias bool function(DIDEVICEOBJECTINSTANCEA *didoi, void* pConte > 293 > 294 extern(Windows) alias bool function(DIEFFECTINFOA*, LPVOID) LPDIENUMEFFECTSCALLB > 295 extern(Windows) alias bool function(IDirectInputEffect, LPVOID) LPDIENUMCREATEDE > 296 extern(Windows) alias bool function(DIFILEEFFECT* , LPVOID) LPDIENUMEFFECTSINFIL > 297 extern(Windows) alias bool function(IUnknown, LPVOID) LPDICONFIGUREDEVICESCALLBA > 298 > 299 interface IDirectInputDevice8A : IUnknown > 300 { > 301 HRESULT GetCapabilities(DIDEVCAPS*); > 302 HRESULT EnumObjects(LPDIENUMDEVICEOBJECTSCALLBACKA, VOID*, DWORD); > 303 HRESULT GetProperty(GUID*, DIPROPHEADER*); > 304 HRESULT SetProperty(GUID*, DIPROPHEADER*); > 305 HRESULT Acquire(); > 306 HRESULT Unacquire(); > 307 HRESULT GetDeviceState(DWORD, LPVOID); > 308 HRESULT GetDeviceData(DWORD, DIDEVICEOBJECTDATA*, LPDWORD, DWORD); > 309 HRESULT SetDataFormat(DIDATAFORMAT*); > 310 HRESULT SetEventNotification(HANDLE); > 311 HRESULT SetCooperativeLevel(HWND, DWORD); > 312 HRESULT GetObjectInfo(DIDEVICEOBJECTINSTANCEA*, DWORD, DWORD); > 313 HRESULT GetDeviceInfo(DIDEVICEINSTANCEA*); > 314 HRESULT RunControlPanel(HWND, DWORD); > 315 HRESULT Initialize(HINSTANCE, DWORD, GUID*); > 316 HRESULT CreateEffect(GUID*, DIEFFECT*, IDirectInputEffect*, IUnknown); > 317 HRESULT EnumEffects(LPDIENUMEFFECTSCALLBACKA, LPVOID, DWORD); > 318 HRESULT GetEffectInfo(DIEFFECTINFOA*, GUID*); > 319 HRESULT GetForceFeedbackState(LPDWORD); > 320 HRESULT SendForceFeedbackCommand(DWORD); > 321 HRESULT EnumCreatedEffectObjects(LPDIENUMCREATEDEFFECTOBJECTSCALLBACK, LPVOI > 322 HRESULT Escape(DIEFFESCAPE*); > 323 HRESULT Poll(); > 324 HRESULT SendDeviceData(DWORD, DIDEVICEOBJECTDATA*, LPDWORD, DWORD); > 325 HRESULT EnumEffectsInFile(LPCSTR, LPDIENUMEFFECTSINFILECALLBACK, LPVOID, DWO > 326 HRESULT WriteEffectToFile(LPCSTR, DWORD, DIFILEEFFECT*, DWORD); > 327 HRESULT BuildActionMap(DIACTIONFORMATA*, LPCSTR, DWORD); > 328 HRESULT SetActionMap(DIACTIONFORMATA*, LPCSTR, DWORD); > 329 HRESULT GetImageInfo(DIDEVICEIMAGEINFOHEADERA*); > 330 } > 331 alias IDirectInputDevice8A IDirectInputDevice8; > 332 > 333 interface IDirectInput8A : IUnknown > 334 { > 335 extern(Windows): > 336 HRESULT CreateDevice(GUID*, IDirectInputDevice8A*, IUnknown); > 337 HRESULT EnumDevices(DWORD, LPDIENUMDEVICESCALLBACKA, LPVOID, DWORD); > 338 HRESULT GetDeviceStatus(GUID*); > 339 HRESULT RunControlPanel(HWND, DWORD); > 340 HRESULT Initialize(HINSTANCE, DWORD); > 341 HRESULT FindDevice(GUID*, LPCSTR, GUID*); > 342 HRESULT EnumDevicesBySemantics(LPCSTR, DIACTIONFORMATA*, LPDIENUMDEVICESBYSE > 343 HRESULT ConfigureDevices(LPDICONFIGUREDEVICESCALLBACK, DICONFIGUREDEVICESPAR > 344 } > 345 alias IDirectInput8A IDirectInput8; > 346 > 347 extern(Windows) HRESULT DirectInput8Create(HINSTANCE hinst, DWORD dwVersion, GUI > 348 > 349 const GUID IID_IDirectInput8A={0xBF798030, 0x483A, 0x4DA2, [0xAA, 0x99, 0x5D, 0x > 350 alias IID_IDirectInput8A IID_IDirectInput8; > 351 const GUID GUID_SysKeyboard = {0x6F1D2B61, 0xD5A0, 0x11CF, [0xBF, 0xC7, 0x44, 0x > 352 const GUID GUID_SysMouse = {0x6F1D2B60, 0xD5A0, 0x11CF, [0xBF, 0xC7, 0x44, 0x > 353 const GUID GUID_XAxis = {0xA36D02E0, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x > 354 const GUID GUID_YAxis = {0xA36D02E1, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x > 355 const GUID GUID_ZAxis = {0xA36D02E2, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x > 356 const GUID GUID_RxAxis = {0xA36D02F4, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x > 357 const GUID GUID_RyAxis = {0xA36D02F5, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x > 358 const GUID GUID_RzAxis = {0xA36D02E3, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x > 359 const GUID GUID_Slider = {0xA36D02E4, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x > 360 const GUID GUID_Key = {0x55728220, 0xD33C, 0x11CF, [0xBF, 0xC7, 0x44, 0x > 361 const GUID GUID_POV = {0xA36D02F2, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x > 362 > 363 enum : uint > 364 { > 365 DISCL_EXCLUSIVE= 0x00000001, > 366 DISCL_NONEXCLUSIVE= 0x00000002, > 367 DISCL_FOREGROUND= 0x00000004, > 368 DISCL_BACKGROUND= 0x00000008, > 369 DISCL_NOWINKEY= 0x00000010, > 370 > 371 DIPH_DEVICE=0, > 372 DIPH_BYOFFSET=1, > 373 > 374 DI8DEVCLASS_GAMECTRL=4, > 375 DIEDFL_ATTACHEDONLY= 0x00000001, > 376 DIDFT_AXIS= 0x00000003 > 377 } > 378 > 379 enum > 380 { > 381 SEVERITY_SUCCESS= 0, > 382 SEVERITY_ERROR= 1, > 383 FACILITY_WIN32= 7, > 384 ERROR_READ_FAULT= 30L, > 385 DIENUM_CONTINUE= 1, > 386 DIPH_BYID= 2 > 387 } > 388 > 389 struct DIPROPDWORD > 390 { > 391 DIPROPHEADER diph; > 392 DWORD dwData; > 393 } > 394 > 395 template MAKE_HRESULT(uint sev, uint fac, uint code) > 396 { > 397 const HRESULT MAKE_HRESULT = cast(HRESULT)((sev << 31) | (fac << 16) | c > 398 } > 399 > 400 const HRESULT DIERR_OLDDIRECTINPUTVERSION = MAKE_HRESULT!(SEVERITY_E > 401 const HRESULT DIERR_BETADIRECTINPUTVERSION = MAKE_HRESULT!(SEVERITY_E > 402 const HRESULT DIERR_BADDRIVERVER = MAKE_HRESULT!(SEVERITY_E > 403 const HRESULT DIERR_DEVICENOTREG = 0x80040154; > 404 const HRESULT DIERR_NOTFOUND = MAKE_HRESULT!(SEVERITY_E > 405 const HRESULT DIERR_OBJECTNOTFOUND = MAKE_HRESULT!(SEVERITY_E > 406 const HRESULT DIERR_INVALIDPARAM = E_INVALIDARG; > 407 const HRESULT DIERR_NOINTERFACE = E_NOINTERFACE; > 408 const HRESULT DIERR_GENERIC = E_FAIL; > 409 const HRESULT DIERR_OUTOFMEMORY = E_OUTOFMEMORY; > 410 const HRESULT DIERR_UNSUPPORTED = E_NOTIMPL; > 411 const HRESULT DIERR_NOTINITIALIZED = MAKE_HRESULT!(SEVERITY_E > 412 const HRESULT DIERR_ALREADYINITIALIZED = MAKE_HRESULT!(SEVERITY_E > 413 const HRESULT DIERR_NOAGGREGATION = CLASS_E_NOAGGREGATION; > 414 const HRESULT DIERR_OTHERAPPHASPRIO = 0x80070005; > 415 const HRESULT DIERR_INPUTLOST = MAKE_HRESULT!(SEVERITY_E > 416 const HRESULT DIERR_ACQUIRED = MAKE_HRESULT!(SEVERITY_E > 417 const HRESULT DIERR_NOTACQUIRED = MAKE_HRESULT!(SEVERITY_E > 418 const HRESULT DIERR_READONLY = 0x80070005; > 419 const HRESULT DIERR_HANDLEEXISTS = 0x80070005; > 420 const HRESULT DIERR_INSUFFICIENTPRIVS = 0x80040200; > 421 const HRESULT DIERR_DEVICEFULL = 0x80040201; > 422 const HRESULT DIERR_MOREDATA = 0x80040202; > 423 const HRESULT DIERR_NOTDOWNLOADED = 0x80040203; > 424 const HRESULT DIERR_HASEFFECTS = 0x80040204; > 425 const HRESULT DIERR_NOTEXCLUSIVEACQUIRED = 0x80040205; > 426 const HRESULT DIERR_INCOMPLETEEFFECT = 0x80040206; > 427 const HRESULT DIERR_NOTBUFFERED = 0x80040207; > 428 const HRESULT DIERR_EFFECTPLAYING = 0x80040208; > 429 const HRESULT DIERR_UNPLUGGED = 0x80040209; > 430 const HRESULT DIERR_REPORTFULL = 0x8004020A; > 431 const HRESULT DIERR_MAPFILEFAIL = 0x8004020B;

Added src/win32/directx/dinput8.def version [1cdb1e6b2d148f1f]

> 1 IMPORTS > 2 _DirectInput8Create@20 = dinput8.DirectInput8Create

Added src/win32/directx/dsound8.d version [21a914ceb449058e]

> 1 module win32.directx.dsound8; > 2 > 3 //import tango.sys.win32.Types; > 4 import win32.windows; > 5 > 6 alias GUID* LPCGUID; > 7 > 8 interface IUnknown > 9 { > 10 HRESULT QueryInterface(IID* riid, void** pvObject); > 11 ULONG AddRef(); > 12 ULONG Release(); > 13 } > 14 > 15 alias IUnknown LPUNKNOWN; > 16 > 17 interface IDirectSound : IUnknown > 18 { > 19 extern(Windows): > 20 > 21 // IDirectSound methods > 22 HRESULT CreateSoundBuffer (LPCDSBUFFERDESC pcDSBufferDesc, LPDIRECTSOUNDB > 23 HRESULT GetCaps (LPDSCAPS pDSCaps); > 24 HRESULT DuplicateSoundBuffer (LPDIRECTSOUNDBUFFER pDSBufferOriginal, LPDIREC > 25 HRESULT SetCooperativeLevel (HWND hwnd, DWORD dwLevel); > 26 HRESULT Compact (); > 27 HRESULT GetSpeakerConfig (LPDWORD pdwSpeakerConfig); > 28 HRESULT SetSpeakerConfig (DWORD dwSpeakerConfig); > 29 HRESULT Initialize (LPCGUID pcGuidDevice); > 30 } > 31 > 32 alias IDirectSound LPDIRECTSOUND; > 33 > 34 interface IDirectSound8 : IDirectSound > 35 { > 36 extern(Windows): > 37 > 38 // IDirectSound8 methods > 39 HRESULT VerifyCertification (LPDWORD pdwCertified); > 40 } > 41 > 42 alias IDirectSound8 LPDIRECTSOUND8; > 43 > 44 interface IDirectSoundBuffer : IUnknown > 45 { > 46 extern(Windows): > 47 > 48 // IDirectSoundBuffer methods > 49 HRESULT GetCaps (LPDSBCAPS pDSBufferCaps); > 50 HRESULT GetCurrentPosition (LPDWORD pdwCurrentPlayCursor, LPDWORD pdwCurre > 51 HRESULT GetFormat (LPWAVEFORMATEX pwfxFormat, DWORD dwSizeAllocat > 52 HRESULT GetVolume (LPLONG plVolume); > 53 HRESULT GetPan (LPLONG plPan); > 54 HRESULT GetFrequency (LPDWORD pdwFrequency); > 55 HRESULT GetStatus (LPDWORD pdwStatus); > 56 HRESULT Initialize (LPDIRECTSOUND pDirectSound, LPCDSBUFFERDESC pc > 57 HRESULT Lock (DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudi > 58 LPVOID *ppvAudioPtr2, LPDWORD pdwAudi > 59 HRESULT Play (DWORD dwReserved1, DWORD dwPriority, DWORD dwF > 60 HRESULT SetCurrentPosition (DWORD dwNewPosition); > 61 HRESULT SetFormat (LPCWAVEFORMATEX pcfxFormat); > 62 HRESULT SetVolume (LONG lVolume); > 63 HRESULT SetPan (LONG lPan); > 64 HRESULT SetFrequency (DWORD dwFrequency); > 65 HRESULT Stop (); > 66 HRESULT Unlock (LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOI > 67 HRESULT Restore (); > 68 } > 69 > 70 alias IDirectSoundBuffer LPDIRECTSOUNDBUFFER; > 71 > 72 interface IDirectSound3DListener : IUnknown > 73 { > 74 extern(Windows): > 75 > 76 // IDirectSound3DListener methods > 77 HRESULT GetAllParameters (LPDS3DLISTENER pListener); > 78 HRESULT GetDistanceFactor (D3DVALUE* pflDistanceFactor); > 79 HRESULT GetDopplerFactor (D3DVALUE* pflDopplerFactor); > 80 HRESULT GetOrientation (D3DVECTOR* pvOrientFront, D3DVECTOR* pvOri > 81 HRESULT GetPosition (D3DVECTOR* pvPosition); > 82 HRESULT GetRolloffFactor (D3DVALUE* pflRolloffFactor); > 83 HRESULT GetVelocity (D3DVECTOR* pvVelocity); > 84 HRESULT SetAllParameters (LPCDS3DLISTENER pcListener, DWORD dwApply) > 85 HRESULT SetDistanceFactor (D3DVALUE flDistanceFactor, DWORD dwApply); > 86 HRESULT SetDopplerFactor (D3DVALUE flDopplerFactor, DWORD dwApply); > 87 HRESULT SetOrientation (D3DVALUE xFront, D3DVALUE yFront, D3DVALUE > 88 D3DVALUE xTop, D3DVALUE yTop, D3D > 89 HRESULT SetPosition (D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD > 90 HRESULT SetRolloffFactor (D3DVALUE flRolloffFactor, DWORD dwApply); > 91 HRESULT SetVelocity (D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD > 92 HRESULT CommitDeferredSettings (); > 93 } > 94 > 95 struct WAVEFORMATEX > 96 { > 97 ushort wFormatTag; > 98 ushort nChannels; > 99 uint nSamplesPerSec; > 100 uint nAvgBytesPerSec; > 101 ushort nBlockAlign; > 102 ushort wBitsPerSample; > 103 ushort cbSize; > 104 } > 105 > 106 alias WAVEFORMATEX* LPWAVEFORMATEX, LPCWAVEFORMATEX; > 107 > 108 enum : uint > 109 { > 110 WAVE_FORMAT_PCM = 1 > 111 } > 112 > 113 struct DSCBUFFERDESC > 114 { > 115 DWORD dwSize; > 116 DWORD dwFlags; > 117 DWORD dwBufferBytes; > 118 DWORD dwReserved; > 119 LPWAVEFORMATEX lpwfxFormat; > 120 DWORD dwFXCount; > 121 LPDSCEFFECTDESC lpDSCFXDesc; > 122 } > 123 > 124 alias DSCBUFFERDESC* LPDSCBUFFERDESC; > 125 > 126 struct DSBUFFERDESC > 127 { > 128 DWORD dwSize; > 129 DWORD dwFlags; > 130 DWORD dwBufferBytes; > 131 DWORD dwReserved; > 132 LPWAVEFORMATEX lpwfxFormat; > 133 GUID guid3DAlgorithm; > 134 } > 135 > 136 alias DSBUFFERDESC* LPCDSBUFFERDESC; > 137 > 138 struct DSCAPS > 139 { > 140 DWORD dwSize; > 141 DWORD dwFlags; > 142 DWORD dwMinSecondarySampleRate; > 143 DWORD dwMaxSecondarySampleRate; > 144 DWORD dwPrimaryBuffers; > 145 DWORD dwMaxHwMixingAllBuffers; > 146 DWORD dwMaxHwMixingStaticBuffers; > 147 DWORD dwMaxHwMixingStreamingBuffers; > 148 DWORD dwFreeHwMixingAllBuffers; > 149 DWORD dwFreeHwMixingStaticBuffers; > 150 DWORD dwFreeHwMixingStreamingBuffers; > 151 DWORD dwMaxHw3DAllBuffers; > 152 DWORD dwMaxHw3DStaticBuffers; > 153 DWORD dwMaxHw3DStreamingBuffers; > 154 DWORD dwFreeHw3DAllBuffers; > 155 DWORD dwFreeHw3DStaticBuffers; > 156 DWORD dwFreeHw3DStreamingBuffers; > 157 DWORD dwTotalHwMemBytes; > 158 DWORD dwFreeHwMemBytes; > 159 DWORD dwMaxContigFreeHwMemBytes; > 160 DWORD dwUnlockTransferRateHwBuffers; > 161 DWORD dwPlayCpuOverheadSwBuffers; > 162 DWORD dwReserved1; > 163 DWORD dwReserved2; > 164 } > 165 > 166 alias DSCAPS* LPDSCAPS; > 167 > 168 struct DSBCAPS > 169 { > 170 DWORD dwSize; > 171 DWORD dwFlags; > 172 DWORD dwBufferBytes; > 173 DWORD dwUnlockTransferRate; > 174 DWORD dwPlayCpuOverhead; > 175 } > 176 > 177 alias DSBCAPS *LPDSBCAPS; > 178 > 179 struct DSCEFFECTDESC > 180 { > 181 DWORD dwSize; > 182 DWORD dwFlags; > 183 GUID guidDSCFXClass; > 184 GUID guidDSCFXInstance; > 185 DWORD dwReserved1; > 186 DWORD dwReserved2; > 187 } > 188 > 189 alias DSCEFFECTDESC *LPDSCEFFECTDESC; > 190 > 191 struct DS3DLISTENER > 192 { > 193 DWORD dwSize; > 194 D3DVECTOR vPosition; > 195 D3DVECTOR vVelocity; > 196 D3DVECTOR vOrientFront; > 197 D3DVECTOR vOrientTop; > 198 D3DVALUE flDistanceFactor; > 199 D3DVALUE flRolloffFactor; > 200 D3DVALUE flDopplerFactor; > 201 } > 202 > 203 alias DS3DLISTENER *LPDS3DLISTENER, LPCDS3DLISTENER; > 204 > 205 alias float D3DVALUE; > 206 > 207 struct D3DVECTOR > 208 { > 209 float x; > 210 float y; > 211 float z; > 212 } > 213 > 214 extern(Windows) export HRESULT DirectSoundCreate8(LPCGUID pcGuidDevice, LPDIRECT > 215 > 216 const DSSCL_PRIORITY = 0x00000002; > 217 const DSBCAPS_PRIMARYBUFFER = 0x00000001; > 218 const DSBCAPS_CTRL3D = 0x00000010; > 219 const DSBCAPS_GETCURRENTPOSITION2 = 0x00010000; > 220 const DSBCAPS_LOCDEFER = 0x00040000; > 221 const DSBPLAY_LOOPING = 0x00000001; > 222 const DSBSTATUS_PLAYING = 0x00000001; > 223 const DSBCAPS_CTRLFREQUENCY = 0x00000020; > 224 const DSBCAPS_CTRLPAN = 0x00000040; > 225 const DSBCAPS_CTRLVOLUME = 0x00000080; > 226 const DSBLOCK_ENTIREBUFFER = 0x00000002; > 227 > 228 const GUID IID_IDirectSound3DListener8 = {0x279AFA84,0x4981,0x11CE,[0xA5, 0x21,

Added src/win32/directx/dsound8.def version [ccf10df672f0f7ce]

> 1 IMPORTS > 2 _DirectSoundCreate8@12 = dsound.DirectSoundCreate8

Added src/win32/directx/dxerr.d version [9090410cc0efe452]

> 1 /***********************************************************************\ > 2 * dxerr.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Placed into public domain * > 7 \***********************************************************************/ > 8 module win32.directx.dxerr; > 9 > 10 import win32.windows; > 11 > 12 pragma(lib, "dxerr.lib"); > 13 > 14 extern (Windows) { > 15 CHAR* DXGetErrorStringA(HRESULT hr); > 16 WCHAR* DXGetErrorStringW(HRESULT hr); > 17 CHAR* DXGetErrorDescriptionA(HRESULT hr); > 18 WCHAR* DXGetErrorDescriptionW(HRESULT hr); > 19 HRESULT DXTraceA(CHAR* strFile, DWORD dwLine, HRESULT hr, CHAR* strMsg, > 20 BOOL bPopMsgBox); > 21 HRESULT DXTraceW(CHAR* strFile, DWORD dwLine, HRESULT hr, WCHAR* strMsg, > 22 BOOL bPopMsgBox); > 23 } > 24 > 25 version (Unicode) { > 26 alias DXGetErrorStringW DXGetErrorString; > 27 alias DXGetErrorDescriptionW DXGetErrorDescription; > 28 alias DXTraceW DXTrace; > 29 } else { > 30 alias DXGetErrorStringA DXGetErrorString; > 31 alias DXGetErrorDescriptionA DXGetErrorDescription; > 32 alias DXTraceA DXTrace; > 33 } > 34 > 35 debug (dxerr) { > 36 HRESULT DXTRACE_MSG(TCHAR* str) { > 37 return DXTrace(__FILE__, __LINE__, 0, str, false); > 38 } > 39 HRESULT DXTRACE_ERR(TCHAR* str, HRESULT hr) { > 40 return DXTrace(__FILE__, __LINE__, hr, str, false); > 41 } > 42 HRESULT DXTRACE_ERR_MSGBOX(TCHAR* str, HRESULT hr) { > 43 return DXTrace(__FILE__, __LINE__, hr, str, true); > 44 } > 45 } else { > 46 HRESULT DXTRACE_MSG(TCHAR* str) { > 47 return 0; > 48 } > 49 HRESULT DXTRACE_ERR(TCHAR* str, HRESULT hr) { > 50 return hr; > 51 } > 52 HRESULT DXTRACE_ERR_MSGBOX(TCHAR* str, HRESULT hr) { > 53 return hr; > 54 } > 55 }

Added src/win32/directx/dxerr8.d version [34ddc3a78f9452b8]

> 1 /***********************************************************************\ > 2 * dxerr8.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Translated from MinGW Windows headers * > 7 * * > 8 * Placed into public domain * > 9 \***********************************************************************/ > 10 module win32.directx.dxerr8; > 11 > 12 /* > 13 dxerr8.d - Header file for the DirectX 8 Error API > 14 > 15 Written by Filip Navara <xnavara@volny.cz> > 16 Ported to D by James Pelcis <jpelcis@gmail.com> > 17 > 18 This library is distributed in the hope that it will be useful, > 19 but WITHOUT ANY WARRANTY; without even the implied warranty of > 20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > 21 */ > 22 > 23 private import win32.windef; > 24 > 25 extern (Windows) { > 26 char* DXGetErrorString8A (HRESULT); > 27 WCHAR* DXGetErrorString8W (HRESULT); > 28 char* DXGetErrorDescription8A (HRESULT); > 29 WCHAR* DXGetErrorDescription8W (HRESULT); > 30 HRESULT DXTraceA (char*, DWORD, HRESULT, char*, BOOL); > 31 HRESULT DXTraceW (char*, DWORD, HRESULT, WCHAR*, BOOL); > 32 } > 33 > 34 version (Unicode) { > 35 alias DXGetErrorString8W DXGetErrorString8; > 36 alias DXGetErrorDescription8W DXGetErrorDescription8; > 37 alias DXTraceW DXTrace; > 38 } else { > 39 alias DXGetErrorString8A DXGetErrorString8; > 40 alias DXGetErrorDescription8A DXGetErrorDescription8; > 41 alias DXTraceA DXTrace; > 42 } > 43 > 44 debug (dxerr) { > 45 HRESULT DXTRACE_MSG(TCHAR* str) { > 46 return DXTrace(__FILE__, __LINE__, 0, str, FALSE); > 47 } > 48 > 49 HRESULT DXTRACE_ERR(TCHAR* str, HRESULT hr) { > 50 return DXTrace(__FILE__, __LINE__, hr, str, TRUE); > 51 } > 52 > 53 HRESULT DXTRACE_ERR_NOMSGBOX (WCHAR* str, HRESULT hr) { > 54 return DXTrace(__FILE__, __LINE__, hr, str, FALSE); > 55 } > 56 } else { > 57 HRESULT DXTRACE_MSG(TCHAR* str) { > 58 return 0; > 59 } > 60 > 61 HRESULT DXTRACE_ERR(TCHAR* str, HRESULT hr) { > 62 return hr; > 63 } > 64 > 65 HRESULT DXTRACE_ERR_NOMSGBOX(TCHAR* str, HRESULT hr) { > 66 return hr; > 67 } > 68 }

Added src/win32/directx/dxerr9.d version [ceb1fd2634da5b6a]

> 1 /***********************************************************************\ > 2 * dxerr9.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Translated from MinGW Windows headers * > 7 * * > 8 * Placed into public domain * > 9 \***********************************************************************/ > 10 module win32.directx.dxerr9; > 11 > 12 /* > 13 dxerr9.h - Header file for the DirectX 9 Error API > 14 > 15 Written by Filip Navara <xnavara@volny.cz> > 16 Ported to D by James Pelcis <jpelcis@gmail.com> > 17 > 18 This library is distributed in the hope that it will be useful, > 19 but WITHOUT ANY WARRANTY; without even the implied warranty of > 20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > 21 > 22 */ > 23 > 24 private import win32.windef; > 25 > 26 extern (Windows) { > 27 char* DXGetErrorString9A(HRESULT); > 28 WCHAR* DXGetErrorString9W(HRESULT); > 29 char* DXGetErrorDescription9A(HRESULT); > 30 WCHAR* DXGetErrorDescription9W(HRESULT); > 31 HRESULT DXTraceA(char*, DWORD, HRESULT, char*, BOOL); > 32 HRESULT DXTraceW(char*, DWORD, HRESULT, WCHAR*, BOOL); > 33 } > 34 > 35 version (Unicode) { > 36 alias DXGetErrorString9W DXGetErrorString9; > 37 alias DXGetErrorDescription9W DXGetErrorDescription9; > 38 alias DXTraceW DXTrace; > 39 } else { > 40 alias DXGetErrorString9A DXGetErrorString9; > 41 alias DXGetErrorDescription9A DXGetErrorDescription9; > 42 alias DXTraceA DXTrace; > 43 } > 44 > 45 debug (dxerr) { > 46 HRESULT DXTRACE_MSG(TCHAR* str) { > 47 return DXTrace(__FILE__, cast(DWORD)__LINE__, 0, str, FALSE); > 48 } > 49 > 50 HRESULT DXTRACE_ERR(TCHAR* str, HRESULT hr) { > 51 return DXTrace(__FILE__, cast(DWORD)__LINE__, hr, str, FALSE); > 52 } > 53 > 54 HRESULT DXTRACE_ERR_NOMSGBOX(TCHAR* str, HRESULT hr) { > 55 return DXTrace(__FILE__, cast(DWORD)__LINE__, hr, str, TRUE); > 56 } > 57 } else { > 58 HRESULT DXTRACE_MSG(TCHAR* str) { > 59 return 0; > 60 } > 61 > 62 HRESULT DXTRACE_ERR(TCHAR* str, HRESULT hr) { > 63 return hr; > 64 } > 65 > 66 HRESULT DXTRACE_ERR_NOMSGBOX(TCHAR* str, HRESULT hr) { > 67 return hr; > 68 } > 69 }

Added src/win32/directx/dxgi.d version [01a31b5a86041999]

> 1 /***********************************************************************\ > 2 * dxgi.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Placed into public domain * > 7 \***********************************************************************/ > 8 module win32.directx.dxgi; > 9 > 10 private import win32.windows; > 11 > 12 private import win32.directx.dxgitype; > 13 > 14 enum { > 15 DXGI_CPU_ACCESS_NONE = 0, > 16 DXGI_CPU_ACCESS_DYNAMIC = 1, > 17 DXGI_CPU_ACCESS_READ_WRITE = 2, > 18 DXGI_CPU_ACCESS_SCRATCH = 3, > 19 DXGI_CPU_ACCESS_FIELD = 15 > 20 } > 21 > 22 enum { > 23 DXGI_USAGE_SHADER_INPUT = 0b00_00010000, > 24 DXGI_USAGE_RENDER_TARGET_OUTPUT = 0b00_00100000, > 25 DXGI_USAGE_BACK_BUFFER = 0b00_01000000, > 26 DXGI_USAGE_SHARED = 0b00_10000000, > 27 DXGI_USAGE_READ_ONLY = 0b01_00000000, > 28 DXGI_USAGE_DISCARD_ON_PRESENT = 0b10_00000000, > 29 } > 30 alias UINT DXGI_USAGE; > 31 > 32 struct DXGI_FRAME_STATISTICS { > 33 UINT PresentCount; > 34 UINT PresentRefreshCount; > 35 UINT SyncRefreshCount; > 36 LARGE_INTEGER SyncQPCTime; > 37 LARGE_INTEGER SyncGPUTime; > 38 } > 39 > 40 struct DXGI_MAPPED_RECT { > 41 INT Pitch; > 42 BYTE* pBits; > 43 } > 44 > 45 struct DXGI_ADAPTER_DESC { > 46 WCHAR[128] Description; > 47 UINT VendorId; > 48 UINT DeviceId; > 49 UINT SubSysId; > 50 UINT Revision; > 51 SIZE_T DedicatedVideoMemory; > 52 SIZE_T DedicatedSystemMemory; > 53 SIZE_T SharedSystemMemory; > 54 LUID AdapterLuid; > 55 } > 56 > 57 struct DXGI_OUTPUT_DESC { > 58 WCHAR[32] DeviceName; > 59 RECT DesktopCoordinates; > 60 BOOL AttachedToDesktop; > 61 DXGI_MODE_ROTATION Rotation; > 62 HMONITOR Monitor; > 63 } > 64 > 65 struct DXGI_SHARED_RESOURCE { > 66 HANDLE Handle; > 67 } > 68 > 69 enum { > 70 DXGI_RESOURCE_PRIORITY_MINIMUM = 0x28000000, > 71 DXGI_RESOURCE_PRIORITY_LOW = 0x50000000, > 72 DXGI_RESOURCE_PRIORITY_NORMAL = 0x78000000, > 73 DXGI_RESOURCE_PRIORITY_HIGH = 0xa0000000, > 74 DXGI_RESOURCE_PRIORITY_MAXIMUM = 0xc8000000 > 75 } > 76 > 77 enum DXGI_RESIDENCY { > 78 DXGI_RESIDENCY_FULLY_RESIDENT = 1, > 79 DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY = 2, > 80 DXGI_RESIDENCY_EVICTED_TO_DISK = 3 > 81 } > 82 > 83 struct DXGI_SURFACE_DESC { > 84 UINT Width; > 85 UINT Height; > 86 DXGI_FORMAT Format; > 87 DXGI_SAMPLE_DESC SampleDesc; > 88 } > 89 > 90 enum DXGI_SWAP_EFFECT { > 91 DXGI_SWAP_EFFECT_DISCARD = 0, > 92 DXGI_SWAP_EFFECT_SEQUENTIAL = 1 > 93 } > 94 > 95 enum DXGI_SWAP_CHAIN_FLAG { > 96 DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1, > 97 DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2 > 98 } > 99 > 100 struct DXGI_SWAP_CHAIN_DESC { > 101 DXGI_MODE_DESC BufferDesc; > 102 DXGI_SAMPLE_DESC SampleDesc; > 103 DXGI_USAGE BufferUsage; > 104 UINT BufferCount; > 105 HWND OutputWindow; > 106 BOOL Windowed; > 107 DXGI_SWAP_EFFECT SwapEffect; > 108 UINT Flags; > 109 } > 110 > 111 interface IDXGIObject : IUnknown { > 112 extern(Windows) : > 113 HRESULT SetPrivateData(REFGUID Name, UINT DataSize, void* pData); > 114 HRESULT SetPrivateDataInterface(REFGUID Name, IUnknown pUnknown); > 115 HRESULT GetPrivateData(REFGUID Name, UINT* pDataSize, void* pData); > 116 HRESULT GetParent(REFIID riid, void** ppParent); > 117 } > 118 > 119 interface IDXGIDeviceSubObject : IDXGIObject { > 120 extern(Windows) : > 121 HRESULT GetDevice(REFIID riid, void** ppDevice); > 122 } > 123 > 124 interface IDXGIResource : IDXGIDeviceSubObject { > 125 extern(Windows) : > 126 HRESULT GetSharedHandle(HANDLE* pSharedHandle); > 127 HRESULT GetUsage(DXGI_USAGE* pUsage); > 128 HRESULT SetEvictionPriority(UINT EvictionPriority); > 129 HRESULT GetEvictionPriority(UINT* pEvictionPriority); > 130 } > 131 > 132 interface IDXGISurface : IDXGIDeviceSubObject { > 133 extern(Windows) : > 134 HRESULT GetDesc(DXGI_SURFACE_DESC* pDesc); > 135 HRESULT Map(DXGI_MAPPED_RECT* pLockedRect, UINT MapFlags); > 136 HRESULT Unmap(); > 137 } > 138 > 139 interface IDXGIAdapter : IDXGIObject { > 140 extern(Windows) : > 141 HRESULT EnumOutputs(UINT Output, IDXGIOutput* ppOutput); > 142 HRESULT GetDesc(DXGI_ADAPTER_DESC* pDesc); > 143 HRESULT CheckInterfaceSupport(REFGUID InterfaceName, LARGE_INTEGER* pUMD > 144 } > 145 > 146 interface IDXGIOutput : IDXGIObject { > 147 extern(Windows) : > 148 HRESULT GetDesc(DXGI_OUTPUT_DESC* pDesc); > 149 HRESULT GetDisplayModeList(DXGI_FORMAT EnumFormat, UINT Flags, UINT* pNu > 150 HRESULT FindClosestMatchingMode(DXGI_MODE_DESC* pModeToMatch, DXGI_MODE_ > 151 HRESULT WaitForVBlank(); > 152 HRESULT TakeOwnership(IUnknown pDevice, BOOL Exclusive); > 153 void ReleaseOwnership(); > 154 HRESULT GetGammaControlCapabilities(DXGI_GAMMA_CONTROL_CAPABILITIES* pGa > 155 HRESULT SetGammaControl(DXGI_GAMMA_CONTROL* pArray); > 156 HRESULT GetGammaControl(DXGI_GAMMA_CONTROL* pArray); > 157 HRESULT SetDisplaySurface(IDXGISurface pScanoutSurface); > 158 HRESULT GetDisplaySurfaceData(IDXGISurface pDestination); > 159 HRESULT GetFrameStatistics(DXGI_FRAME_STATISTICS* pStats); > 160 } > 161 > 162 const DXGI_MAX_SWAP_CHAIN_BUFFERS = 16; > 163 > 164 enum { > 165 DXGI_PRESENT_TEST = 0x00000001, > 166 DXGI_PRESENT_DO_NOT_SEQUENCE = 0x00000002, > 167 DXGI_PRESENT_RESTART = 0x00000004 > 168 } > 169 > 170 interface IDXGISwapChain : IDXGIDeviceSubObject { > 171 extern(Windows) : > 172 HRESULT Present(UINT SyncInterval, UINT Flags); > 173 HRESULT GetBuffer(UINT Buffer, REFIID riid, void** ppSurface); > 174 HRESULT SetFullscreenState(BOOL Fullscreen, IDXGIOutput pTarget); > 175 HRESULT GetFullscreenState(BOOL* pFullscreen, IDXGIOutput* ppTarget); > 176 HRESULT GetDesc(DXGI_SWAP_CHAIN_DESC* pDesc); > 177 HRESULT ResizeBuffers(UINT BufferCount, UINT Width, UINT Height, DXGI_FO > 178 HRESULT ResizeTarget(DXGI_MODE_DESC* pNewTargetParameters); > 179 HRESULT GetContainingOutput(IDXGIOutput* ppOutput); > 180 HRESULT GetFrameStatistics(DXGI_FRAME_STATISTICS* pStats); > 181 HRESULT GetLastPresentCount(UINT* pLastPresentCount); > 182 } > 183 > 184 interface IDXGIFactory : IDXGIObject { > 185 extern(Windows) : > 186 HRESULT EnumAdapters(UINT Adapter, IDXGIAdapter* ppAdapter); > 187 HRESULT MakeWindowAssociation(HWND WindowHandle, UINT Flags); > 188 HRESULT GetWindowAssociation(HWND* pWindowHandle); > 189 HRESULT CreateSwapChain(IUnknown pDevice, DXGI_SWAP_CHAIN_DESC* pDesc, I > 190 HRESULT CreateSoftwareAdapter(HMODULE Module, IDXGIAdapter* ppAdapter); > 191 } > 192 > 193 interface IDXGIDevice : IDXGIObject { > 194 extern(Windows) : > 195 HRESULT GetAdapter(IDXGIAdapter* pAdapter); > 196 HRESULT CreateSurface(DXGI_SURFACE_DESC* pDesc, UINT NumSurfaces, DXGI_U > 197 HRESULT QueryResourceResidency(IUnknown* ppResources, DXGI_RESIDENCY* pR > 198 HRESULT SetGPUThreadPriority(INT Priority); > 199 HRESULT GetGPUThreadPriority(INT* pPriority); > 200 } > 201 > 202 extern(C) const GUID IID_IDXGIObject = {0xaec22fb8, 0x76f3, 0 > 203 extern(C) const GUID IID_IDXGIDeviceSubObject = {0x3d3e0379, 0xf9de, 0x4d58, [ > 204 extern(C) const GUID IID_IDXGIResource = {0x035f3ab4, 0x482e, 0 > 205 extern(C) const GUID IID_IDXGISurface = {0xcafcb56c, 0x6ac3, 0 > 206 extern(C) const GUID IID_IDXGIAdapter = {0x2411e7e1, 0x12ac, 0 > 207 extern(C) const GUID IID_IDXGIOutput = {0xae02eedb, 0xc735, 0 > 208 extern(C) const GUID IID_IDXGISwapChain = {0x310d36a0, 0xd2e7, 0 > 209 extern(C) const GUID IID_IDXGIFactory = {0x7b7166ec, 0x21c7, 0 > 210 extern(C) const GUID IID_IDXGIDevice = {0x54ec77fa, 0x1377, 0 > 211

Added src/win32/directx/dxgitype.d version [84641e2b98a36529]

> 1 /***********************************************************************\ > 2 * dxgitype.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Placed into public domain * > 7 \***********************************************************************/ > 8 module win32.directx.dxgitype; > 9 > 10 private import win32.windows; > 11 > 12 const _FACDXGI = 0x87a; > 13 > 14 HRESULT MAKE_DXGI_HRESULT(T)(T code) { > 15 return MAKE_HRESULT(1, _FACDXGI, code); > 16 } > 17 > 18 HRESULT MAKE_DXGI_STATUS(T)(T code) { > 19 return MAKE_HRESULT(0, _FACDXGI, code); > 20 } > 21 > 22 const HRESULT DXGI_STATUS_OCCLUDED > 23 const HRESULT DXGI_STATUS_CLIPPED > 24 const HRESULT DXGI_STATUS_NO_REDIRECTION = MAKE_D > 25 const HRESULT DXGI_STATUS_NO_DESKTOP_ACCESS = MAKE_D > 26 const HRESULT DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE = MAKE_DXGI_STATUS(6); > 27 const HRESULT DXGI_STATUS_MODE_CHANGED = MAKE_D > 28 const HRESULT DXGI_STATUS_MODE_CHANGE_IN_PROGRESS = MAKE_DXGI_STAT > 29 const HRESULT DXGI_ERROR_INVALID_CALL = MAKE_D > 30 const HRESULT DXGI_ERROR_NOT_FOUND > 31 const HRESULT DXGI_ERROR_MORE_DATA > 32 const HRESULT DXGI_ERROR_UNSUPPORTED = MAKE_D > 33 const HRESULT DXGI_ERROR_DEVICE_REMOVED = MAKE_D > 34 const HRESULT DXGI_ERROR_DEVICE_HUNG = MAKE_D > 35 const HRESULT DXGI_ERROR_DEVICE_RESET = MAKE_D > 36 const HRESULT DXGI_ERROR_WAS_STILL_DRAWING = MAKE_D > 37 const HRESULT DXGI_ERROR_FRAME_STATISTICS_DISJOINT = MAKE_DXGI_HRES > 38 const HRESULT DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE = MAKE_DXGI_HRESULT(12); > 39 const HRESULT DXGI_ERROR_DRIVER_INTERNAL_ERROR = MAKE_DXGI_HRES > 40 const HRESULT DXGI_ERROR_NONEXCLUSIVE = MAKE_D > 41 const HRESULT DXGI_ERROR_NOT_CURRENTLY_AVAILABLE = MAKE_DXGI_HRES > 42 const HRESULT DXGI_FORMAT_DEFINED > 43 > 44 enum DXGI_FORMAT { > 45 DXGI_FORMAT_UNKNOWN = 0, > 46 DXGI_FORMAT_R32G32B32A32_TYPELESS, > 47 DXGI_FORMAT_R32G32B32A32_FLOAT, > 48 DXGI_FORMAT_R32G32B32A32_UINT, > 49 DXGI_FORMAT_R32G32B32A32_SINT, > 50 DXGI_FORMAT_R32G32B32_TYPELESS, > 51 DXGI_FORMAT_R32G32B32_FLOAT, > 52 DXGI_FORMAT_R32G32B32_UINT, > 53 DXGI_FORMAT_R32G32B32_SINT, > 54 DXGI_FORMAT_R16G16B16A16_TYPELESS, > 55 DXGI_FORMAT_R16G16B16A16_FLOAT, > 56 DXGI_FORMAT_R16G16B16A16_UNORM, > 57 DXGI_FORMAT_R16G16B16A16_UINT, > 58 DXGI_FORMAT_R16G16B16A16_SNORM, > 59 DXGI_FORMAT_R16G16B16A16_SINT, > 60 DXGI_FORMAT_R32G32_TYPELESS, > 61 DXGI_FORMAT_R32G32_FLOAT, > 62 DXGI_FORMAT_R32G32_UINT, > 63 DXGI_FORMAT_R32G32_SINT, > 64 DXGI_FORMAT_R32G8X24_TYPELESS, > 65 DXGI_FORMAT_D32_FLOAT_S8X24_UINT, > 66 DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS, > 67 DXGI_FORMAT_X32_TYPELESS_G8X24_UINT, > 68 DXGI_FORMAT_R10G10B10A2_TYPELESS, > 69 DXGI_FORMAT_R10G10B10A2_UNORM, > 70 DXGI_FORMAT_R10G10B10A2_UINT, > 71 DXGI_FORMAT_R11G11B10_FLOAT, > 72 DXGI_FORMAT_R8G8B8A8_TYPELESS, > 73 DXGI_FORMAT_R8G8B8A8_UNORM, > 74 DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, > 75 DXGI_FORMAT_R8G8B8A8_UINT, > 76 DXGI_FORMAT_R8G8B8A8_SNORM, > 77 DXGI_FORMAT_R8G8B8A8_SINT, > 78 DXGI_FORMAT_R16G16_TYPELESS, > 79 DXGI_FORMAT_R16G16_FLOAT, > 80 DXGI_FORMAT_R16G16_UNORM, > 81 DXGI_FORMAT_R16G16_UINT, > 82 DXGI_FORMAT_R16G16_SNORM, > 83 DXGI_FORMAT_R16G16_SINT, > 84 DXGI_FORMAT_R32_TYPELESS, > 85 DXGI_FORMAT_D32_FLOAT, > 86 DXGI_FORMAT_R32_FLOAT, > 87 DXGI_FORMAT_R32_UINT, > 88 DXGI_FORMAT_R32_SINT, > 89 DXGI_FORMAT_R24G8_TYPELESS, > 90 DXGI_FORMAT_D24_UNORM_S8_UINT, > 91 DXGI_FORMAT_R24_UNORM_X8_TYPELESS, > 92 DXGI_FORMAT_X24_TYPELESS_G8_UINT, > 93 DXGI_FORMAT_R8G8_TYPELESS, > 94 DXGI_FORMAT_R8G8_UNORM, > 95 DXGI_FORMAT_R8G8_UINT, > 96 DXGI_FORMAT_R8G8_SNORM, > 97 DXGI_FORMAT_R8G8_SINT, > 98 DXGI_FORMAT_R16_TYPELESS, > 99 DXGI_FORMAT_R16_FLOAT, > 100 DXGI_FORMAT_D16_UNORM, > 101 DXGI_FORMAT_R16_UNORM, > 102 DXGI_FORMAT_R16_UINT, > 103 DXGI_FORMAT_R16_SNORM, > 104 DXGI_FORMAT_R16_SINT, > 105 DXGI_FORMAT_R8_TYPELESS, > 106 DXGI_FORMAT_R8_UNORM, > 107 DXGI_FORMAT_R8_UINT, > 108 DXGI_FORMAT_R8_SNORM, > 109 DXGI_FORMAT_R8_SINT, > 110 DXGI_FORMAT_A8_UNORM, > 111 DXGI_FORMAT_R1_UNORM, > 112 DXGI_FORMAT_R9G9B9E5_SHAREDEXP, > 113 DXGI_FORMAT_R8G8_B8G8_UNORM, > 114 DXGI_FORMAT_G8R8_G8B8_UNORM, > 115 DXGI_FORMAT_BC1_TYPELESS, > 116 DXGI_FORMAT_BC1_UNORM, > 117 DXGI_FORMAT_BC1_UNORM_SRGB, > 118 DXGI_FORMAT_BC2_TYPELESS, > 119 DXGI_FORMAT_BC2_UNORM, > 120 DXGI_FORMAT_BC2_UNORM_SRGB, > 121 DXGI_FORMAT_BC3_TYPELESS, > 122 DXGI_FORMAT_BC3_UNORM, > 123 DXGI_FORMAT_BC3_UNORM_SRGB, > 124 DXGI_FORMAT_BC4_TYPELESS, > 125 DXGI_FORMAT_BC4_UNORM, > 126 DXGI_FORMAT_BC4_SNORM, > 127 DXGI_FORMAT_BC5_TYPELESS, > 128 DXGI_FORMAT_BC5_UNORM, > 129 DXGI_FORMAT_BC5_SNORM, > 130 DXGI_FORMAT_B5G6R5_UNORM, > 131 DXGI_FORMAT_B5G5R5A1_UNORM, > 132 DXGI_FORMAT_B8G8R8A8_UNORM, > 133 DXGI_FORMAT_B8G8R8X8_UNORM, > 134 DXGI_FORMAT_FORCE_UINT = 0xffffffff > 135 } > 136 > 137 struct DXGI_RGB { > 138 float Red; > 139 float Green; > 140 float Blue; > 141 } > 142 > 143 struct DXGI_GAMMA_CONTROL { > 144 DXGI_RGB Scale; > 145 DXGI_RGB Offset; > 146 DXGI_RGB[1025] GammaCurve; > 147 } > 148 > 149 struct DXGI_GAMMA_CONTROL_CAPABILITIES { > 150 BOOL ScaleAndOffsetSupported; > 151 float MaxConvertedValue; > 152 float MinConvertedValue; > 153 UINT NumGammaControlPoints; > 154 float[1025] ControlPointPositions; > 155 } > 156 > 157 struct DXGI_RATIONAL { > 158 UINT Numerator; > 159 UINT Denominator; > 160 } > 161 > 162 enum DXGI_MODE_SCANLINE_ORDER { > 163 DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED = 0, > 164 DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE = 1, > 165 DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST = 2, > 166 DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST = 3 > 167 } > 168 > 169 enum DXGI_MODE_SCALING { > 170 DXGI_MODE_SCALING_UNSPECIFIED = 0, > 171 DXGI_MODE_SCALING_CENTERED = 1, > 172 DXGI_MODE_SCALING_STRETCHED = 2 > 173 } > 174 > 175 enum DXGI_MODE_ROTATION { > 176 DXGI_MODE_ROTATION_UNSPECIFIED = 0, > 177 DXGI_MODE_ROTATION_IDENTITY = 1, > 178 DXGI_MODE_ROTATION_ROTATE90 = 2, > 179 DXGI_MODE_ROTATION_ROTATE180 = 3, > 180 DXGI_MODE_ROTATION_ROTATE270 = 4 > 181 } > 182 > 183 struct DXGI_MODE_DESC { > 184 UINT Width; > 185 UINT Height; > 186 DXGI_RATIONAL RefreshRate; > 187 DXGI_FORMAT Format; > 188 DXGI_MODE_SCANLINE_ORDER ScanlineOrdering; > 189 DXGI_MODE_SCALING Scaling; > 190 } > 191 > 192 struct DXGI_SAMPLE_DESC { > 193 UINT Count; > 194 UINT Quality; > 195 }

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

Modified src/win32/docobj.d from [b8ee0e08b2d6c61c] to [b4bf73a8fd532abb].

69 OLECMDEXECOPT_SHOWHELP = 3 69 OLECMDEXECOPT_SHOWHELP = 3 70 } 70 } 71 71 72 struct OLECMDTEXT { 72 struct OLECMDTEXT { 73 DWORD cmdtextf; 73 DWORD cmdtextf; 74 ULONG cwActual; 74 ULONG cwActual; 75 ULONG cwBuf; 75 ULONG cwBuf; 76 wchar rgwz[1]; | 76 wchar[1] rgwz; 77 } 77 } 78 78 79 struct OLECMD { 79 struct OLECMD { 80 ULONG cmdID; 80 ULONG cmdID; 81 DWORD cmdf; 81 DWORD cmdf; 82 } 82 } 83 83 84 alias IOleInPlaceSite* LPOLEINPLACESITE; | 84 alias IOleInPlaceSite LPOLEINPLACESITE; 85 alias IEnumOleDocumentViews* LPENUMOLEDOCUMENTVIEWS; | 85 alias IEnumOleDocumentViews LPENUMOLEDOCUMENTVIEWS; 86 86 87 extern (C) extern const IID 87 extern (C) extern const IID 88 IID_IContinueCallback, 88 IID_IContinueCallback, 89 IID_IEnumOleDocumentViews, 89 IID_IEnumOleDocumentViews, 90 IID_IPrint, 90 IID_IPrint, 91 IID_IOleDocumentView, 91 IID_IOleDocumentView, 92 IID_IOleDocument, 92 IID_IOleDocument, ................................................................................................................................................................................ 93 IID_IOleCommandTarget, 93 IID_IOleCommandTarget, 94 IID_IOleDocumentSite; 94 IID_IOleDocumentSite; 95 95 96 96 97 interface IOleDocumentView : IUnknown { 97 interface IOleDocumentView : IUnknown { 98 HRESULT SetInPlaceSite(LPOLEINPLACESITE); 98 HRESULT SetInPlaceSite(LPOLEINPLACESITE); 99 HRESULT GetInPlaceSite(LPOLEINPLACESITE*); 99 HRESULT GetInPlaceSite(LPOLEINPLACESITE*); 100 HRESULT GetDocument(IUnknown**); | 100 HRESULT GetDocument(IUnknown*); 101 HRESULT SetRect(LPRECT); 101 HRESULT SetRect(LPRECT); 102 HRESULT GetRect(LPRECT); 102 HRESULT GetRect(LPRECT); 103 HRESULT SetRectComplex(LPRECT, LPRECT, LPRECT, LPRECT); 103 HRESULT SetRectComplex(LPRECT, LPRECT, LPRECT, LPRECT); 104 HRESULT Show(BOOL); 104 HRESULT Show(BOOL); 105 HRESULT UIActivate(BOOL); 105 HRESULT UIActivate(BOOL); 106 HRESULT Open(); 106 HRESULT Open(); 107 HRESULT Close(DWORD); 107 HRESULT Close(DWORD); 108 HRESULT SaveViewState(IStream*); | 108 HRESULT SaveViewState(IStream); 109 HRESULT ApplyViewState(IStream*); | 109 HRESULT ApplyViewState(IStream); 110 HRESULT Clone(LPOLEINPLACESITE, IOleDocumentView**); | 110 HRESULT Clone(LPOLEINPLACESITE, IOleDocumentView*); 111 } 111 } 112 112 113 interface IEnumOleDocumentViews : IUnknown { 113 interface IEnumOleDocumentViews : IUnknown { 114 HRESULT Next(ULONG, IOleDocumentView*, ULONG*); | 114 HRESULT Next(ULONG, IOleDocumentView, ULONG*); 115 HRESULT Skip(ULONG); 115 HRESULT Skip(ULONG); 116 HRESULT Reset(); 116 HRESULT Reset(); 117 HRESULT Clone(IEnumOleDocumentViews**); | 117 HRESULT Clone(IEnumOleDocumentViews*); 118 } 118 } 119 119 120 interface IOleDocument : IUnknown { 120 interface IOleDocument : IUnknown { 121 HRESULT CreateView(LPOLEINPLACESITE, IStream*, DWORD, IOleDocumentView** | 121 HRESULT CreateView(LPOLEINPLACESITE, IStream, DWORD, IOleDocumentView*); 122 HRESULT GetDocMiscStatus(DWORD*); 122 HRESULT GetDocMiscStatus(DWORD*); 123 HRESULT EnumViews(LPENUMOLEDOCUMENTVIEWS*, IOleDocumentView**); | 123 HRESULT EnumViews(LPENUMOLEDOCUMENTVIEWS*, IOleDocumentView*); 124 } 124 } 125 125 126 interface IOleCommandTarget : IUnknown { 126 interface IOleCommandTarget : IUnknown { 127 HRESULT QueryStatus(CPtr!(GUID), ULONG, OLECMD*, OLECMDTEXT*); | 127 HRESULT QueryStatus(const(GUID)*, ULONG, OLECMD*, OLECMDTEXT*); 128 HRESULT Exec(CPtr!(GUID), DWORD, DWORD, VARIANTARG*, VARIANTARG*); | 128 HRESULT Exec(const(GUID)*, DWORD, DWORD, VARIANTARG*, VARIANTARG*); 129 } 129 } 130 130 131 interface IOleDocumentSite : IUnknown { 131 interface IOleDocumentSite : IUnknown { 132 HRESULT ActivateMe(IOleDocumentView*); | 132 HRESULT ActivateMe(IOleDocumentView); 133 } 133 }

Modified src/win32/errorrep.d from [ea77bc83084315f4] to [e15d42c911b399d3].

Modified src/win32/exdisp.d from [4cc398018e338f19] to [86d294ce6711c367].

Modified src/win32/exdispid.d from [6ac669b949b25513] to [f9db50b00c70051d].

Modified src/win32/httpext.d from [7cfbf84102013a8b] to [dcfd30a46b353b59].

41 HSE_TERM_MUST_UNLOAD, 41 HSE_TERM_MUST_UNLOAD, 42 HSE_IO_SYNC = 0x00000001, 42 HSE_IO_SYNC = 0x00000001, 43 HSE_IO_ASYNC, 43 HSE_IO_ASYNC, 44 HSE_IO_DISCONNECT_AFTER_SEND = 0x00000004, 44 HSE_IO_DISCONNECT_AFTER_SEND = 0x00000004, 45 HSE_IO_SEND_HEADERS = 0x00000008 45 HSE_IO_SEND_HEADERS = 0x00000008 46 } 46 } 47 47 48 alias HANDLE HCONN; | 48 mixin DECLARE_HANDLE!("HCONN"); 49 49 50 struct HSE_VERSION_INFO { 50 struct HSE_VERSION_INFO { 51 DWORD dwExtensionVersion; 51 DWORD dwExtensionVersion; 52 CHAR[HSE_MAX_EXT_DLL_NAME_LEN] lpszExtensionDesc; 52 CHAR[HSE_MAX_EXT_DLL_NAME_LEN] lpszExtensionDesc; 53 } 53 } 54 alias HSE_VERSION_INFO* LPHSE_VERSION_INFO; 54 alias HSE_VERSION_INFO* LPHSE_VERSION_INFO; 55 55

Modified src/win32/idispids.d from [45a7d6937f4a5f8e] to [b1d5aaa0844dff44].

Modified src/win32/imagehlp.d from [743d5e4032c0de59] to [bbf16340c786af1a].

255 DWORD SizeOfStruct; 255 DWORD SizeOfStruct; 256 DWORD NumberOfDups; 256 DWORD NumberOfDups; 257 PIMAGEHLP_SYMBOL Symbol; 257 PIMAGEHLP_SYMBOL Symbol; 258 ULONG SelectedSymbol; 258 ULONG SelectedSymbol; 259 } 259 } 260 alias IMAGEHLP_DUPLICATE_SYMBOL* PIMAGEHLP_DUPLICATE_SYMBOL; 260 alias IMAGEHLP_DUPLICATE_SYMBOL* PIMAGEHLP_DUPLICATE_SYMBOL; 261 261 262 alias HANDLE DIGEST_HANDLE; | 262 mixin DECLARE_HANDLE!("DIGEST_HANDLE"); 263 263 264 extern (Windows) { 264 extern (Windows) { 265 alias BOOL function(IMAGEHLP_STATUS_REASON, LPSTR, LPSTR, ULONG, ULONG) 265 alias BOOL function(IMAGEHLP_STATUS_REASON, LPSTR, LPSTR, ULONG, ULONG) 266 PIMAGEHLP_STATUS_ROUTINE; 266 PIMAGEHLP_STATUS_ROUTINE; 267 alias BOOL function(HANDLE , LPCVOID, LPVOID, DWORD, LPDWORD) 267 alias BOOL function(HANDLE , LPCVOID, LPVOID, DWORD, LPDWORD) 268 PREAD_PROCESS_MEMORY_ROUTINE; 268 PREAD_PROCESS_MEMORY_ROUTINE; 269 alias LPVOID function(HANDLE, DWORD) PFUNCTION_TABLE_ACCESS_ROUTINE; 269 alias LPVOID function(HANDLE, DWORD) PFUNCTION_TABLE_ACCESS_ROUTINE;

Modified src/win32/imm.d from [298859cd23308dab] to [04daf8e31397c587].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.imm; 10 module win32.imm; 11 pragma(lib, "imm32.lib"); | 11 pragma(lib, "imm32"); 12 12 13 import win32.windef, win32.wingdi; 13 import win32.windef, win32.wingdi; 14 import win32.winuser; // for the MFS_xxx enums. 14 import win32.winuser; // for the MFS_xxx enums. 15 private import win32.w32api; 15 private import win32.w32api; 16 16 17 const WM_CONVERTREQUESTEX = 0x108; 17 const WM_CONVERTREQUESTEX = 0x108; 18 const WM_IME_STARTCOMPOSITION = 0x10D; 18 const WM_IME_STARTCOMPOSITION = 0x10D; ................................................................................................................................................................................ 21 const WM_IME_KEYLAST = 0x10F; 21 const WM_IME_KEYLAST = 0x10F; 22 const WM_IME_SETCONTEXT = 0x281; 22 const WM_IME_SETCONTEXT = 0x281; 23 const WM_IME_NOTIFY = 0x282; 23 const WM_IME_NOTIFY = 0x282; 24 const WM_IME_CONTROL = 0x283; 24 const WM_IME_CONTROL = 0x283; 25 const WM_IME_COMPOSITIONFULL = 0x284; 25 const WM_IME_COMPOSITIONFULL = 0x284; 26 const WM_IME_SELECT = 0x285; 26 const WM_IME_SELECT = 0x285; 27 const WM_IME_CHAR = 0x286; 27 const WM_IME_CHAR = 0x286; 28 static if (WINVER >= 0x500) { | 28 static if (_WIN32_WINNT >= 0x500) { 29 const WM_IME_REQUEST = 0x288; 29 const WM_IME_REQUEST = 0x288; 30 } 30 } 31 const WM_IME_KEYDOWN = 0x290; 31 const WM_IME_KEYDOWN = 0x290; 32 const WM_IME_KEYUP = 0x291; 32 const WM_IME_KEYUP = 0x291; 33 33 34 34 35 const IMC_GETCANDIDATEPOS=7; 35 const IMC_GETCANDIDATEPOS=7; ................................................................................................................................................................................ 296 struct CANDIDATELIST{ 296 struct CANDIDATELIST{ 297 DWORD dwSize; 297 DWORD dwSize; 298 DWORD dwStyle; 298 DWORD dwStyle; 299 DWORD dwCount; 299 DWORD dwCount; 300 DWORD dwSelection; 300 DWORD dwSelection; 301 DWORD dwPageStart; 301 DWORD dwPageStart; 302 DWORD dwPageSize; 302 DWORD dwPageSize; 303 DWORD dwOffset[1]; | 303 DWORD[1] dwOffset; 304 } 304 } 305 alias CANDIDATELIST* PCANDIDATELIST, LPCANDIDATELIST; 305 alias CANDIDATELIST* PCANDIDATELIST, LPCANDIDATELIST; 306 306 307 struct REGISTERWORDA{ 307 struct REGISTERWORDA{ 308 LPSTR lpReading; 308 LPSTR lpReading; 309 LPSTR lpWord; 309 LPSTR lpWord; 310 } 310 } ................................................................................................................................................................................ 314 LPWSTR lpReading; 314 LPWSTR lpReading; 315 LPWSTR lpWord; 315 LPWSTR lpWord; 316 } 316 } 317 alias REGISTERWORDW* PREGISTERWORDW, LPREGISTERWORDW; 317 alias REGISTERWORDW* PREGISTERWORDW, LPREGISTERWORDW; 318 318 319 struct STYLEBUFA{ 319 struct STYLEBUFA{ 320 DWORD dwStyle; 320 DWORD dwStyle; 321 CHAR szDescription[STYLE_DESCRIPTION_SIZE]; | 321 CHAR[STYLE_DESCRIPTION_SIZE] szDescription; 322 } 322 } 323 alias STYLEBUFA* PSTYLEBUFA, LPSTYLEBUFA; 323 alias STYLEBUFA* PSTYLEBUFA, LPSTYLEBUFA; 324 324 325 struct STYLEBUFW{ 325 struct STYLEBUFW{ 326 DWORD dwStyle; 326 DWORD dwStyle; 327 WCHAR szDescription[STYLE_DESCRIPTION_SIZE]; | 327 WCHAR[STYLE_DESCRIPTION_SIZE] szDescription; 328 } 328 } 329 alias STYLEBUFW* PSTYLEBUFW, LPSTYLEBUFW; 329 alias STYLEBUFW* PSTYLEBUFW, LPSTYLEBUFW; 330 330 331 struct IMEMENUITEMINFOA{ 331 struct IMEMENUITEMINFOA{ 332 UINT cbSize = this.sizeof; 332 UINT cbSize = this.sizeof; 333 UINT fType; 333 UINT fType; 334 UINT fState; 334 UINT fState; 335 UINT wID; 335 UINT wID; 336 HBITMAP hbmpChecked; 336 HBITMAP hbmpChecked; 337 HBITMAP hbmpUnchecked; 337 HBITMAP hbmpUnchecked; 338 DWORD dwItemData; 338 DWORD dwItemData; 339 CHAR szString[IMEMENUITEM_STRING_SIZE]; | 339 CHAR[IMEMENUITEM_STRING_SIZE] szString; 340 HBITMAP hbmpItem; 340 HBITMAP hbmpItem; 341 } 341 } 342 alias IMEMENUITEMINFOA* PIMEMENUITEMINFOA, LPIMEMENUITEMINFOA; 342 alias IMEMENUITEMINFOA* PIMEMENUITEMINFOA, LPIMEMENUITEMINFOA; 343 343 344 struct IMEMENUITEMINFOW{ 344 struct IMEMENUITEMINFOW{ 345 UINT cbSize = this.sizeof; 345 UINT cbSize = this.sizeof; 346 UINT fType; 346 UINT fType; 347 UINT fState; 347 UINT fState; 348 UINT wID; 348 UINT wID; 349 HBITMAP hbmpChecked; 349 HBITMAP hbmpChecked; 350 HBITMAP hbmpUnchecked; 350 HBITMAP hbmpUnchecked; 351 DWORD dwItemData; 351 DWORD dwItemData; 352 WCHAR szString[IMEMENUITEM_STRING_SIZE]; | 352 WCHAR[IMEMENUITEM_STRING_SIZE] szString; 353 HBITMAP hbmpItem; 353 HBITMAP hbmpItem; 354 } 354 } 355 alias IMEMENUITEMINFOW* PIMEMENUITEMINFOW, LPIMEMENUITEMINFOW; 355 alias IMEMENUITEMINFOW* PIMEMENUITEMINFOW, LPIMEMENUITEMINFOW; 356 356 357 alias int function (LPCSTR, DWORD, LPCSTR, LPVOID) REGISTERWORDENUMPROCA; 357 alias int function (LPCSTR, DWORD, LPCSTR, LPVOID) REGISTERWORDENUMPROCA; 358 alias int function (LPCWSTR, DWORD, LPCWSTR, LPVOID) REGISTERWORDENUMPROCW; 358 alias int function (LPCWSTR, DWORD, LPCWSTR, LPVOID) REGISTERWORDENUMPROCW; 359 359

Modified src/win32/intshcut.d from [3dec7c6df065235c] to [f638f23bb3b111dc].

60 alias URLINVOKECOMMANDINFO* PURLINVOKECOMMANDINFO, PCURLINVOKECOMMANDINFO; 60 alias URLINVOKECOMMANDINFO* PURLINVOKECOMMANDINFO, PCURLINVOKECOMMANDINFO; 61 61 62 interface IUniformResourceLocator : IUnknown { 62 interface IUniformResourceLocator : IUnknown { 63 HRESULT SetURL(PCSTR, DWORD); 63 HRESULT SetURL(PCSTR, DWORD); 64 HRESULT GetURL(PSTR*); 64 HRESULT GetURL(PSTR*); 65 HRESULT InvokeCommand(PURLINVOKECOMMANDINFO); 65 HRESULT InvokeCommand(PURLINVOKECOMMANDINFO); 66 } 66 } 67 alias IUniformResourceLocator CIUniformResourceLocator; | 67 //alias typeof(*(IUniformResourceLocator.init)) CIUniformResourceLocator; // val 68 alias IUniformResourceLocator* PIUniformResourceLocator, | 68 alias IUniformResourceLocator PIUniformResourceLocator, 69 PCIUniformResourceLocator; 69 PCIUniformResourceLocator; 70 70 71 extern (Windows) { 71 extern (Windows) { 72 BOOL InetIsOffline(DWORD); 72 BOOL InetIsOffline(DWORD); 73 HRESULT MIMEAssociationDialogA(HWND, DWORD, PCSTR, PCSTR, PSTR, UINT); 73 HRESULT MIMEAssociationDialogA(HWND, DWORD, PCSTR, PCSTR, PSTR, UINT); 74 HRESULT MIMEAssociationDialogW(HWND, DWORD, PCWSTR, PCWSTR, PWSTR, UINT) 74 HRESULT MIMEAssociationDialogW(HWND, DWORD, PCWSTR, PCWSTR, PWSTR, UINT) 75 HRESULT TranslateURLA(PCSTR, DWORD, PSTR*); 75 HRESULT TranslateURLA(PCSTR, DWORD, PSTR*);

Modified src/win32/ipexport.d from [5a823418cedc80e8] to [5ac570681356fed1].

Modified src/win32/iphlpapi.d from [11828d4561dc6f68] to [0e036969485d7abe].

Modified src/win32/ipifcons.d from [14fff92b77913fcb] to [309cc6cabdd19f28].

Modified src/win32/iprtrmib.d from [ddb714521d78c352] to [14e68fd03f7e7ac9].

Modified src/win32/iptypes.d from [93c2ee9c88a504a9] to [f81fbdd33cced747].

10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.iptypes; 11 module win32.iptypes; 12 12 13 import win32.windef; 13 import win32.windef; 14 version(Tango){ 14 version(Tango){ 15 private import tango.stdc.time; 15 private import tango.stdc.time; 16 }else{ 16 }else{ > 17 version (D_Version2) > 18 import core.stdc.time; > 19 else 17 private import std.c.time; | 20 import std.c.time; 18 } 21 } 19 //#include <sys/types.h> 22 //#include <sys/types.h> 20 23 21 const size_t 24 const size_t 22 DEFAULT_MINIMUM_ENTITIES = 32, 25 DEFAULT_MINIMUM_ENTITIES = 32, 23 MAX_ADAPTER_ADDRESS_LENGTH = 8, 26 MAX_ADAPTER_ADDRESS_LENGTH = 8, 24 MAX_ADAPTER_DESCRIPTION_LENGTH = 128, 27 MAX_ADAPTER_DESCRIPTION_LENGTH = 128,

Modified src/win32/isguids.d from [09bcf98ace7cad90] to [de4667e9c3bdbfff].

Modified src/win32/lm.d from [17722dcea6632fed] to [b26d9ff38bedf081].

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

Modified src/win32/lmaccess.d from [eb215384d5061fbb] to [41a90d8230b33423].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.lmaccess; 10 module win32.lmaccess; 11 pragma(lib, "netapi32.lib"); | 11 pragma(lib, "netapi32"); 12 12 13 /** 13 /** 14 Changes relative to MinGW: 14 Changes relative to MinGW: 15 USER_POSIX_ID_PARMNUM and GROUP_POSIX_ID_PARMNUM aren't in MinGW or in 15 USER_POSIX_ID_PARMNUM and GROUP_POSIX_ID_PARMNUM aren't in MinGW or in 16 the Platform SDK docs, so they have been dropped from this file. 16 the Platform SDK docs, so they have been dropped from this file. 17 */ 17 */ 18 18 ................................................................................................................................................................................ 347 LPWSTR usri20_comment; 347 LPWSTR usri20_comment; 348 DWORD usri20_flags; 348 DWORD usri20_flags; 349 DWORD usri20_user_id; 349 DWORD usri20_user_id; 350 } 350 } 351 alias USER_INFO_20* PUSER_INFO_20, LPUSER_INFO_20; 351 alias USER_INFO_20* PUSER_INFO_20, LPUSER_INFO_20; 352 352 353 struct USER_INFO_21 { 353 struct USER_INFO_21 { 354 BYTE usri21_password[ENCRYPTED_PWLEN]; | 354 BYTE[ENCRYPTED_PWLEN] usri21_password; 355 } 355 } 356 alias USER_INFO_21* PUSER_INFO_21, LPUSER_INFO_21; 356 alias USER_INFO_21* PUSER_INFO_21, LPUSER_INFO_21; 357 357 358 struct USER_INFO_22{ 358 struct USER_INFO_22{ 359 LPWSTR usri22_name; 359 LPWSTR usri22_name; 360 BYTE usri22_password[ENCRYPTED_PWLEN]; | 360 BYTE[ENCRYPTED_PWLEN] usri22_password; 361 DWORD usri22_password_age; 361 DWORD usri22_password_age; 362 DWORD usri22_priv; 362 DWORD usri22_priv; 363 LPWSTR usri22_home_dir; 363 LPWSTR usri22_home_dir; 364 LPWSTR usri22_comment; 364 LPWSTR usri22_comment; 365 DWORD usri22_flags; 365 DWORD usri22_flags; 366 LPWSTR usri22_script_path; 366 LPWSTR usri22_script_path; 367 DWORD usri22_auth_flags; 367 DWORD usri22_auth_flags;

Modified src/win32/lmalert.d from [f4b497581be6267b] to [0911235d09725936].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.lmalert; 10 module win32.lmalert; 11 pragma(lib, "netapi32.lib"); | 11 pragma(lib, "netapi32"); 12 12 13 private import win32.lmcons, win32.windef; 13 private import win32.lmcons, win32.windef; 14 14 15 const TCHAR[] 15 const TCHAR[] 16 ALERTER_MAILSLOT = `\\.\MAILSLOT\Alerter`, 16 ALERTER_MAILSLOT = `\\.\MAILSLOT\Alerter`, 17 ALERT_PRINT_EVENT = "PRINTING", 17 ALERT_PRINT_EVENT = "PRINTING", 18 ALERT_MESSAGE_EVENT = "MESSAGE", 18 ALERT_MESSAGE_EVENT = "MESSAGE", ................................................................................................................................................................................ 42 DWORD alrtad_errcode; 42 DWORD alrtad_errcode; 43 DWORD alrtad_numstrings; 43 DWORD alrtad_numstrings; 44 } 44 } 45 alias ADMIN_OTHER_INFO* PADMIN_OTHER_INFO, LPADMIN_OTHER_INFO; 45 alias ADMIN_OTHER_INFO* PADMIN_OTHER_INFO, LPADMIN_OTHER_INFO; 46 46 47 struct STD_ALERT{ 47 struct STD_ALERT{ 48 DWORD alrt_timestamp; 48 DWORD alrt_timestamp; 49 TCHAR alrt_eventname[EVLEN+1]; | 49 TCHAR[EVLEN+1] alrt_eventname; 50 TCHAR alrt_servicename[SNLEN+1]; | 50 TCHAR[SNLEN+1] alrt_servicename; 51 } 51 } 52 alias STD_ALERT* PSTD_ALERT, LPSTD_ALERT; 52 alias STD_ALERT* PSTD_ALERT, LPSTD_ALERT; 53 53 54 struct ERRLOG_OTHER_INFO{ 54 struct ERRLOG_OTHER_INFO{ 55 DWORD alrter_errcode; 55 DWORD alrter_errcode; 56 DWORD alrter_offset; 56 DWORD alrter_offset; 57 } 57 }

Modified src/win32/lmapibuf.d from [31686aa542bfe49a] to [70d972547cb509ad].

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

Modified src/win32/lmat.d from [0107aad9ea7103aa] to [c09edf3182df2a76].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.lmat; 10 module win32.lmat; 11 pragma(lib, "netapi32.lib"); | 11 pragma(lib, "netapi32"); 12 12 13 private import win32.lmcons, win32.windef; 13 private import win32.lmcons, win32.windef; 14 14 15 const JOB_RUN_PERIODICALLY = 1; 15 const JOB_RUN_PERIODICALLY = 1; 16 const JOB_EXEC_ERROR = 2; 16 const JOB_EXEC_ERROR = 2; 17 const JOB_RUNS_TODAY = 4; 17 const JOB_RUNS_TODAY = 4; 18 const JOB_ADD_CURRENT_DATE = 8; 18 const JOB_ADD_CURRENT_DATE = 8;

Modified src/win32/lmaudit.d from [9e090844a323ae50] to [7f4e7be0e795bc57].

Modified src/win32/lmbrowsr.d from [377ae4403930c8d3] to [c82b2f6939b6eb5d].

Modified src/win32/lmchdev.d from [9590df0ba50f0d83] to [9c8e92fcb5a542c6].

Modified src/win32/lmconfig.d from [b41a4ef31c37e0e3] to [c4320c24efe6d18e].

Modified src/win32/lmcons.d from [67900f73320ed9a9] to [fd0f86f97f2386d9].

Modified src/win32/lmerr.d from [5d4be2d56864693a] to [bf5ff21a511b1fcd].

Modified src/win32/lmerrlog.d from [c43e9c476d43082d] to [bf007c9ecd0ad681].

Modified src/win32/lmmsg.d from [4a6a27a65a3145c6] to [df09b120755ba58c].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.lmmsg; 10 module win32.lmmsg; 11 pragma(lib, "netapi32.lib"); | 11 pragma(lib, "netapi32"); 12 12 13 private import win32.lmcons, win32.windef, win32.w32api; 13 private import win32.lmcons, win32.windef, win32.w32api; 14 14 15 static assert (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x501, | 15 static assert (_WIN32_WINNT >= 0x501, 16 "win32.lmmsg is available only if version WindowsXP, Windows2003 " 16 "win32.lmmsg is available only if version WindowsXP, Windows2003 " 17 "or WindowsVista is set"); 17 "or WindowsVista is set"); 18 18 19 const MSGNAME_NOT_FORWARDED = 0; 19 const MSGNAME_NOT_FORWARDED = 0; 20 const MSGNAME_FORWARDED_TO = 4; 20 const MSGNAME_FORWARDED_TO = 4; 21 const MSGNAME_FORWARDED_FROM = 16; 21 const MSGNAME_FORWARDED_FROM = 16; 22 22

Modified src/win32/lmremutl.d from [b30e381dc9b94de5] to [9ec7c9fbaf59e3d6].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.lmremutl; 10 module win32.lmremutl; 11 pragma(lib, "netapi32.lib"); | 11 pragma(lib, "netapi32"); 12 12 13 // D Conversion Note: DESC_CHAR is defined as TCHAR. 13 // D Conversion Note: DESC_CHAR is defined as TCHAR. 14 14 15 private import win32.lmcons, win32.windef; 15 private import win32.lmcons, win32.windef; 16 16 17 const SUPPORTS_REMOTE_ADMIN_PROTOCOL = 2; 17 const SUPPORTS_REMOTE_ADMIN_PROTOCOL = 2; 18 const SUPPORTS_RPC = 4; 18 const SUPPORTS_RPC = 4;

Modified src/win32/lmrepl.d from [8f5e4a7a7a045062] to [91171115333dc2d6].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.lmrepl; 10 module win32.lmrepl; 11 pragma(lib, "netapi32.lib"); | 11 pragma(lib, "netapi32"); 12 12 13 private import win32.lmcons, win32.windef; 13 private import win32.lmcons, win32.windef; 14 14 15 const REPL_ROLE_EXPORT=1; 15 const REPL_ROLE_EXPORT=1; 16 const REPL_ROLE_IMPORT=2; 16 const REPL_ROLE_IMPORT=2; 17 const REPL_ROLE_BOTH=3; 17 const REPL_ROLE_BOTH=3; 18 18

Modified src/win32/lmserver.d from [8d2219491fd686fa] to [c00c39f128b03b04].

Modified src/win32/lmshare.d from [ed15fe1b7afa0e8f] to [95dca8c0f3ce0fc0].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.lmshare; 10 module win32.lmshare; > 11 pragma(lib, "netapi"); 11 12 12 import win32.lmcons; 13 import win32.lmcons; 13 private import win32.w32api, win32.windef; 14 private import win32.w32api, win32.windef; 14 15 15 static if (_WIN32_WINNT_ONLY) { < 16 pragma(lib, "netapi.lib"); < 17 } < 18 /* else { < 19 // only for WinME, 98, 95. < 20 pragma(lib, "svrapi.lib") < 21 } < 22 */ < 23 16 24 const SHARE_NETNAME_PARMNUM = 1; 17 const SHARE_NETNAME_PARMNUM = 1; 25 const SHARE_TYPE_PARMNUM = 3; 18 const SHARE_TYPE_PARMNUM = 3; 26 const SHARE_REMARK_PARMNUM = 4; 19 const SHARE_REMARK_PARMNUM = 4; 27 const SHARE_PERMISSIONS_PARMNUM = 5; 20 const SHARE_PERMISSIONS_PARMNUM = 5; 28 const SHARE_MAX_USES_PARMNUM = 6; 21 const SHARE_MAX_USES_PARMNUM = 6; 29 const SHARE_CURRENT_USES_PARMNUM = 7; 22 const SHARE_CURRENT_USES_PARMNUM = 7;

Modified src/win32/lmsname.d from [1952041052a96659] to [186e667799d84961].

Modified src/win32/lmstats.d from [366f8fb859c9c947] to [0b642be89bc8d9dc].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.lmstats; 10 module win32.lmstats; 11 pragma(lib, "netapi32.lib"); | 11 pragma(lib, "netapi32"); 12 12 13 private import win32.lmcons, win32.windef; 13 private import win32.lmcons, win32.windef; 14 14 15 const ULONG 15 const ULONG 16 STATSOPT_CLR = 1, 16 STATSOPT_CLR = 1, 17 STATS_NO_VALUE = -1, 17 STATS_NO_VALUE = -1, 18 STATS_OVERFLOW = -2; 18 STATS_OVERFLOW = -2;

Modified src/win32/lmsvc.d from [da38f7b5a27f01f1] to [893821ed8f5fba34].

Modified src/win32/lmuse.d from [60a0e9bf7288e4f5] to [00c58add0720686e].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.lmuse; 10 module win32.lmuse; 11 pragma(lib, "netapi32.lib"); | 11 pragma(lib, "netapi32"); 12 12 13 import win32.lmuseflg; 13 import win32.lmuseflg; 14 private import win32.lmcons, win32.windef; 14 private import win32.lmcons, win32.windef; 15 15 16 enum { 16 enum { 17 USE_LOCAL_PARMNUM = 1, 17 USE_LOCAL_PARMNUM = 1, 18 USE_REMOTE_PARMNUM, 18 USE_REMOTE_PARMNUM,

Modified src/win32/lmwksta.d from [a830d940c9e9f1c6] to [ebe621a9a42758b0].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.lmwksta; 10 module win32.lmwksta; 11 pragma(lib, "netapi32.lib"); | 11 pragma(lib, "netapi32"); 12 12 13 import win32.lmuseflg; 13 import win32.lmuseflg; 14 private import win32.lmcons, win32.windef; 14 private import win32.lmcons, win32.windef; 15 15 16 pragma(lib, "Netapi32.lib"); | 16 pragma(lib, "Netapi32"); 17 17 18 enum { 18 enum { 19 WKSTA_COMPUTERNAME_PARMNUM = 1, 19 WKSTA_COMPUTERNAME_PARMNUM = 1, 20 WKSTA_LANGROUP_PARMNUM, // = 2 20 WKSTA_LANGROUP_PARMNUM, // = 2 21 WKSTA_VER_MAJOR_PARMNUM = 4, 21 WKSTA_VER_MAJOR_PARMNUM = 4, 22 WKSTA_VER_MINOR_PARMNUM, 22 WKSTA_VER_MINOR_PARMNUM, 23 WKSTA_LOGGED_ON_USERS_PARMNUM, 23 WKSTA_LOGGED_ON_USERS_PARMNUM,

Modified src/win32/lzexpand.d from [9913c810ddc077f2] to [5dc183bdbcf57991].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.lzexpand; 10 module win32.lzexpand; 11 pragma(lib, "lz32.lib"); | 11 pragma(lib, "lz32"); 12 12 13 private import win32.winbase, win32.windef; 13 private import win32.winbase, win32.windef; 14 14 15 enum : LONG { 15 enum : LONG { 16 LZERROR_BADINHANDLE = -1, 16 LZERROR_BADINHANDLE = -1, 17 LZERROR_BADOUTHANDLE = -2, 17 LZERROR_BADOUTHANDLE = -2, 18 LZERROR_READ = -3, 18 LZERROR_READ = -3,

Added src/win32/makefile version [8869c92aa8b03b7f]

> 1 # Makefile for the Windows API project > 2 # Uses GNU Make-specific extensions > 3 > 4 DC := dmd.exe > 5 > 6 DFLAGS := -inline -O -release -w > 7 #DFLAGS := -debug -gc -unittest -w > 8 > 9 DFLAGS += -version=Unicode -version=WindowsVista > 10 > 11 ######################################## > 12 > 13 SUBDIRS := directx > 14 > 15 EXCLUSIONS := winsock.d > 16 > 17 ######################################## > 18 > 19 SOURCES := $(wildcard *.d $(addsuffix /*.d, $(SUBDIRS))) > 20 SOURCES := $(filter-out $(EXCLUSIONS), $(SOURCES)) > 21 > 22 ######################################## > 23 > 24 win32.lib : $(SOURCES) > 25 $(DC) $^ -lib -of$@ $(DFLAGS) > 26 > 27 win64.lib : $(SOURCES) > 28 $(DC) $^ -lib -m64 -of$@ $(DFLAGS) > 29 > 30 clean : > 31 -del win32.lib > 32 -del win64.lib > 33 > 34 .PHONY : clean

Modified src/win32/mapi.d from [e28cc740776b0e1e] to [d8f5f739d62d3fbe].

Modified src/win32/mciavi.d from [701f04a9a8542c05] to [3c3449db5c90428d].

Modified src/win32/mcx.d from [8ace5e6be9e6286f] to [6ac9fa5193ef174e].

Modified src/win32/mgmtapi.d from [7e83f2fa4278c27c] to [7c196a667f07ade1].

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

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.mmsystem; 10 module win32.mmsystem; 11 pragma(lib, "winmm.lib"); | 11 pragma(lib, "winmm"); 12 12 13 /* The #defines MAKEFOURCC, mmioFOURCC, sndAlias are used to define 13 /* The #defines MAKEFOURCC, mmioFOURCC, sndAlias are used to define 14 * compile-time constants, so they are implemented as templates. 14 * compile-time constants, so they are implemented as templates. 15 */ 15 */ 16 16 17 private import win32.w32api, win32.windef, win32.winver; 17 private import win32.w32api, win32.windef, win32.winver; 18 18 ................................................................................................................................................................................ 168 const SND_ALIAS_START=0; 168 const SND_ALIAS_START=0; 169 169 170 template sndAlias(char c0, char c1) 170 template sndAlias(char c0, char c1) 171 { 171 { 172 const DWORD sndAlias = SND_ALIAS_START + c0 | (c1<<8); 172 const DWORD sndAlias = SND_ALIAS_START + c0 | (c1<<8); 173 } 173 } 174 174 175 const SND_ALIAS_SYSTEMASTERISK = sndAlias!('S','*'); | 175 const SND_ALIAS_SYSTEMASTERISK = sndAlias!('S', '*'); 176 const SND_ALIAS_SYSTEMQUESTION = sndAlias!('S','?'); | 176 const SND_ALIAS_SYSTEMQUESTION = sndAlias!('S', '?'); 177 const SND_ALIAS_SYSTEMHAND = sndAlias!('S','H'); | 177 const SND_ALIAS_SYSTEMHAND = sndAlias!('S', 'H'); 178 const SND_ALIAS_SYSTEMEXIT = sndAlias!('S','E'); | 178 const SND_ALIAS_SYSTEMEXIT = sndAlias!('S', 'E'); 179 const SND_ALIAS_SYSTEMSTART = sndAlias!('S','S'); | 179 const SND_ALIAS_SYSTEMSTART = sndAlias!('S', 'S'); 180 const SND_ALIAS_SYSTEMWELCOME = sndAlias!('S','W'); | 180 const SND_ALIAS_SYSTEMWELCOME = sndAlias!('S', 'W'); 181 const SND_ALIAS_SYSTEMEXCLAMATION = sndAlias!('S','!'); | 181 const SND_ALIAS_SYSTEMEXCLAMATION = sndAlias!('S', '!'); 182 const SND_ALIAS_SYSTEMDEFAULT = sndAlias!('S','D'); | 182 const SND_ALIAS_SYSTEMDEFAULT = sndAlias!('S', 'D'); 183 183 184 enum { 184 enum { 185 WAVERR_BADFORMAT = (WAVERR_BASE + 0), 185 WAVERR_BADFORMAT = (WAVERR_BASE + 0), 186 WAVERR_STILLPLAYING, 186 WAVERR_STILLPLAYING, 187 WAVERR_UNPREPARED, 187 WAVERR_UNPREPARED, 188 WAVERR_SYNC, // = WAVERR_BASE + 3; 188 WAVERR_SYNC, // = WAVERR_BASE + 3; 189 WAVERR_LASTERROR = WAVERR_SYNC 189 WAVERR_LASTERROR = WAVERR_SYNC ................................................................................................................................................................................ 445 const TIMERR_STRUCT=(TIMERR_BASE+33); 445 const TIMERR_STRUCT=(TIMERR_BASE+33); 446 const TIME_ONESHOT=0; 446 const TIME_ONESHOT=0; 447 const TIME_PERIODIC=1; 447 const TIME_PERIODIC=1; 448 const TIME_CALLBACK_FUNCTION=0; 448 const TIME_CALLBACK_FUNCTION=0; 449 const TIME_CALLBACK_EVENT_SET=16; 449 const TIME_CALLBACK_EVENT_SET=16; 450 const TIME_CALLBACK_EVENT_PULSE=32; 450 const TIME_CALLBACK_EVENT_PULSE=32; 451 451 452 static if (WINVER >= 0x0501) { | 452 static if (_WIN32_WINNT >= 0x501) { 453 453 454 const TIME_KILL_SYNCHRONOUS=0x0100; 454 const TIME_KILL_SYNCHRONOUS=0x0100; 455 455 456 } 456 } 457 457 458 const JOYERR_NOERROR = 0; 458 const JOYERR_NOERROR = 0; 459 const JOYERR_PARMS=(JOYERR_BASE+5); 459 const JOYERR_PARMS=(JOYERR_BASE+5); ................................................................................................................................................................................ 1002 const MCI_OVLY_WHERE_VIDEO=0x100000; 1002 const MCI_OVLY_WHERE_VIDEO=0x100000; 1003 1003 1004 const NEWTRANSPARENT=3; 1004 const NEWTRANSPARENT=3; 1005 const QUERYROPSUPPORT=40; 1005 const QUERYROPSUPPORT=40; 1006 const SELECTDIB=41; 1006 const SELECTDIB=41; 1007 1007 1008 LONG DIBINDEX(WORD n) { 1008 LONG DIBINDEX(WORD n) { 1009 return MAKELONG(n,0x10FF); | 1009 return MAKELONG(n, 0x10FF); 1010 } 1010 } 1011 const CAPS1=94; 1011 const CAPS1=94; 1012 const C1_TRANSPARENT=1; 1012 const C1_TRANSPARENT=1; 1013 1013 1014 const SEEK_SET=0; 1014 const SEEK_SET=0; 1015 const SEEK_CUR=1; 1015 const SEEK_CUR=1; 1016 const SEEK_END=2; 1016 const SEEK_END=2; 1017 1017 1018 alias DWORD MCIERROR; 1018 alias DWORD MCIERROR; 1019 alias UINT MCIDEVICEID; 1019 alias UINT MCIDEVICEID; 1020 alias UINT function (MCIDEVICEID,DWORD) YIELDPROC; | 1020 alias UINT function (MCIDEVICEID, DWORD) YIELDPROC; 1021 alias UINT MMVERSION; 1021 alias UINT MMVERSION; 1022 alias UINT MMRESULT; 1022 alias UINT MMRESULT; 1023 1023 1024 struct MMTIME { 1024 struct MMTIME { 1025 UINT wType; 1025 UINT wType; 1026 union { 1026 union { 1027 DWORD ms; 1027 DWORD ms; ................................................................................................................................................................................ 1031 struct smpte { 1031 struct smpte { 1032 BYTE hour; 1032 BYTE hour; 1033 BYTE min; 1033 BYTE min; 1034 BYTE sec; 1034 BYTE sec; 1035 BYTE frame; 1035 BYTE frame; 1036 BYTE fps; 1036 BYTE fps; 1037 BYTE dummy; 1037 BYTE dummy; 1038 BYTE pad[2]; | 1038 BYTE[2] pad; 1039 }; 1039 }; 1040 struct midi { 1040 struct midi { 1041 DWORD songptrpos; 1041 DWORD songptrpos; 1042 } 1042 } 1043 } 1043 } 1044 } 1044 } 1045 alias MMTIME* PMMTIME, LPMMTIME; 1045 alias MMTIME* PMMTIME, LPMMTIME; 1046 1046 1047 alias HANDLE HDRVR; | 1047 alias TypeDef!(HANDLE) HDRVR; 1048 1048 1049 struct DRVCONFIGINFO { 1049 struct DRVCONFIGINFO { 1050 DWORD dwDCISize; 1050 DWORD dwDCISize; 1051 LPCWSTR lpszDCISectionName; 1051 LPCWSTR lpszDCISectionName; 1052 LPCWSTR lpszDCIAliasName; 1052 LPCWSTR lpszDCIAliasName; 1053 } 1053 } 1054 alias DRVCONFIGINFO * PDRVCONFIGINFO, LPDRVCONFIGINFO; 1054 alias DRVCONFIGINFO * PDRVCONFIGINFO, LPDRVCONFIGINFO; ................................................................................................................................................................................ 1060 DWORD dnDevNode; 1060 DWORD dnDevNode; 1061 } 1061 } 1062 alias DRVCONFIGINFOEX* PDRVCONFIGINFOEX, LPDRVCONFIGINFOEX; 1062 alias DRVCONFIGINFOEX* PDRVCONFIGINFOEX, LPDRVCONFIGINFOEX; 1063 1063 1064 extern(Windows): 1064 extern(Windows): 1065 1065 1066 /+FIXME: I couldn't find these in MSDN. 1066 /+FIXME: I couldn't find these in MSDN. 1067 alias void function (HDRVR,UINT,DWORD,DWORD,DWORD) DRVCALLBACK; | 1067 alias void function (HDRVR, UINT, DWORD, DWORD, DWORD) DRVCALLBACK; 1068 LRESULT DRIVERPROC (DWORD,HDRVR,UINT,LPARAM,LPARAM); | 1068 LRESULT DRIVERPROC (DWORD, HDRVR, UINT, LPARAM, LPARAM); 1069 alias DRVCALLBACK* LPDRVCALLBACK, PDRVCALLBACK; 1069 alias DRVCALLBACK* LPDRVCALLBACK, PDRVCALLBACK; 1070 1070 1071 alias DRVCALLBACK WAVECALLBACK; 1071 alias DRVCALLBACK WAVECALLBACK; 1072 alias WAVECALLBACK* LPWAVECALLBACK; 1072 alias WAVECALLBACK* LPWAVECALLBACK; 1073 1073 1074 alias DRVCALLBACK MIDICALLBACK; 1074 alias DRVCALLBACK MIDICALLBACK; 1075 alias MIDICALLBACK* LPMIDICALLBACK; 1075 alias MIDICALLBACK* LPMIDICALLBACK; 1076 1076 1077 +/ 1077 +/ 1078 1078 1079 alias HANDLE HWAVE; | 1079 alias TypeDef!(HANDLE) HWAVE; 1080 alias HANDLE HWAVEIN; | 1080 alias TypeDef!(HANDLE) HWAVEIN; 1081 alias HANDLE HWAVEOUT; | 1081 alias TypeDef!(HANDLE) HWAVEOUT; 1082 1082 1083 alias HWAVEIN* LPHWAVEIN; 1083 alias HWAVEIN* LPHWAVEIN; 1084 alias HWAVEOUT* LPHWAVEOUT; 1084 alias HWAVEOUT* LPHWAVEOUT; 1085 1085 1086 struct WAVEHDR { 1086 struct WAVEHDR { 1087 LPSTR lpData; 1087 LPSTR lpData; 1088 DWORD dwBufferLength; 1088 DWORD dwBufferLength; ................................................................................................................................................................................ 1095 } 1095 } 1096 alias WAVEHDR* PWAVEHDR, LPWAVEHDR; 1096 alias WAVEHDR* PWAVEHDR, LPWAVEHDR; 1097 1097 1098 struct WAVEOUTCAPSA { 1098 struct WAVEOUTCAPSA { 1099 WORD wMid; 1099 WORD wMid; 1100 WORD wPid; 1100 WORD wPid; 1101 MMVERSION vDriverVersion; 1101 MMVERSION vDriverVersion; 1102 CHAR szPname[MAXPNAMELEN]; | 1102 CHAR[MAXPNAMELEN] szPname; 1103 DWORD dwFormats; 1103 DWORD dwFormats; 1104 WORD wChannels; 1104 WORD wChannels; 1105 WORD wReserved1; 1105 WORD wReserved1; 1106 DWORD dwSupport; 1106 DWORD dwSupport; 1107 } 1107 } 1108 alias WAVEOUTCAPSA* PWAVEOUTCAPSA, LPWAVEOUTCAPSA; 1108 alias WAVEOUTCAPSA* PWAVEOUTCAPSA, LPWAVEOUTCAPSA; 1109 1109 1110 struct WAVEOUTCAPSW { 1110 struct WAVEOUTCAPSW { 1111 WORD wMid; 1111 WORD wMid; 1112 WORD wPid; 1112 WORD wPid; 1113 MMVERSION vDriverVersion; 1113 MMVERSION vDriverVersion; 1114 WCHAR szPname[MAXPNAMELEN]; | 1114 WCHAR[MAXPNAMELEN] szPname; 1115 DWORD dwFormats; 1115 DWORD dwFormats; 1116 WORD wChannels; 1116 WORD wChannels; 1117 WORD wReserved1; 1117 WORD wReserved1; 1118 DWORD dwSupport; 1118 DWORD dwSupport; 1119 } 1119 } 1120 alias WAVEOUTCAPSW* PWAVEOUTCAPSW, LPWAVEOUTCAPSW; 1120 alias WAVEOUTCAPSW* PWAVEOUTCAPSW, LPWAVEOUTCAPSW; 1121 1121 1122 struct WAVEINCAPSA { 1122 struct WAVEINCAPSA { 1123 WORD wMid; 1123 WORD wMid; 1124 WORD wPid; 1124 WORD wPid; 1125 MMVERSION vDriverVersion; 1125 MMVERSION vDriverVersion; 1126 CHAR szPname[MAXPNAMELEN]; | 1126 CHAR[MAXPNAMELEN] szPname; 1127 DWORD dwFormats; 1127 DWORD dwFormats; 1128 WORD wChannels; 1128 WORD wChannels; 1129 WORD wReserved1; 1129 WORD wReserved1; 1130 } 1130 } 1131 alias WAVEINCAPSA* PWAVEINCAPSA, LPWAVEINCAPSA; 1131 alias WAVEINCAPSA* PWAVEINCAPSA, LPWAVEINCAPSA; 1132 1132 1133 struct WAVEINCAPSW { 1133 struct WAVEINCAPSW { 1134 WORD wMid; 1134 WORD wMid; 1135 WORD wPid; 1135 WORD wPid; 1136 MMVERSION vDriverVersion; 1136 MMVERSION vDriverVersion; 1137 WCHAR szPname[MAXPNAMELEN]; | 1137 WCHAR[MAXPNAMELEN] szPname; 1138 DWORD dwFormats; 1138 DWORD dwFormats; 1139 WORD wChannels; 1139 WORD wChannels; 1140 WORD wReserved1; 1140 WORD wReserved1; 1141 } 1141 } 1142 alias WAVEINCAPSW* PWAVEINCAPSW, LPWAVEINCAPSW; 1142 alias WAVEINCAPSW* PWAVEINCAPSW, LPWAVEINCAPSW; 1143 1143 1144 struct WAVEFORMAT { 1144 struct WAVEFORMAT { ................................................................................................................................................................................ 1162 DWORD nSamplesPerSec; 1162 DWORD nSamplesPerSec; 1163 DWORD nAvgBytesPerSec; 1163 DWORD nAvgBytesPerSec; 1164 WORD nBlockAlign; 1164 WORD nBlockAlign; 1165 WORD wBitsPerSample; 1165 WORD wBitsPerSample; 1166 WORD cbSize; 1166 WORD cbSize; 1167 } 1167 } 1168 alias WAVEFORMATEX* PWAVEFORMATEX, LPWAVEFORMATEX; 1168 alias WAVEFORMATEX* PWAVEFORMATEX, LPWAVEFORMATEX; 1169 alias CPtr!(WAVEFORMATEX) LPCWAVEFORMATEX; | 1169 alias const(WAVEFORMATEX)* LPCWAVEFORMATEX; 1170 1170 1171 alias HANDLE HMIDI; | 1171 alias TypeDef!(HANDLE) HMIDI; 1172 alias HANDLE HMIDIIN; | 1172 alias TypeDef!(HANDLE) HMIDIIN; 1173 alias HANDLE HMIDIOUT; | 1173 alias TypeDef!(HANDLE) HMIDIOUT; 1174 alias HANDLE HMIDISTRM; | 1174 alias TypeDef!(HANDLE) HMIDISTRM; 1175 1175 1176 alias HMIDI* LPHMIDI; 1176 alias HMIDI* LPHMIDI; 1177 alias HMIDIIN* LPHMIDIIN; 1177 alias HMIDIIN* LPHMIDIIN; 1178 alias HMIDIOUT* LPHMIDIOUT; 1178 alias HMIDIOUT* LPHMIDIOUT; 1179 alias HMIDISTRM* LPHMIDISTRM; 1179 alias HMIDISTRM* LPHMIDISTRM; 1180 1180 1181 alias WORD PATCHARRAY[MIDIPATCHSIZE]; | 1181 alias WORD[MIDIPATCHSIZE] PATCHARRAY; 1182 alias WORD* LPPATCHARRAY; 1182 alias WORD* LPPATCHARRAY; 1183 alias WORD KEYARRAY[MIDIPATCHSIZE]; | 1183 alias WORD[MIDIPATCHSIZE] KEYARRAY; 1184 alias WORD* LPKEYARRAY; 1184 alias WORD* LPKEYARRAY; 1185 1185 1186 struct MIDIOUTCAPSA { 1186 struct MIDIOUTCAPSA { 1187 WORD wMid; 1187 WORD wMid; 1188 WORD wPid; 1188 WORD wPid; 1189 MMVERSION vDriverVersion; 1189 MMVERSION vDriverVersion; 1190 CHAR szPname[MAXPNAMELEN]; | 1190 CHAR[MAXPNAMELEN] szPname; 1191 WORD wTechnology; 1191 WORD wTechnology; 1192 WORD wVoices; 1192 WORD wVoices; 1193 WORD wNotes; 1193 WORD wNotes; 1194 WORD wChannelMask; 1194 WORD wChannelMask; 1195 DWORD dwSupport; 1195 DWORD dwSupport; 1196 } 1196 } 1197 alias MIDIOUTCAPSA* PMIDIOUTCAPSA, LPMIDIOUTCAPSA; 1197 alias MIDIOUTCAPSA* PMIDIOUTCAPSA, LPMIDIOUTCAPSA; 1198 1198 1199 struct MIDIOUTCAPSW { 1199 struct MIDIOUTCAPSW { 1200 WORD wMid; 1200 WORD wMid; 1201 WORD wPid; 1201 WORD wPid; 1202 MMVERSION vDriverVersion; 1202 MMVERSION vDriverVersion; 1203 WCHAR szPname[MAXPNAMELEN]; | 1203 WCHAR[MAXPNAMELEN] szPname; 1204 WORD wTechnology; 1204 WORD wTechnology; 1205 WORD wVoices; 1205 WORD wVoices; 1206 WORD wNotes; 1206 WORD wNotes; 1207 WORD wChannelMask; 1207 WORD wChannelMask; 1208 DWORD dwSupport; 1208 DWORD dwSupport; 1209 } 1209 } 1210 alias MIDIOUTCAPSW* PMIDIOUTCAPSW, LPMIDIOUTCAPSW; 1210 alias MIDIOUTCAPSW* PMIDIOUTCAPSW, LPMIDIOUTCAPSW; 1211 1211 1212 struct MIDIINCAPSA { 1212 struct MIDIINCAPSA { 1213 WORD wMid; 1213 WORD wMid; 1214 WORD wPid; 1214 WORD wPid; 1215 MMVERSION vDriverVersion; 1215 MMVERSION vDriverVersion; 1216 CHAR szPname[MAXPNAMELEN]; | 1216 CHAR[MAXPNAMELEN] szPname; 1217 DWORD dwSupport; 1217 DWORD dwSupport; 1218 } 1218 } 1219 alias MIDIINCAPSA* PMIDIINCAPSA, LPMIDIINCAPSA; 1219 alias MIDIINCAPSA* PMIDIINCAPSA, LPMIDIINCAPSA; 1220 1220 1221 struct MIDIINCAPSW { 1221 struct MIDIINCAPSW { 1222 WORD wMid; 1222 WORD wMid; 1223 WORD wPid; 1223 WORD wPid; 1224 MMVERSION vDriverVersion; 1224 MMVERSION vDriverVersion; 1225 WCHAR szPname[MAXPNAMELEN]; | 1225 WCHAR[MAXPNAMELEN] szPname; 1226 DWORD dwSupport; 1226 DWORD dwSupport; 1227 } 1227 } 1228 alias MIDIINCAPSW* PMIDIINCAPSW, LPMIDIINCAPSW; 1228 alias MIDIINCAPSW* PMIDIINCAPSW, LPMIDIINCAPSW; 1229 1229 1230 struct MIDIHDR { 1230 struct MIDIHDR { 1231 LPSTR lpData; 1231 LPSTR lpData; 1232 DWORD dwBufferLength; 1232 DWORD dwBufferLength; 1233 DWORD dwBytesRecorded; 1233 DWORD dwBytesRecorded; 1234 DWORD dwUser; 1234 DWORD dwUser; 1235 DWORD dwFlags; 1235 DWORD dwFlags; 1236 MIDIHDR *lpNext; 1236 MIDIHDR *lpNext; 1237 DWORD reserved; 1237 DWORD reserved; 1238 DWORD dwOffset; 1238 DWORD dwOffset; 1239 DWORD dwReserved[8]; | 1239 DWORD[8] dwReserved; 1240 } 1240 } 1241 alias MIDIHDR* PMIDIHDR, LPMIDIHDR; 1241 alias MIDIHDR* PMIDIHDR, LPMIDIHDR; 1242 1242 1243 struct MIDIEVENT { 1243 struct MIDIEVENT { 1244 DWORD dwDeltaTime; 1244 DWORD dwDeltaTime; 1245 DWORD dwStreamID; 1245 DWORD dwStreamID; 1246 DWORD dwEvent; 1246 DWORD dwEvent; 1247 DWORD dwParms[1]; | 1247 DWORD[1] dwParms; 1248 } 1248 } 1249 1249 1250 struct MIDISTRMBUFFVER { 1250 struct MIDISTRMBUFFVER { 1251 DWORD dwVersion; 1251 DWORD dwVersion; 1252 DWORD dwMid; 1252 DWORD dwMid; 1253 DWORD dwOEMVersion; 1253 DWORD dwOEMVersion; 1254 } 1254 } ................................................................................................................................................................................ 1265 } 1265 } 1266 alias MIDIPROPTEMPO* LPMIDIPROPTEMPO; 1266 alias MIDIPROPTEMPO* LPMIDIPROPTEMPO; 1267 1267 1268 struct AUXCAPSA { 1268 struct AUXCAPSA { 1269 WORD wMid; 1269 WORD wMid; 1270 WORD wPid; 1270 WORD wPid; 1271 MMVERSION vDriverVersion; 1271 MMVERSION vDriverVersion; 1272 CHAR szPname[MAXPNAMELEN]; | 1272 CHAR[MAXPNAMELEN] szPname; 1273 WORD wTechnology; 1273 WORD wTechnology; 1274 WORD wReserved1; 1274 WORD wReserved1; 1275 DWORD dwSupport; 1275 DWORD dwSupport; 1276 } 1276 } 1277 alias AUXCAPSA* PAUXCAPSA, LPAUXCAPSA; 1277 alias AUXCAPSA* PAUXCAPSA, LPAUXCAPSA; 1278 1278 1279 struct AUXCAPSW { 1279 struct AUXCAPSW { 1280 WORD wMid; 1280 WORD wMid; 1281 WORD wPid; 1281 WORD wPid; 1282 MMVERSION vDriverVersion; 1282 MMVERSION vDriverVersion; 1283 WCHAR szPname[MAXPNAMELEN]; | 1283 WCHAR[MAXPNAMELEN] szPname; 1284 WORD wTechnology; 1284 WORD wTechnology; 1285 WORD wReserved1; 1285 WORD wReserved1; 1286 DWORD dwSupport; 1286 DWORD dwSupport; 1287 } 1287 } 1288 alias AUXCAPSW* PAUXCAPSW, LPAUXCAPSW; 1288 alias AUXCAPSW* PAUXCAPSW, LPAUXCAPSW; 1289 1289 1290 alias HANDLE HMIXEROBJ; | 1290 alias TypeDef!(HANDLE) HMIXEROBJ; 1291 alias HMIXEROBJ* LPHMIXEROBJ; 1291 alias HMIXEROBJ* LPHMIXEROBJ; 1292 1292 1293 alias HANDLE HMIXER; | 1293 alias TypeDef!(HANDLE) HMIXER; 1294 alias HMIXER* LPHMIXER; 1294 alias HMIXER* LPHMIXER; 1295 1295 1296 struct MIXERCAPSA { 1296 struct MIXERCAPSA { 1297 WORD wMid; 1297 WORD wMid; 1298 WORD wPid; 1298 WORD wPid; 1299 MMVERSION vDriverVersion; 1299 MMVERSION vDriverVersion; 1300 CHAR szPname[MAXPNAMELEN]; | 1300 CHAR[MAXPNAMELEN] szPname; 1301 DWORD fdwSupport; 1301 DWORD fdwSupport; 1302 DWORD cDestinations; 1302 DWORD cDestinations; 1303 } 1303 } 1304 alias MIXERCAPSA* PMIXERCAPSA, LPMIXERCAPSA; 1304 alias MIXERCAPSA* PMIXERCAPSA, LPMIXERCAPSA; 1305 1305 1306 struct MIXERCAPSW { 1306 struct MIXERCAPSW { 1307 WORD wMid; 1307 WORD wMid; 1308 WORD wPid; 1308 WORD wPid; 1309 MMVERSION vDriverVersion; 1309 MMVERSION vDriverVersion; 1310 WCHAR szPname[MAXPNAMELEN]; | 1310 WCHAR[MAXPNAMELEN] szPname; 1311 DWORD fdwSupport; 1311 DWORD fdwSupport; 1312 DWORD cDestinations; 1312 DWORD cDestinations; 1313 } 1313 } 1314 alias MIXERCAPSW* PMIXERCAPSW, LPMIXERCAPSW; 1314 alias MIXERCAPSW* PMIXERCAPSW, LPMIXERCAPSW; 1315 1315 1316 struct MIXERLINEA { 1316 struct MIXERLINEA { 1317 DWORD cbStruct; 1317 DWORD cbStruct; ................................................................................................................................................................................ 1320 DWORD dwLineID; 1320 DWORD dwLineID; 1321 DWORD fdwLine; 1321 DWORD fdwLine; 1322 DWORD dwUser; 1322 DWORD dwUser; 1323 DWORD dwComponentType; 1323 DWORD dwComponentType; 1324 DWORD cChannels; 1324 DWORD cChannels; 1325 DWORD cConnections; 1325 DWORD cConnections; 1326 DWORD cControls; 1326 DWORD cControls; 1327 CHAR szShortName[MIXER_SHORT_NAME_CHARS]; | 1327 CHAR[MIXER_SHORT_NAME_CHARS] szShortName; 1328 CHAR szName[MIXER_LONG_NAME_CHARS]; | 1328 CHAR[MIXER_LONG_NAME_CHARS] szName; 1329 struct Target { 1329 struct Target { 1330 DWORD dwType; 1330 DWORD dwType; 1331 DWORD dwDeviceID; 1331 DWORD dwDeviceID; 1332 WORD wMid; 1332 WORD wMid; 1333 WORD wPid; 1333 WORD wPid; 1334 MMVERSION vDriverVersion; 1334 MMVERSION vDriverVersion; 1335 CHAR szPname[MAXPNAMELEN]; | 1335 CHAR[MAXPNAMELEN] szPname; 1336 } 1336 } 1337 } 1337 } 1338 alias MIXERLINEA* PMIXERLINEA, LPMIXERLINEA; 1338 alias MIXERLINEA* PMIXERLINEA, LPMIXERLINEA; 1339 1339 1340 struct MIXERLINEW { 1340 struct MIXERLINEW { 1341 DWORD cbStruct; 1341 DWORD cbStruct; 1342 DWORD dwDestination; 1342 DWORD dwDestination; ................................................................................................................................................................................ 1344 DWORD dwLineID; 1344 DWORD dwLineID; 1345 DWORD fdwLine; 1345 DWORD fdwLine; 1346 DWORD dwUser; 1346 DWORD dwUser; 1347 DWORD dwComponentType; 1347 DWORD dwComponentType; 1348 DWORD cChannels; 1348 DWORD cChannels; 1349 DWORD cConnections; 1349 DWORD cConnections; 1350 DWORD cControls; 1350 DWORD cControls; 1351 WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; | 1351 WCHAR[MIXER_SHORT_NAME_CHARS] szShortName; 1352 WCHAR szName[MIXER_LONG_NAME_CHARS]; | 1352 WCHAR[MIXER_LONG_NAME_CHARS] szName; 1353 struct Target { 1353 struct Target { 1354 DWORD dwType; 1354 DWORD dwType; 1355 DWORD dwDeviceID; 1355 DWORD dwDeviceID; 1356 WORD wMid; 1356 WORD wMid; 1357 WORD wPid; 1357 WORD wPid; 1358 MMVERSION vDriverVersion; 1358 MMVERSION vDriverVersion; 1359 WCHAR szPname[MAXPNAMELEN]; | 1359 WCHAR[MAXPNAMELEN] szPname; 1360 } 1360 } 1361 } 1361 } 1362 alias MIXERLINEW* PMIXERLINEW, LPMIXERLINEW; 1362 alias MIXERLINEW* PMIXERLINEW, LPMIXERLINEW; 1363 1363 1364 struct MIXERCONTROLA { 1364 struct MIXERCONTROLA { 1365 DWORD cbStruct; 1365 DWORD cbStruct; 1366 DWORD dwControlID; 1366 DWORD dwControlID; 1367 DWORD dwControlType; 1367 DWORD dwControlType; 1368 DWORD fdwControl; 1368 DWORD fdwControl; 1369 DWORD cMultipleItems; 1369 DWORD cMultipleItems; 1370 CHAR szShortName[MIXER_SHORT_NAME_CHARS]; | 1370 CHAR[MIXER_SHORT_NAME_CHARS] szShortName; 1371 CHAR szName[MIXER_LONG_NAME_CHARS]; | 1371 CHAR[MIXER_LONG_NAME_CHARS] szName; 1372 union _Bounds { 1372 union _Bounds { 1373 struct { 1373 struct { 1374 LONG lMinimum; 1374 LONG lMinimum; 1375 LONG lMaximum; 1375 LONG lMaximum; 1376 } 1376 } 1377 struct { 1377 struct { 1378 DWORD dwMinimum; 1378 DWORD dwMinimum; 1379 DWORD dwMaximum; 1379 DWORD dwMaximum; 1380 } 1380 } 1381 DWORD dwReserved[6]; | 1381 DWORD[6] dwReserved; 1382 } 1382 } 1383 _Bounds Bounds; 1383 _Bounds Bounds; 1384 union _Metrics { 1384 union _Metrics { 1385 DWORD cSteps; 1385 DWORD cSteps; 1386 DWORD cbCustomData; 1386 DWORD cbCustomData; 1387 DWORD dwReserved[6]; | 1387 DWORD[6] dwReserved; 1388 } 1388 } 1389 _Metrics Metrics; 1389 _Metrics Metrics; 1390 } 1390 } 1391 alias MIXERCONTROLA* PMIXERCONTROLA, LPMIXERCONTROLA; 1391 alias MIXERCONTROLA* PMIXERCONTROLA, LPMIXERCONTROLA; 1392 1392 1393 struct MIXERCONTROLW { 1393 struct MIXERCONTROLW { 1394 DWORD cbStruct; 1394 DWORD cbStruct; 1395 DWORD dwControlID; 1395 DWORD dwControlID; 1396 DWORD dwControlType; 1396 DWORD dwControlType; 1397 DWORD fdwControl; 1397 DWORD fdwControl; 1398 DWORD cMultipleItems; 1398 DWORD cMultipleItems; 1399 WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; | 1399 WCHAR[MIXER_SHORT_NAME_CHARS] szShortName; 1400 WCHAR szName[MIXER_LONG_NAME_CHARS]; | 1400 WCHAR[MIXER_LONG_NAME_CHARS] szName; 1401 union _Bounds { 1401 union _Bounds { 1402 struct { 1402 struct { 1403 LONG lMinimum; 1403 LONG lMinimum; 1404 LONG lMaximum; 1404 LONG lMaximum; 1405 } 1405 } 1406 struct { 1406 struct { 1407 DWORD dwMinimum; 1407 DWORD dwMinimum; 1408 DWORD dwMaximum; 1408 DWORD dwMaximum; 1409 } 1409 } 1410 DWORD dwReserved[6]; | 1410 DWORD[6] dwReserved; 1411 } 1411 } 1412 _Bounds Bounds; 1412 _Bounds Bounds; 1413 union _Metrics { 1413 union _Metrics { 1414 DWORD cSteps; 1414 DWORD cSteps; 1415 DWORD cbCustomData; 1415 DWORD cbCustomData; 1416 DWORD dwReserved[6]; | 1416 DWORD[6] dwReserved; 1417 } 1417 } 1418 _Metrics Metrics; 1418 _Metrics Metrics; 1419 } 1419 } 1420 1420 1421 alias MIXERCONTROLW* PMIXERCONTROLW, LPMIXERCONTROLW; 1421 alias MIXERCONTROLW* PMIXERCONTROLW, LPMIXERCONTROLW; 1422 1422 1423 struct MIXERLINECONTROLSA { 1423 struct MIXERLINECONTROLSA { ................................................................................................................................................................................ 1458 PVOID paDetails; 1458 PVOID paDetails; 1459 } 1459 } 1460 alias MIXERCONTROLDETAILS* PMIXERCONTROLDETAILS, LPMIXERCONTROLDETAILS; 1460 alias MIXERCONTROLDETAILS* PMIXERCONTROLDETAILS, LPMIXERCONTROLDETAILS; 1461 1461 1462 struct MIXERCONTROLDETAILS_LISTTEXTA { 1462 struct MIXERCONTROLDETAILS_LISTTEXTA { 1463 DWORD dwParam1; 1463 DWORD dwParam1; 1464 DWORD dwParam2; 1464 DWORD dwParam2; 1465 CHAR szName[MIXER_LONG_NAME_CHARS]; | 1465 CHAR[MIXER_LONG_NAME_CHARS] szName; 1466 } 1466 } 1467 alias MIXERCONTROLDETAILS_LISTTEXTA* PMIXERCONTROLDETAILS_LISTTEXTA,LPMIXERCONTR | 1467 alias MIXERCONTROLDETAILS_LISTTEXTA* PMIXERCONTROLDETAILS_LISTTEXTA, LPMIXERCONT 1468 1468 1469 struct MIXERCONTROLDETAILS_LISTTEXTW { 1469 struct MIXERCONTROLDETAILS_LISTTEXTW { 1470 DWORD dwParam1; 1470 DWORD dwParam1; 1471 DWORD dwParam2; 1471 DWORD dwParam2; 1472 WCHAR szName[MIXER_LONG_NAME_CHARS]; | 1472 WCHAR[MIXER_LONG_NAME_CHARS] szName; 1473 } 1473 } 1474 alias MIXERCONTROLDETAILS_LISTTEXTW* PMIXERCONTROLDETAILS_LISTTEXTW,LPMIXERCONTR | 1474 alias MIXERCONTROLDETAILS_LISTTEXTW* PMIXERCONTROLDETAILS_LISTTEXTW, LPMIXERCONT 1475 1475 1476 struct MIXERCONTROLDETAILS_BOOLEAN { 1476 struct MIXERCONTROLDETAILS_BOOLEAN { 1477 LONG fValue; 1477 LONG fValue; 1478 } 1478 } 1479 alias MIXERCONTROLDETAILS_BOOLEAN* PMIXERCONTROLDETAILS_BOOLEAN, LPMIXERCONTROLD 1479 alias MIXERCONTROLDETAILS_BOOLEAN* PMIXERCONTROLDETAILS_BOOLEAN, LPMIXERCONTROLD 1480 1480 1481 struct MIXERCONTROLDETAILS_SIGNED { 1481 struct MIXERCONTROLDETAILS_SIGNED { ................................................................................................................................................................................ 1484 alias MIXERCONTROLDETAILS_SIGNED* PMIXERCONTROLDETAILS_SIGNED, LPMIXERCONTROLDET 1484 alias MIXERCONTROLDETAILS_SIGNED* PMIXERCONTROLDETAILS_SIGNED, LPMIXERCONTROLDET 1485 1485 1486 struct MIXERCONTROLDETAILS_UNSIGNED { 1486 struct MIXERCONTROLDETAILS_UNSIGNED { 1487 DWORD dwValue; 1487 DWORD dwValue; 1488 } 1488 } 1489 alias MIXERCONTROLDETAILS_UNSIGNED* PMIXERCONTROLDETAILS_UNSIGNED, LPMIXERCONTRO 1489 alias MIXERCONTROLDETAILS_UNSIGNED* PMIXERCONTROLDETAILS_UNSIGNED, LPMIXERCONTRO 1490 1490 1491 alias void function (UINT,UINT,DWORD,DWORD,DWORD) LPTIMECALLBACK; | 1491 alias void function (UINT, UINT, DWORD, DWORD, DWORD) LPTIMECALLBACK; 1492 1492 1493 struct TIMECAPS { 1493 struct TIMECAPS { 1494 UINT wPeriodMin; 1494 UINT wPeriodMin; 1495 UINT wPeriodMax; 1495 UINT wPeriodMax; 1496 } 1496 } 1497 alias TIMECAPS* PTIMECAPS, LPTIMECAPS; 1497 alias TIMECAPS* PTIMECAPS, LPTIMECAPS; 1498 1498 1499 struct JOYCAPSA { 1499 struct JOYCAPSA { 1500 WORD wMid; 1500 WORD wMid; 1501 WORD wPid; 1501 WORD wPid; 1502 CHAR szPname[MAXPNAMELEN]; | 1502 CHAR[MAXPNAMELEN] szPname; > 1503 UINT wXmin; > 1504 UINT wXmax; > 1505 UINT wYmin; > 1506 UINT wYmax; > 1507 UINT wZmin; > 1508 UINT wZmax; > 1509 UINT wNumButtons; > 1510 UINT wPeriodMin; > 1511 UINT wPeriodMax; > 1512 UINT wRmin; > 1513 UINT wRmax; > 1514 UINT wUmin; > 1515 UINT wUmax; > 1516 UINT wVmin; > 1517 UINT wVmax; > 1518 UINT wCaps; > 1519 UINT wMaxAxes; > 1520 UINT wNumAxes; > 1521 UINT wMaxButtons; > 1522 CHAR[MAXPNAMELEN] szRegKey; > 1523 CHAR[MAX_JOYSTICKOEMVXDNAME] szOEMVxD; > 1524 } > 1525 alias JOYCAPSA* PJOYCAPSA, LPJOYCAPSA; > 1526 > 1527 struct JOYCAPSW { > 1528 WORD wMid; > 1529 WORD wPid; > 1530 WCHAR[MAXPNAMELEN] szPname; 1503 UINT wXmin; 1531 UINT wXmin; 1504 UINT wXmax; 1532 UINT wXmax; 1505 UINT wYmin; 1533 UINT wYmin; 1506 UINT wYmax; 1534 UINT wYmax; 1507 UINT wZmin; 1535 UINT wZmin; 1508 UINT wZmax; 1536 UINT wZmax; 1509 UINT wNumButtons; 1537 UINT wNumButtons; ................................................................................................................................................................................ 1515 UINT wUmax; 1543 UINT wUmax; 1516 UINT wVmin; 1544 UINT wVmin; 1517 UINT wVmax; 1545 UINT wVmax; 1518 UINT wCaps; 1546 UINT wCaps; 1519 UINT wMaxAxes; 1547 UINT wMaxAxes; 1520 UINT wNumAxes; 1548 UINT wNumAxes; 1521 UINT wMaxButtons; 1549 UINT wMaxButtons; 1522 CHAR szRegKey[MAXPNAMELEN]; | 1550 WCHAR[MAXPNAMELEN] szRegKey; 1523 CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; | 1551 WCHAR[MAX_JOYSTICKOEMVXDNAME] szOEMVxD; 1524 } < 1525 alias JOYCAPSA* PJOYCAPSA, LPJOYCAPSA; < 1526 < 1527 struct JOYCAPSW { < 1528 WORD wMid; < 1529 WORD wPid; < 1530 WCHAR szPname[MAXPNAMELEN]; < 1531 UINT wXmin; < 1532 UINT wXmax; < 1533 UINT wYmin; < 1534 UINT wYmax; < 1535 UINT wZmin; < 1536 UINT wZmax; < 1537 UINT wNumButtons; < 1538 UINT wPeriodMin; < 1539 UINT wPeriodMax; < 1540 UINT wRmin; < 1541 UINT wRmax; < 1542 UINT wUmin; < 1543 UINT wUmax; < 1544 UINT wVmin; < 1545 UINT wVmax; < 1546 UINT wCaps; < 1547 UINT wMaxAxes; < 1548 UINT wNumAxes; < 1549 UINT wMaxButtons; < 1550 WCHAR szRegKey[MAXPNAMELEN]; < 1551 WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; < 1552 } 1552 } 1553 alias JOYCAPSW* PJOYCAPSW, LPJOYCAPSW; 1553 alias JOYCAPSW* PJOYCAPSW, LPJOYCAPSW; 1554 1554 1555 struct JOYINFO { 1555 struct JOYINFO { 1556 UINT wXpos; 1556 UINT wXpos; 1557 UINT wYpos; 1557 UINT wYpos; 1558 UINT wZpos; 1558 UINT wZpos; ................................................................................................................................................................................ 1576 DWORD dwReserved2; 1576 DWORD dwReserved2; 1577 } 1577 } 1578 alias JOYINFOEX* PJOYINFOEX, LPJOYINFOEX; 1578 alias JOYINFOEX* PJOYINFOEX, LPJOYINFOEX; 1579 1579 1580 alias DWORD FOURCC; 1580 alias DWORD FOURCC; 1581 alias char* HPSTR; 1581 alias char* HPSTR; 1582 1582 1583 alias HANDLE HMMIO; | 1583 alias TypeDef!(HANDLE) HMMIO; 1584 1584 1585 alias LRESULT function (LPSTR,UINT,LPARAM,LPARAM) LPMMIOPROC; | 1585 alias LRESULT function (LPSTR, UINT, LPARAM, LPARAM) LPMMIOPROC; 1586 1586 1587 struct MMIOINFO { 1587 struct MMIOINFO { 1588 DWORD dwFlags; 1588 DWORD dwFlags; 1589 FOURCC fccIOProc; 1589 FOURCC fccIOProc; 1590 LPMMIOPROC pIOProc; 1590 LPMMIOPROC pIOProc; 1591 UINT wErrorRet; 1591 UINT wErrorRet; 1592 HTASK htask; 1592 HTASK htask; ................................................................................................................................................................................ 1593 LONG cchBuffer; 1593 LONG cchBuffer; 1594 HPSTR pchBuffer; 1594 HPSTR pchBuffer; 1595 HPSTR pchNext; 1595 HPSTR pchNext; 1596 HPSTR pchEndRead; 1596 HPSTR pchEndRead; 1597 HPSTR pchEndWrite; 1597 HPSTR pchEndWrite; 1598 LONG lBufOffset; 1598 LONG lBufOffset; 1599 LONG lDiskOffset; 1599 LONG lDiskOffset; 1600 DWORD adwInfo[3]; | 1600 DWORD[3] adwInfo; 1601 DWORD dwReserved1; 1601 DWORD dwReserved1; 1602 DWORD dwReserved2; 1602 DWORD dwReserved2; 1603 HMMIO hmmio; 1603 HMMIO hmmio; 1604 } 1604 } 1605 alias MMIOINFO* PMMIOINFO, LPMMIOINFO; 1605 alias MMIOINFO* PMMIOINFO, LPMMIOINFO; 1606 alias CPtr!(MMIOINFO) LPCMMIOINFO; | 1606 alias const(MMIOINFO)* LPCMMIOINFO; 1607 1607 1608 struct MMCKINFO { 1608 struct MMCKINFO { 1609 FOURCC ckid; 1609 FOURCC ckid; 1610 DWORD cksize; 1610 DWORD cksize; 1611 FOURCC fccType; 1611 FOURCC fccType; 1612 DWORD dwDataOffset; 1612 DWORD dwDataOffset; 1613 DWORD dwFlags; 1613 DWORD dwFlags; 1614 } 1614 } 1615 alias MMCKINFO* PMMCKINFO, LPMMCKINFO; 1615 alias MMCKINFO* PMMCKINFO, LPMMCKINFO; 1616 alias CPtr!(MMCKINFO) LPCMMCKINFO; | 1616 alias const(MMCKINFO)* LPCMMCKINFO; 1617 1617 1618 struct MCI_GENERIC_PARMS { 1618 struct MCI_GENERIC_PARMS { 1619 DWORD dwCallback; 1619 DWORD dwCallback; 1620 } 1620 } 1621 alias MCI_GENERIC_PARMS* PMCI_GENERIC_PARMS, LPMCI_GENERIC_PARMS; 1621 alias MCI_GENERIC_PARMS* PMCI_GENERIC_PARMS, LPMCI_GENERIC_PARMS; 1622 1622 1623 struct MCI_OPEN_PARMSA { 1623 struct MCI_OPEN_PARMSA { ................................................................................................................................................................................ 1812 WORD wReserved4; 1812 WORD wReserved4; 1813 WORD wBitsPerSample; 1813 WORD wBitsPerSample; 1814 WORD wReserved5; 1814 WORD wReserved5; 1815 } 1815 } 1816 alias MCI_WAVE_SET_PARMS* PMCI_WAVE_SET_PARMS, LPMCI_WAVE_SET_PARMS; 1816 alias MCI_WAVE_SET_PARMS* PMCI_WAVE_SET_PARMS, LPMCI_WAVE_SET_PARMS; 1817 1817 1818 extern (Windows): 1818 extern (Windows): 1819 LRESULT CloseDriver(HDRVR,LONG,LONG); | 1819 LRESULT CloseDriver(HDRVR, LONG, LONG); 1820 HDRVR OpenDriver(LPCWSTR,LPCWSTR,LONG); | 1820 HDRVR OpenDriver(LPCWSTR, LPCWSTR, LONG); 1821 LRESULT SendDriverMessage(HDRVR,UINT,LONG,LONG); | 1821 LRESULT SendDriverMessage(HDRVR, UINT, LONG, LONG); 1822 HMODULE DrvGetModuleHandle(HDRVR); 1822 HMODULE DrvGetModuleHandle(HDRVR); 1823 HMODULE GetDriverModuleHandle(HDRVR); 1823 HMODULE GetDriverModuleHandle(HDRVR); 1824 LRESULT DefDriverProc(DWORD,HDRVR,UINT,LPARAM,LPARAM); | 1824 LRESULT DefDriverProc(DWORD, HDRVR, UINT, LPARAM, LPARAM); 1825 UINT mmsystemGetVersion(); 1825 UINT mmsystemGetVersion(); 1826 // FIXME: I believe this next line is a mistake 1826 // FIXME: I believe this next line is a mistake 1827 //alias OutputDebugString OutputDebugStr; 1827 //alias OutputDebugString OutputDebugStr; 1828 BOOL sndPlaySoundA(LPCSTR,UINT); | 1828 BOOL sndPlaySoundA(LPCSTR, UINT); 1829 BOOL sndPlaySoundW(LPCWSTR,UINT); | 1829 BOOL sndPlaySoundW(LPCWSTR, UINT); 1830 BOOL PlaySoundA(LPCSTR,HMODULE,DWORD); | 1830 BOOL PlaySoundA(LPCSTR, HMODULE, DWORD); 1831 BOOL PlaySoundW(LPCWSTR,HMODULE,DWORD); | 1831 BOOL PlaySoundW(LPCWSTR, HMODULE, DWORD); 1832 UINT waveOutGetNumDevs(); 1832 UINT waveOutGetNumDevs(); 1833 MMRESULT waveOutGetDevCapsA(UINT,LPWAVEOUTCAPSA,UINT); | 1833 MMRESULT waveOutGetDevCapsA(UINT, LPWAVEOUTCAPSA, UINT); 1834 MMRESULT waveOutGetDevCapsW(UINT,LPWAVEOUTCAPSW,UINT); | 1834 MMRESULT waveOutGetDevCapsW(UINT, LPWAVEOUTCAPSW, UINT); 1835 MMRESULT waveOutGetVolume(HWAVEOUT,PDWORD); | 1835 MMRESULT waveOutGetVolume(HWAVEOUT, PDWORD); 1836 MMRESULT waveOutSetVolume(HWAVEOUT,DWORD); | 1836 MMRESULT waveOutSetVolume(HWAVEOUT, DWORD); 1837 MMRESULT waveOutGetErrorTextA(MMRESULT,LPSTR,UINT); | 1837 MMRESULT waveOutGetErrorTextA(MMRESULT, LPSTR, UINT); 1838 MMRESULT waveOutGetErrorTextW(MMRESULT,LPWSTR,UINT); | 1838 MMRESULT waveOutGetErrorTextW(MMRESULT, LPWSTR, UINT); 1839 MMRESULT waveOutOpen(LPHWAVEOUT,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD); | 1839 MMRESULT waveOutOpen(LPHWAVEOUT, UINT, LPCWAVEFORMATEX, DWORD, DWORD, DWORD); 1840 MMRESULT waveOutClose(HWAVEOUT); 1840 MMRESULT waveOutClose(HWAVEOUT); 1841 MMRESULT waveOutPrepareHeader(HWAVEOUT,LPWAVEHDR,UINT); | 1841 MMRESULT waveOutPrepareHeader(HWAVEOUT, LPWAVEHDR, UINT); 1842 MMRESULT waveOutUnprepareHeader(HWAVEOUT,LPWAVEHDR,UINT); | 1842 MMRESULT waveOutUnprepareHeader(HWAVEOUT, LPWAVEHDR, UINT); 1843 MMRESULT waveOutWrite(HWAVEOUT,LPWAVEHDR,UINT); | 1843 MMRESULT waveOutWrite(HWAVEOUT, LPWAVEHDR, UINT); 1844 MMRESULT waveOutPause(HWAVEOUT); 1844 MMRESULT waveOutPause(HWAVEOUT); 1845 MMRESULT waveOutRestart(HWAVEOUT); 1845 MMRESULT waveOutRestart(HWAVEOUT); 1846 MMRESULT waveOutReset(HWAVEOUT); 1846 MMRESULT waveOutReset(HWAVEOUT); 1847 MMRESULT waveOutBreakLoop(HWAVEOUT); 1847 MMRESULT waveOutBreakLoop(HWAVEOUT); 1848 MMRESULT waveOutGetPosition(HWAVEOUT,LPMMTIME,UINT); | 1848 MMRESULT waveOutGetPosition(HWAVEOUT, LPMMTIME, UINT); 1849 MMRESULT waveOutGetPitch(HWAVEOUT,PDWORD); | 1849 MMRESULT waveOutGetPitch(HWAVEOUT, PDWORD); 1850 MMRESULT waveOutSetPitch(HWAVEOUT,DWORD); | 1850 MMRESULT waveOutSetPitch(HWAVEOUT, DWORD); 1851 MMRESULT waveOutGetPlaybackRate(HWAVEOUT,PDWORD); | 1851 MMRESULT waveOutGetPlaybackRate(HWAVEOUT, PDWORD); 1852 MMRESULT waveOutSetPlaybackRate(HWAVEOUT,DWORD); | 1852 MMRESULT waveOutSetPlaybackRate(HWAVEOUT, DWORD); 1853 MMRESULT waveOutGetID(HWAVEOUT,LPUINT); | 1853 MMRESULT waveOutGetID(HWAVEOUT, LPUINT); 1854 MMRESULT waveOutMessage(HWAVEOUT,UINT,DWORD,DWORD); | 1854 MMRESULT waveOutMessage(HWAVEOUT, UINT, DWORD, DWORD); 1855 UINT waveInGetNumDevs(); 1855 UINT waveInGetNumDevs(); 1856 MMRESULT waveInGetDevCapsA(UINT,LPWAVEINCAPSA,UINT); | 1856 MMRESULT waveInGetDevCapsA(UINT, LPWAVEINCAPSA, UINT); 1857 MMRESULT waveInGetDevCapsW(UINT,LPWAVEINCAPSW,UINT); | 1857 MMRESULT waveInGetDevCapsW(UINT, LPWAVEINCAPSW, UINT); 1858 MMRESULT waveInGetErrorTextA(MMRESULT,LPSTR,UINT); | 1858 MMRESULT waveInGetErrorTextA(MMRESULT, LPSTR, UINT); 1859 MMRESULT waveInGetErrorTextW(MMRESULT,LPWSTR,UINT); | 1859 MMRESULT waveInGetErrorTextW(MMRESULT, LPWSTR, UINT); 1860 MMRESULT waveInOpen(LPHWAVEIN,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD); | 1860 MMRESULT waveInOpen(LPHWAVEIN, UINT, LPCWAVEFORMATEX, DWORD, DWORD, DWORD); 1861 MMRESULT waveInClose(HWAVEIN); 1861 MMRESULT waveInClose(HWAVEIN); 1862 MMRESULT waveInPrepareHeader(HWAVEIN,LPWAVEHDR,UINT); | 1862 MMRESULT waveInPrepareHeader(HWAVEIN, LPWAVEHDR, UINT); 1863 MMRESULT waveInUnprepareHeader(HWAVEIN,LPWAVEHDR,UINT); | 1863 MMRESULT waveInUnprepareHeader(HWAVEIN, LPWAVEHDR, UINT); 1864 MMRESULT waveInAddBuffer(HWAVEIN,LPWAVEHDR,UINT); | 1864 MMRESULT waveInAddBuffer(HWAVEIN, LPWAVEHDR, UINT); 1865 MMRESULT waveInStart(HWAVEIN); 1865 MMRESULT waveInStart(HWAVEIN); 1866 MMRESULT waveInStop(HWAVEIN); 1866 MMRESULT waveInStop(HWAVEIN); 1867 MMRESULT waveInReset(HWAVEIN); 1867 MMRESULT waveInReset(HWAVEIN); 1868 MMRESULT waveInGetPosition(HWAVEIN,LPMMTIME,UINT); | 1868 MMRESULT waveInGetPosition(HWAVEIN, LPMMTIME, UINT); 1869 MMRESULT waveInGetID(HWAVEIN,LPUINT); | 1869 MMRESULT waveInGetID(HWAVEIN, LPUINT); 1870 MMRESULT waveInMessage(HWAVEIN,UINT,DWORD,DWORD); | 1870 MMRESULT waveInMessage(HWAVEIN, UINT, DWORD, DWORD); 1871 UINT midiOutGetNumDevs(); 1871 UINT midiOutGetNumDevs(); 1872 MMRESULT midiStreamOpen(LPHMIDISTRM,LPUINT,DWORD,DWORD,DWORD,DWORD); | 1872 MMRESULT midiStreamOpen(LPHMIDISTRM, LPUINT, DWORD, DWORD, DWORD, DWORD); 1873 MMRESULT midiStreamClose(HMIDISTRM); 1873 MMRESULT midiStreamClose(HMIDISTRM); 1874 MMRESULT midiStreamProperty(HMIDISTRM,LPBYTE,DWORD); | 1874 MMRESULT midiStreamProperty(HMIDISTRM, LPBYTE, DWORD); 1875 MMRESULT midiStreamPosition(HMIDISTRM,LPMMTIME,UINT); | 1875 MMRESULT midiStreamPosition(HMIDISTRM, LPMMTIME, UINT); 1876 MMRESULT midiStreamOut(HMIDISTRM,LPMIDIHDR,UINT); | 1876 MMRESULT midiStreamOut(HMIDISTRM, LPMIDIHDR, UINT); 1877 MMRESULT midiStreamPause(HMIDISTRM); 1877 MMRESULT midiStreamPause(HMIDISTRM); 1878 MMRESULT midiStreamRestart(HMIDISTRM); 1878 MMRESULT midiStreamRestart(HMIDISTRM); 1879 MMRESULT midiStreamStop(HMIDISTRM); 1879 MMRESULT midiStreamStop(HMIDISTRM); 1880 MMRESULT midiConnect(HMIDI,HMIDIOUT,PVOID); | 1880 MMRESULT midiConnect(HMIDI, HMIDIOUT, PVOID); 1881 MMRESULT midiDisconnect(HMIDI,HMIDIOUT,PVOID); | 1881 MMRESULT midiDisconnect(HMIDI, HMIDIOUT, PVOID); 1882 MMRESULT midiOutGetDevCapsA(UINT,LPMIDIOUTCAPSA,UINT); | 1882 MMRESULT midiOutGetDevCapsA(UINT, LPMIDIOUTCAPSA, UINT); 1883 MMRESULT midiOutGetDevCapsW(UINT,LPMIDIOUTCAPSW,UINT); | 1883 MMRESULT midiOutGetDevCapsW(UINT, LPMIDIOUTCAPSW, UINT); 1884 MMRESULT midiOutGetVolume(HMIDIOUT,PDWORD); | 1884 MMRESULT midiOutGetVolume(HMIDIOUT, PDWORD); 1885 MMRESULT midiOutSetVolume(HMIDIOUT,DWORD); | 1885 MMRESULT midiOutSetVolume(HMIDIOUT, DWORD); 1886 MMRESULT midiOutGetErrorTextA(MMRESULT,LPSTR,UINT); | 1886 MMRESULT midiOutGetErrorTextA(MMRESULT, LPSTR, UINT); 1887 MMRESULT midiOutGetErrorTextW(MMRESULT,LPWSTR,UINT); | 1887 MMRESULT midiOutGetErrorTextW(MMRESULT, LPWSTR, UINT); 1888 MMRESULT midiOutOpen(LPHMIDIOUT,UINT,DWORD,DWORD,DWORD); | 1888 MMRESULT midiOutOpen(LPHMIDIOUT, UINT, DWORD, DWORD, DWORD); 1889 MMRESULT midiOutClose(HMIDIOUT); 1889 MMRESULT midiOutClose(HMIDIOUT); 1890 MMRESULT midiOutPrepareHeader(HMIDIOUT,LPMIDIHDR,UINT); | 1890 MMRESULT midiOutPrepareHeader(HMIDIOUT, LPMIDIHDR, UINT); 1891 MMRESULT midiOutUnprepareHeader(HMIDIOUT,LPMIDIHDR,UINT); | 1891 MMRESULT midiOutUnprepareHeader(HMIDIOUT, LPMIDIHDR, UINT); 1892 MMRESULT midiOutShortMsg(HMIDIOUT,DWORD); | 1892 MMRESULT midiOutShortMsg(HMIDIOUT, DWORD); 1893 MMRESULT midiOutLongMsg(HMIDIOUT,LPMIDIHDR,UINT); | 1893 MMRESULT midiOutLongMsg(HMIDIOUT, LPMIDIHDR, UINT); 1894 MMRESULT midiOutReset(HMIDIOUT); 1894 MMRESULT midiOutReset(HMIDIOUT); 1895 MMRESULT midiOutCachePatches(HMIDIOUT,UINT,LPWORD,UINT); | 1895 MMRESULT midiOutCachePatches(HMIDIOUT, UINT, LPWORD, UINT); 1896 MMRESULT midiOutCacheDrumPatches(HMIDIOUT,UINT,LPWORD,UINT); | 1896 MMRESULT midiOutCacheDrumPatches(HMIDIOUT, UINT, LPWORD, UINT); 1897 MMRESULT midiOutGetID(HMIDIOUT,LPUINT); | 1897 MMRESULT midiOutGetID(HMIDIOUT, LPUINT); 1898 MMRESULT midiOutMessage(HMIDIOUT,UINT,DWORD,DWORD); | 1898 MMRESULT midiOutMessage(HMIDIOUT, UINT, DWORD, DWORD); 1899 UINT midiInGetNumDevs(); 1899 UINT midiInGetNumDevs(); 1900 MMRESULT midiInGetDevCapsA(UINT,LPMIDIINCAPSA,UINT); | 1900 MMRESULT midiInGetDevCapsA(UINT, LPMIDIINCAPSA, UINT); 1901 MMRESULT midiInGetDevCapsW(UINT,LPMIDIINCAPSW,UINT); | 1901 MMRESULT midiInGetDevCapsW(UINT, LPMIDIINCAPSW, UINT); 1902 MMRESULT midiInGetErrorTextA(MMRESULT,LPSTR,UINT); | 1902 MMRESULT midiInGetErrorTextA(MMRESULT, LPSTR, UINT); 1903 MMRESULT midiInGetErrorTextW(MMRESULT,LPWSTR,UINT); | 1903 MMRESULT midiInGetErrorTextW(MMRESULT, LPWSTR, UINT); 1904 MMRESULT midiInOpen(LPHMIDIIN,UINT,DWORD,DWORD,DWORD); | 1904 MMRESULT midiInOpen(LPHMIDIIN, UINT, DWORD, DWORD, DWORD); 1905 MMRESULT midiInClose(HMIDIIN); 1905 MMRESULT midiInClose(HMIDIIN); 1906 MMRESULT midiInPrepareHeader(HMIDIIN,LPMIDIHDR,UINT); | 1906 MMRESULT midiInPrepareHeader(HMIDIIN, LPMIDIHDR, UINT); 1907 MMRESULT midiInUnprepareHeader(HMIDIIN,LPMIDIHDR,UINT); | 1907 MMRESULT midiInUnprepareHeader(HMIDIIN, LPMIDIHDR, UINT); 1908 MMRESULT midiInAddBuffer(HMIDIIN,LPMIDIHDR,UINT); | 1908 MMRESULT midiInAddBuffer(HMIDIIN, LPMIDIHDR, UINT); 1909 MMRESULT midiInStart(HMIDIIN); 1909 MMRESULT midiInStart(HMIDIIN); 1910 MMRESULT midiInStop(HMIDIIN); 1910 MMRESULT midiInStop(HMIDIIN); 1911 MMRESULT midiInReset(HMIDIIN); 1911 MMRESULT midiInReset(HMIDIIN); 1912 MMRESULT midiInGetID(HMIDIIN,LPUINT); | 1912 MMRESULT midiInGetID(HMIDIIN, LPUINT); 1913 MMRESULT midiInMessage(HMIDIIN,UINT,DWORD,DWORD); | 1913 MMRESULT midiInMessage(HMIDIIN, UINT, DWORD, DWORD); 1914 UINT auxGetNumDevs(); 1914 UINT auxGetNumDevs(); 1915 MMRESULT auxGetDevCapsA(UINT,LPAUXCAPSA,UINT); | 1915 MMRESULT auxGetDevCapsA(UINT, LPAUXCAPSA, UINT); 1916 MMRESULT auxGetDevCapsW(UINT,LPAUXCAPSW,UINT); | 1916 MMRESULT auxGetDevCapsW(UINT, LPAUXCAPSW, UINT); 1917 MMRESULT auxSetVolume(UINT,DWORD); | 1917 MMRESULT auxSetVolume(UINT, DWORD); 1918 MMRESULT auxGetVolume(UINT,PDWORD); | 1918 MMRESULT auxGetVolume(UINT, PDWORD); 1919 MMRESULT auxOutMessage(UINT,UINT,DWORD,DWORD); | 1919 MMRESULT auxOutMessage(UINT, UINT, DWORD, DWORD); 1920 UINT mixerGetNumDevs(); 1920 UINT mixerGetNumDevs(); 1921 MMRESULT mixerGetDevCapsA(UINT,LPMIXERCAPSA,UINT); | 1921 MMRESULT mixerGetDevCapsA(UINT, LPMIXERCAPSA, UINT); 1922 MMRESULT mixerGetDevCapsW(UINT,LPMIXERCAPSW,UINT); | 1922 MMRESULT mixerGetDevCapsW(UINT, LPMIXERCAPSW, UINT); 1923 MMRESULT mixerOpen(LPHMIXER,UINT,DWORD,DWORD,DWORD); | 1923 MMRESULT mixerOpen(LPHMIXER, UINT, DWORD, DWORD, DWORD); 1924 MMRESULT mixerClose(HMIXER); 1924 MMRESULT mixerClose(HMIXER); 1925 DWORD mixerMessage(HMIXER,UINT,DWORD,DWORD); | 1925 DWORD mixerMessage(HMIXER, UINT, DWORD, DWORD); 1926 MMRESULT mixerGetLineInfoA(HMIXEROBJ,LPMIXERLINEA,DWORD); | 1926 MMRESULT mixerGetLineInfoA(HMIXEROBJ, LPMIXERLINEA, DWORD); 1927 MMRESULT mixerGetLineInfoW(HMIXEROBJ,LPMIXERLINEW,DWORD); | 1927 MMRESULT mixerGetLineInfoW(HMIXEROBJ, LPMIXERLINEW, DWORD); 1928 MMRESULT mixerGetID(HMIXEROBJ,PUINT,DWORD); | 1928 MMRESULT mixerGetID(HMIXEROBJ, PUINT, DWORD); 1929 MMRESULT mixerGetLineControlsA(HMIXEROBJ,LPMIXERLINECONTROLSA,DWORD); | 1929 MMRESULT mixerGetLineControlsA(HMIXEROBJ, LPMIXERLINECONTROLSA, DWORD); 1930 MMRESULT mixerGetLineControlsW(HMIXEROBJ,LPMIXERLINECONTROLSW,DWORD); | 1930 MMRESULT mixerGetLineControlsW(HMIXEROBJ, LPMIXERLINECONTROLSW, DWORD); 1931 MMRESULT mixerGetControlDetailsA(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD); | 1931 MMRESULT mixerGetControlDetailsA(HMIXEROBJ, LPMIXERCONTROLDETAILS, DWORD); 1932 MMRESULT mixerGetControlDetailsW(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD); | 1932 MMRESULT mixerGetControlDetailsW(HMIXEROBJ, LPMIXERCONTROLDETAILS, DWORD); 1933 MMRESULT mixerSetControlDetails(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD); | 1933 MMRESULT mixerSetControlDetails(HMIXEROBJ, LPMIXERCONTROLDETAILS, DWORD); 1934 MMRESULT timeGetSystemTime(LPMMTIME,UINT); | 1934 MMRESULT timeGetSystemTime(LPMMTIME, UINT); 1935 DWORD timeGetTime(); 1935 DWORD timeGetTime(); 1936 MMRESULT timeSetEvent(UINT,UINT,LPTIMECALLBACK,DWORD,UINT); | 1936 MMRESULT timeSetEvent(UINT, UINT, LPTIMECALLBACK, DWORD, UINT); 1937 MMRESULT timeKillEvent(UINT); 1937 MMRESULT timeKillEvent(UINT); 1938 MMRESULT timeGetDevCaps(LPTIMECAPS,UINT); | 1938 MMRESULT timeGetDevCaps(LPTIMECAPS, UINT); 1939 MMRESULT timeBeginPeriod(UINT); 1939 MMRESULT timeBeginPeriod(UINT); 1940 MMRESULT timeEndPeriod(UINT); 1940 MMRESULT timeEndPeriod(UINT); 1941 UINT joyGetNumDevs(); 1941 UINT joyGetNumDevs(); 1942 MMRESULT joyGetDevCapsA(UINT,LPJOYCAPSA,UINT); | 1942 MMRESULT joyGetDevCapsA(UINT, LPJOYCAPSA, UINT); 1943 MMRESULT joyGetDevCapsW(UINT,LPJOYCAPSW,UINT); | 1943 MMRESULT joyGetDevCapsW(UINT, LPJOYCAPSW, UINT); 1944 MMRESULT joyGetPos(UINT,LPJOYINFO); | 1944 MMRESULT joyGetPos(UINT, LPJOYINFO); 1945 MMRESULT joyGetPosEx(UINT,LPJOYINFOEX); | 1945 MMRESULT joyGetPosEx(UINT, LPJOYINFOEX); 1946 MMRESULT joyGetThreshold(UINT,LPUINT); | 1946 MMRESULT joyGetThreshold(UINT, LPUINT); 1947 MMRESULT joyReleaseCapture(UINT); 1947 MMRESULT joyReleaseCapture(UINT); 1948 MMRESULT joySetCapture(HWND,UINT,UINT,BOOL); | 1948 MMRESULT joySetCapture(HWND, UINT, UINT, BOOL); 1949 MMRESULT joySetThreshold(UINT,UINT); | 1949 MMRESULT joySetThreshold(UINT, UINT); 1950 FOURCC mmioStringToFOURCCA(LPCSTR,UINT); | 1950 FOURCC mmioStringToFOURCCA(LPCSTR, UINT); 1951 FOURCC mmioStringToFOURCCW(LPCWSTR,UINT); | 1951 FOURCC mmioStringToFOURCCW(LPCWSTR, UINT); 1952 LPMMIOPROC mmioInstallIOProcA(FOURCC,LPMMIOPROC,DWORD); | 1952 LPMMIOPROC mmioInstallIOProcA(FOURCC, LPMMIOPROC, DWORD); 1953 LPMMIOPROC mmioInstallIOProcW(FOURCC,LPMMIOPROC,DWORD); | 1953 LPMMIOPROC mmioInstallIOProcW(FOURCC, LPMMIOPROC, DWORD); 1954 HMMIO mmioOpenA(LPSTR,LPMMIOINFO,DWORD); | 1954 HMMIO mmioOpenA(LPSTR, LPMMIOINFO, DWORD); 1955 HMMIO mmioOpenW(LPWSTR,LPMMIOINFO,DWORD); | 1955 HMMIO mmioOpenW(LPWSTR, LPMMIOINFO, DWORD); 1956 MMRESULT mmioRenameA(LPCSTR,LPCSTR,LPCMMIOINFO,DWORD); | 1956 MMRESULT mmioRenameA(LPCSTR, LPCSTR, LPCMMIOINFO, DWORD); 1957 MMRESULT mmioRenameW(LPCWSTR,LPCWSTR,LPCMMIOINFO,DWORD); | 1957 MMRESULT mmioRenameW(LPCWSTR, LPCWSTR, LPCMMIOINFO, DWORD); 1958 MMRESULT mmioClose(HMMIO,UINT); | 1958 MMRESULT mmioClose(HMMIO, UINT); 1959 LONG mmioRead(HMMIO,HPSTR,LONG); | 1959 LONG mmioRead(HMMIO, HPSTR, LONG); 1960 LONG mmioWrite(HMMIO,LPCSTR,LONG); | 1960 LONG mmioWrite(HMMIO, LPCSTR, LONG); 1961 LONG mmioSeek(HMMIO,LONG,int); | 1961 LONG mmioSeek(HMMIO, LONG, int); 1962 MMRESULT mmioGetInfo(HMMIO,LPMMIOINFO,UINT); | 1962 MMRESULT mmioGetInfo(HMMIO, LPMMIOINFO, UINT); 1963 MMRESULT mmioSetInfo(HMMIO,LPCMMIOINFO,UINT); | 1963 MMRESULT mmioSetInfo(HMMIO, LPCMMIOINFO, UINT); 1964 MMRESULT mmioSetBuffer(HMMIO,LPSTR,LONG,UINT); | 1964 MMRESULT mmioSetBuffer(HMMIO, LPSTR, LONG, UINT); 1965 MMRESULT mmioFlush(HMMIO,UINT); | 1965 MMRESULT mmioFlush(HMMIO, UINT); 1966 MMRESULT mmioAdvance(HMMIO,LPMMIOINFO,UINT); | 1966 MMRESULT mmioAdvance(HMMIO, LPMMIOINFO, UINT); 1967 LRESULT mmioSendMessage(HMMIO,UINT,LPARAM,LPARAM); | 1967 LRESULT mmioSendMessage(HMMIO, UINT, LPARAM, LPARAM); 1968 MMRESULT mmioDescend(HMMIO,LPMMCKINFO, CPtr!(MMCKINFO),UINT); | 1968 MMRESULT mmioDescend(HMMIO, LPMMCKINFO, const(MMCKINFO)*, UINT); 1969 MMRESULT mmioAscend(HMMIO,LPMMCKINFO,UINT); | 1969 MMRESULT mmioAscend(HMMIO, LPMMCKINFO, UINT); 1970 MMRESULT mmioCreateChunk(HMMIO,LPMMCKINFO,UINT); | 1970 MMRESULT mmioCreateChunk(HMMIO, LPMMCKINFO, UINT); 1971 MCIERROR mciSendCommandA(MCIDEVICEID,UINT,DWORD,DWORD); | 1971 MCIERROR mciSendCommandA(MCIDEVICEID, UINT, DWORD, DWORD); 1972 MCIERROR mciSendCommandW(MCIDEVICEID,UINT,DWORD,DWORD); | 1972 MCIERROR mciSendCommandW(MCIDEVICEID, UINT, DWORD, DWORD); 1973 MCIERROR mciSendStringA(LPCSTR,LPSTR,UINT,HWND); | 1973 MCIERROR mciSendStringA(LPCSTR, LPSTR, UINT, HWND); 1974 MCIERROR mciSendStringW(LPCWSTR,LPWSTR,UINT,HWND); | 1974 MCIERROR mciSendStringW(LPCWSTR, LPWSTR, UINT, HWND); 1975 MCIDEVICEID mciGetDeviceIDA(LPCSTR); 1975 MCIDEVICEID mciGetDeviceIDA(LPCSTR); 1976 MCIDEVICEID mciGetDeviceIDW(LPCWSTR); 1976 MCIDEVICEID mciGetDeviceIDW(LPCWSTR); 1977 MCIDEVICEID mciGetDeviceIDFromElementIDA(DWORD,LPCSTR); | 1977 MCIDEVICEID mciGetDeviceIDFromElementIDA(DWORD, LPCSTR); 1978 MCIDEVICEID mciGetDeviceIDFromElementIDW(DWORD,LPCWSTR); | 1978 MCIDEVICEID mciGetDeviceIDFromElementIDW(DWORD, LPCWSTR); 1979 BOOL mciGetErrorStringA(MCIERROR,LPSTR,UINT); | 1979 BOOL mciGetErrorStringA(MCIERROR, LPSTR, UINT); 1980 BOOL mciGetErrorStringW(MCIERROR,LPWSTR,UINT); | 1980 BOOL mciGetErrorStringW(MCIERROR, LPWSTR, UINT); 1981 BOOL mciSetYieldProc(MCIDEVICEID,YIELDPROC,DWORD); | 1981 BOOL mciSetYieldProc(MCIDEVICEID, YIELDPROC, DWORD); 1982 HTASK mciGetCreatorTask(MCIDEVICEID); 1982 HTASK mciGetCreatorTask(MCIDEVICEID); 1983 YIELDPROC mciGetYieldProc(MCIDEVICEID,PDWORD); | 1983 YIELDPROC mciGetYieldProc(MCIDEVICEID, PDWORD); 1984 1984 1985 struct MCI_SEQ_SET_PARMS { 1985 struct MCI_SEQ_SET_PARMS { 1986 DWORD dwCallback; 1986 DWORD dwCallback; 1987 DWORD dwTimeFormat; 1987 DWORD dwTimeFormat; 1988 DWORD dwAudio; 1988 DWORD dwAudio; 1989 DWORD dwTempo; 1989 DWORD dwTempo; 1990 DWORD dwPort; 1990 DWORD dwPort;

Modified src/win32/msacm.d from [0c3b20b2cde333d2] to [7ba0b5397a09dc08].

8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.msacm; 11 module win32.msacm; 12 12 13 private import win32.basetsd, win32.mmsystem, win32.windef; 13 private import win32.basetsd, win32.mmsystem, win32.windef; 14 14 15 alias HANDLE HACMDRIVERID, HACMDRIVER; | 15 mixin DECLARE_HANDLE!("HACMDRIVERID"); > 16 mixin DECLARE_HANDLE!("HACMDRIVER"); 16 alias HANDLE* LPHACMDRIVER; | 17 alias HACMDRIVER* LPHACMDRIVER; 17 18 18 /* Comment from MinGW 19 /* Comment from MinGW 19 found through experimentation 20 found through experimentation 20 */ 21 */ 21 const size_t 22 const size_t 22 ACMDRIVERDETAILS_SHORTNAME_CHARS = 32, 23 ACMDRIVERDETAILS_SHORTNAME_CHARS = 32, 23 ACMDRIVERDETAILS_LONGNAME_CHARS = 128, 24 ACMDRIVERDETAILS_LONGNAME_CHARS = 128,

Modified src/win32/mshtml.d from [de9e44bc4f323794] to [5fd93115adea9942].

471 HRESULT put_noResize(VARIANT_BOOL); 471 HRESULT put_noResize(VARIANT_BOOL); 472 HRESULT get_noResize(VARIANT_BOOL*); 472 HRESULT get_noResize(VARIANT_BOOL*); 473 HRESULT put_scrolling(BSTR); 473 HRESULT put_scrolling(BSTR); 474 HRESULT get_scrolling(BSTR*); 474 HRESULT get_scrolling(BSTR*); 475 } 475 } 476 476 477 interface IHTMLFrameBase2 : IDispatch { 477 interface IHTMLFrameBase2 : IDispatch { 478 HRESULT get_contentWindow(IHTMLWindow2 *); | 478 HRESULT get_contentWindow(IHTMLWindow2*); 479 HRESULT put_onload(VARIANT); 479 HRESULT put_onload(VARIANT); 480 HRESULT get_onload(VARIANT*); 480 HRESULT get_onload(VARIANT*); 481 HRESULT put_onreadystatechange(VARIANT); 481 HRESULT put_onreadystatechange(VARIANT); 482 HRESULT get_onreadystatechange(VARIANT*); 482 HRESULT get_onreadystatechange(VARIANT*); 483 HRESULT get_readyState(BSTR*); 483 HRESULT get_readyState(BSTR*); 484 HRESULT put_allowTransparency(VARIANT_BOOL); 484 HRESULT put_allowTransparency(VARIANT_BOOL); 485 HRESULT get_allowTransparency(VARIANT_BOOL*); 485 HRESULT get_allowTransparency(VARIANT_BOOL*);

Modified src/win32/mswsock.d from [9e582cf95c9e24a6] to [2000809206e7e4e6].

22 // line; otherwise, default to Winsock2. 22 // line; otherwise, default to Winsock2. 23 version (Win32_Winsock1) { 23 version (Win32_Winsock1) { 24 import win32.winsock; 24 import win32.winsock; 25 } else { 25 } else { 26 import win32.winsock2; 26 import win32.winsock2; 27 } 27 } 28 28 29 static if (_WIN32_WINNT_ONLY) { < 30 static if (_WIN32_WINNT >= 0x500) { | 29 static if (_WIN32_WINNT >= 0x500) { 31 enum { | 30 enum { 32 /* WinNT5+: | 31 /* WinNT5+: 33 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/soc | 32 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_opti 34 SO_MAXDG = 0x7009, | 33 SO_MAXDG = 0x7009, 35 SO_MAXPATHDG = 0x700A, | 34 SO_MAXPATHDG = 0x700A, 36 } < 37 } 35 } > 36 } 38 37 39 enum { | 38 enum { 40 /* WinNT4+: | 39 /* WinNT4+: 41 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_opti | 40 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options_for_ 42 SO_CONNDATA = 0x7000, | 41 SO_CONNDATA = 0x7000, 43 SO_CONNOPT = 0x7001, | 42 SO_CONNOPT = 0x7001, 44 SO_DISCDATA = 0x7002, | 43 SO_DISCDATA = 0x7002, 45 SO_DISCOPT = 0x7003, | 44 SO_DISCOPT = 0x7003, 46 SO_CONNDATALEN = 0x7004, | 45 SO_CONNDATALEN = 0x7004, 47 SO_CONNOPTLEN = 0x7005, | 46 SO_CONNOPTLEN = 0x7005, 48 SO_DISCDATALEN = 0x7006, | 47 SO_DISCDATALEN = 0x7006, 49 SO_DISCOPTLEN = 0x7007, | 48 SO_DISCOPTLEN = 0x7007, 50 49 51 /* WinNT4: | 50 /* WinNT4: 52 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_opti | 51 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options.htm 53 SO_UPDATE_ACCEPT_CONTENT = 0x700B, | 52 SO_UPDATE_ACCEPT_CONTENT = 0x700B, 54 } < 55 } 53 } 56 54 57 enum { 55 enum { 58 /* Win95+, WinNT4+ but apparently shouldn't used: mark as deprecated? 56 /* Win95+, WinNT4+ but apparently shouldn't used: mark as deprecated? 59 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options.htm 57 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options.htm 60 SO_OPENTYPE = 0x7008, 58 SO_OPENTYPE = 0x7008, 61 59 ................................................................................................................................................................................ 67 65 68 /* Win95: 66 /* Win95: 69 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options.htm 67 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options.htm 70 SO_CONNECT_TIME = 0x700C, 68 SO_CONNECT_TIME = 0x700C, 71 } 69 } 72 70 73 71 74 static if (_WIN32_WINNT_ONLY) { < 75 enum { | 72 enum { 76 TCP_BSDURGENT = 0x7000, | 73 TCP_BSDURGENT = 0x7000, 77 } | 74 } 78 75 79 /* These *appear* to be constants for passing to the TransmitFile / | 76 /* These *appear* to be constants for passing to the TransmitFile / 80 TransmitPackets functions, which are available in WinNT3.51+ | 77 TransmitPackets functions, which are available in WinNT3.51+ 81 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/transmitfile_2.htm | 78 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/transmitfile_2.htm */ 82 enum { | 79 enum { 83 TF_DISCONNECT = 1, | 80 TF_DISCONNECT = 1, 84 TF_REUSE_SOCKET = 2, | 81 TF_REUSE_SOCKET = 2, 85 TF_WRITE_BEHIND = 4, | 82 TF_WRITE_BEHIND = 4, 86 TF_USE_DEFAULT_WORKER = 0, | 83 TF_USE_DEFAULT_WORKER = 0, 87 TF_USE_SYSTEM_THREAD = 16, | 84 TF_USE_SYSTEM_THREAD = 16, 88 TF_USE_KERNEL_APC = 32 | 85 TF_USE_KERNEL_APC = 32 89 } < 90 } 86 } 91 87 92 /* Win95+, WinNT3.51+ 88 /* Win95+, WinNT3.51+ 93 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/transmit_file_buffers_2.htm 89 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/transmit_file_buffers_2.htm 94 struct TRANSMIT_FILE_BUFFERS { 90 struct TRANSMIT_FILE_BUFFERS { 95 PVOID Head; 91 PVOID Head; 96 DWORD HeadLength; 92 DWORD HeadLength; ................................................................................................................................................................................ 104 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/wsarecvex_2.htm */ 100 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/wsarecvex_2.htm */ 105 int WSARecvEx(SOCKET, char*, int, int*); 101 int WSARecvEx(SOCKET, char*, int, int*); 106 102 107 /* Win95+, WinNT3.51+ 103 /* Win95+, WinNT3.51+ 108 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/getacceptexSOCKADDR 104 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/getacceptexSOCKADDR 109 VOID GetAcceptExSockaddrs(PVOID, DWORD, DWORD, DWORD, SOCKADDR**, LPINT, 105 VOID GetAcceptExSockaddrs(PVOID, DWORD, DWORD, DWORD, SOCKADDR**, LPINT, 110 106 111 static if (_WIN32_WINNT_ONLY) { < 112 /* WinNT3.51+ | 107 /* WinNT3.51+ 113 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/transmitfil | 108 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/transmitfile_2.htm 114 BOOL TransmitFile(SOCKET, HANDLE, DWORD, DWORD, LPOVERLAPPED, LP | 109 BOOL TransmitFile(SOCKET, HANDLE, DWORD, DWORD, LPOVERLAPPED, LPTRANSMIT 115 110 116 /* WinNT3.51+ | 111 /* WinNT3.51+ 117 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/acceptex_2. | 112 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/acceptex_2.htm */ 118 alias BOOL function(SOCKET, SOCKET, PVOID, DWORD, DWORD, DWORD, | 113 alias BOOL function(SOCKET, SOCKET, PVOID, DWORD, DWORD, DWORD, LPDWORD, 119 const GUID WSAID_ACCEPTEX = {0xb5367df1,0xcbac,0x11cf,[0x95,0xca,0x00,0x | 114 const GUID WSAID_ACCEPTEX = {0xb5367df1,0xcbac,0x11cf,[0x95,0xca,0x00,0x 120 115 121 alias BOOL function(SOCKET, SOCKADDR*, int, PVOID, DWORD, LPDWORD, LPOVE | 116 alias BOOL function(SOCKET, SOCKADDR*, int, PVOID, DWORD, LPDWORD, LPOVE 122 const GUID WSAID_CONNECTEX = {0x25a207b9,0xddf3,0x4660,[0x8e,0xe9,0x76,0 | 117 const GUID WSAID_CONNECTEX = {0x25a207b9,0xddf3,0x4660,[0x8e,0xe9,0x76,0 123 } < 124 } 118 } 125 119 126 version(Win32_Winsock1) { 120 version(Win32_Winsock1) { 127 } else { 121 } else { 128 static if (WINVER > 0x501) { | 122 static if (_WIN32_WINNT > 0x501) { 129 /* These appear to be constants for the TRANSMIT_PACKETS_EL 123 /* These appear to be constants for the TRANSMIT_PACKETS_EL 130 * structure below, so I've given them the same minimum ver 124 * structure below, so I've given them the same minimum ver 131 */ 125 */ 132 enum { 126 enum { 133 TP_ELEMENT_FILE = 1, 127 TP_ELEMENT_FILE = 1, 134 TP_ELEMENT_MEMORY = 2, 128 TP_ELEMENT_MEMORY = 2, 135 TP_ELEMENT_EOP = 4 129 TP_ELEMENT_EOP = 4

Modified src/win32/nb30.d from [5d75fa8a12a29c69] to [2d02da3bd4be4b54].

207 UCHAR[NCBNAMSZ] ncb_callname; 207 UCHAR[NCBNAMSZ] ncb_callname; 208 UCHAR[NCBNAMSZ] ncb_name; 208 UCHAR[NCBNAMSZ] ncb_name; 209 UCHAR ncb_rto; 209 UCHAR ncb_rto; 210 UCHAR ncb_sto; 210 UCHAR ncb_sto; 211 extern (Windows) void function(NCB*) ncb_post; 211 extern (Windows) void function(NCB*) ncb_post; 212 UCHAR ncb_lana_num; 212 UCHAR ncb_lana_num; 213 UCHAR ncb_cmd_cplt; 213 UCHAR ncb_cmd_cplt; 214 UCHAR ncb_reserve[10]; | 214 UCHAR[10] ncb_reserve; 215 HANDLE ncb_event; 215 HANDLE ncb_event; 216 } 216 } 217 alias NCB* PNCB; 217 alias NCB* PNCB; 218 218 219 struct SESSION_BUFFER { 219 struct SESSION_BUFFER { 220 UCHAR lsn; 220 UCHAR lsn; 221 UCHAR state; 221 UCHAR state;

Modified src/win32/ntdef.d from [7851c6cbb4e9f088] to [3183d8d941c5427d].

43 alias int* PNTSTATUS; 43 alias int* PNTSTATUS; 44 44 45 struct UNICODE_STRING { 45 struct UNICODE_STRING { 46 USHORT Length; 46 USHORT Length; 47 USHORT MaximumLength; 47 USHORT MaximumLength; 48 PWSTR Buffer; 48 PWSTR Buffer; 49 } 49 } 50 alias UNICODE_STRING* PUNICODE_STRING; | 50 alias UNICODE_STRING* PUNICODE_STRING; 51 alias CPtr!(UNICODE_STRING) PCUNICODE_STRING; | 51 alias const(UNICODE_STRING)* PCUNICODE_STRING; 52 52 53 struct STRING { 53 struct STRING { 54 USHORT Length; 54 USHORT Length; 55 USHORT MaximumLength; 55 USHORT MaximumLength; 56 PCHAR Buffer; 56 PCHAR Buffer; 57 } 57 } 58 alias STRING ANSI_STRING, OEM_STRING; 58 alias STRING ANSI_STRING, OEM_STRING;

Modified src/win32/ntdll.d from [5b08a7cec4ddc80a] to [756e171c35e05b4a].

8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.ntdll; 11 module win32.ntdll; 12 12 13 private import win32.w32api; 13 private import win32.w32api; 14 14 15 // http://www.matcode.com/undocwin.h.txt < 16 static assert (_WIN32_WINNT_ONLY, < 17 "win32.ntdll is available only if version WindowsNTonly, WindowsXP, " < 18 "Windows2003 or WindowsVista is set"); < 19 < 20 15 21 enum SHUTDOWN_ACTION { 16 enum SHUTDOWN_ACTION { 22 ShutdownNoReboot, 17 ShutdownNoReboot, 23 ShutdownReboot, 18 ShutdownReboot, 24 ShutdownPowerOff 19 ShutdownPowerOff 25 } 20 } 26 21 27 extern (Windows) uint NtShutdownSystem(SHUTDOWN_ACTION Action); 22 extern (Windows) uint NtShutdownSystem(SHUTDOWN_ACTION Action);

Modified src/win32/ntsecapi.d from [af13fe2a125c8d82] to [383102dcd27f40ad].

402 UCHAR[MSV1_0_CHALLENGE_LENGTH] ChallengeToClient; 402 UCHAR[MSV1_0_CHALLENGE_LENGTH] ChallengeToClient; 403 STRING CaseSensitiveChallengeResponse; 403 STRING CaseSensitiveChallengeResponse; 404 STRING CaseInsensitiveChallengeResponse; 404 STRING CaseInsensitiveChallengeResponse; 405 ULONG ParameterControl; 405 ULONG ParameterControl; 406 } 406 } 407 alias MSV1_0_LM20_LOGON* PMSV1_0_LM20_LOGON; 407 alias MSV1_0_LM20_LOGON* PMSV1_0_LM20_LOGON; 408 408 409 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { | 409 static if (_WIN32_WINNT >= 0x500) { 410 struct MSV1_0_SUBAUTH_LOGON { 410 struct MSV1_0_SUBAUTH_LOGON { 411 MSV1_0_LOGON_SUBMIT_TYPE MessageType; 411 MSV1_0_LOGON_SUBMIT_TYPE MessageType; 412 UNICODE_STRING LogonDomainName; 412 UNICODE_STRING LogonDomainName; 413 UNICODE_STRING UserName; 413 UNICODE_STRING UserName; 414 UNICODE_STRING Workstation; 414 UNICODE_STRING Workstation; 415 UCHAR[MSV1_0_CHALLENGE_LENGTH] ChallengeToClient; 415 UCHAR[MSV1_0_CHALLENGE_LENGTH] ChallengeToClient; 416 STRING AuthenticationInfo1; 416 STRING AuthenticationInfo1; ................................................................................................................................................................................ 659 LARGE_INTEGER MaxTicketAge; 659 LARGE_INTEGER MaxTicketAge; 660 LARGE_INTEGER MaxRenewAge; 660 LARGE_INTEGER MaxRenewAge; 661 LARGE_INTEGER ProxyLifetime; 661 LARGE_INTEGER ProxyLifetime; 662 LARGE_INTEGER ForceLogoff; 662 LARGE_INTEGER ForceLogoff; 663 } 663 } 664 alias POLICY_DOMAIN_KERBEROS_TICKET_INFO* PPOLICY_DOMAIN_KERBEROS_TICKET_INFO; 664 alias POLICY_DOMAIN_KERBEROS_TICKET_INFO* PPOLICY_DOMAIN_KERBEROS_TICKET_INFO; 665 665 666 alias HANDLE LSA_HANDLE; | 666 mixin DECLARE_HANDLE!("LSA_HANDLE"); 667 alias HANDLE* PLSA_HANDLE; | 667 alias LSA_HANDLE* PLSA_HANDLE; 668 668 669 struct TRUSTED_DOMAIN_NAME_INFO { 669 struct TRUSTED_DOMAIN_NAME_INFO { 670 LSA_UNICODE_STRING Name; 670 LSA_UNICODE_STRING Name; 671 } 671 } 672 alias TRUSTED_DOMAIN_NAME_INFO* PTRUSTED_DOMAIN_NAME_INFO; 672 alias TRUSTED_DOMAIN_NAME_INFO* PTRUSTED_DOMAIN_NAME_INFO; 673 673 674 struct TRUSTED_CONTROLLERS_INFO { 674 struct TRUSTED_CONTROLLERS_INFO {

Added src/win32/ntsecpkg.d version [f28bac35de29964e]

> 1 /***********************************************************************\ > 2 * ntsecpkg.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Translated from MinGW Windows headers * > 7 * by Ellery Newcomer * > 8 * * > 9 * Placed into public domain * > 10 \***********************************************************************/ > 11 module win32.ntsecpkg; > 12 > 13 import win32.windef, win32.ntsecapi, win32.security, win32.ntdef, win32.sspi; > 14 import win32.winnt: GUID; > 15 import win32.winbase; > 16 > 17 extern(Windows): > 18 > 19 enum :ULONG{ > 20 ISC_REQ_DELEGATE = 1, > 21 ISC_REQ_MUTUAL_AUTH = 2, > 22 ISC_REQ_REPLAY_DETECT = 4, > 23 ISC_REQ_SEQUENCE_DETECT = 8, > 24 ISC_REQ_CONFIDENTIALITY = 16, > 25 ISC_REQ_USE_SESSION_KEY = 32, > 26 ISC_REQ_PROMPT_FOR_CREDS = 64, > 27 ISC_REQ_USE_SUPPLIED_CREDS = 128, > 28 ISC_REQ_ALLOCATE_MEMORY = 256, > 29 ISC_REQ_USE_DCE_STYLE = 512, > 30 ISC_REQ_DATAGRAM = 1024, > 31 ISC_REQ_CONNECTION = 2048, > 32 ISC_REQ_EXTENDED_ERROR = 16384, > 33 ISC_REQ_STREAM = 32768, > 34 ISC_REQ_INTEGRITY = 65536, > 35 ISC_REQ_MANUAL_CRED_VALIDATION = 524288, > 36 ISC_REQ_HTTP = 268435456, > 37 } > 38 > 39 enum ISC_RET_EXTENDED_ERROR = 16384; > 40 > 41 enum :ULONG{ > 42 ASC_REQ_DELEGATE = 1, > 43 ASC_REQ_MUTUAL_AUTH = 2, > 44 ASC_REQ_REPLAY_DETECT = 4, > 45 ASC_REQ_SEQUENCE_DETECT = 8, > 46 ASC_REQ_CONFIDENTIALITY = 16, > 47 ASC_REQ_USE_SESSION_KEY = 32, > 48 ASC_REQ_ALLOCATE_MEMORY = 256, > 49 ASC_REQ_USE_DCE_STYLE = 512, > 50 ASC_REQ_DATAGRAM = 1024, > 51 ASC_REQ_CONNECTION = 2048, > 52 ASC_REQ_EXTENDED_ERROR = 32768, > 53 ASC_REQ_STREAM = 65536, > 54 ASC_REQ_INTEGRITY = 131072, > 55 } > 56 > 57 enum SECURITY_NATIVE_DREP = 16; > 58 enum SECURITY_NETWORK_DREP = 0; > 59 > 60 enum :ULONG{ > 61 SECPKG_STATE_ENCRYPTION_PERMITTED = 0x01, > 62 SECPKG_STATE_STRONG_ENCRYPTION_PERMITTED = 0x02, > 63 SECPKG_STATE_DOMAIN_CONTROLLER = 0x04, > 64 SECPKG_STATE_WORKSTATION = 0x08, > 65 SECPKG_STATE_STANDALONE = 0x10, > 66 } > 67 > 68 /* enum definitions for Secure Service Provider/Authentication Packages */ > 69 enum LSA_TOKEN_INFORMATION_TYPE { > 70 LsaTokenInformationNull, > 71 LsaTokenInformationV1 > 72 } > 73 alias LSA_TOKEN_INFORMATION_TYPE* PLSA_TOKEN_INFORMATION_TYPE; > 74 enum SECPKG_EXTENDED_INFORMATION_CLASS > 75 { > 76 SecpkgGssInfo = 1, > 77 SecpkgContextThunks, > 78 SecpkgMutualAuthLevel, > 79 SecpkgMaxInfo > 80 } > 81 enum SECPKG_NAME_TYPE { > 82 SecNameSamCompatible, > 83 SecNameAlternateId, > 84 SecNameFlat, > 85 SecNameDN > 86 } > 87 > 88 /* struct definitions for SSP/AP */ > 89 struct SECPKG_PRIMARY_CRED { > 90 LUID LogonId; > 91 UNICODE_STRING DownlevelName; > 92 UNICODE_STRING DomainName; > 93 UNICODE_STRING Password; > 94 UNICODE_STRING OldPassword; > 95 PSID UserSid; > 96 ULONG Flags; > 97 UNICODE_STRING DnsDomainName; > 98 UNICODE_STRING Upn; > 99 UNICODE_STRING LogonServer; > 100 UNICODE_STRING Spare1; > 101 UNICODE_STRING Spare2; > 102 UNICODE_STRING Spare3; > 103 UNICODE_STRING Spare4; > 104 } > 105 alias SECPKG_PRIMARY_CRED* PSECPKG_PRIMARY_CRED; > 106 struct SECPKG_SUPPLEMENTAL_CRED { > 107 UNICODE_STRING PackageName; > 108 ULONG CredentialSize; > 109 PUCHAR Credentials; > 110 } > 111 alias SECPKG_SUPPLEMENTAL_CRED* PSECPKG_SUPPLEMENTAL_CRED; > 112 struct SECPKG_SUPPLEMENTAL_CRED_ARRAY { > 113 ULONG CredentialCount; > 114 SECPKG_SUPPLEMENTAL_CRED[1] Credentials; > 115 } > 116 alias SECPKG_SUPPLEMENTAL_CRED_ARRAY* PSECPKG_SUPPLEMENTAL_CRED_ARRAY; > 117 struct SECPKG_PARAMETERS { > 118 ULONG Version; > 119 ULONG MachineState; > 120 ULONG SetupMode; > 121 PSID DomainSid; > 122 UNICODE_STRING DomainName; > 123 UNICODE_STRING DnsDomainName; > 124 GUID DomainGuid; > 125 } > 126 alias SECPKG_PARAMETERS* PSECPKG_PARAMETERS,PSECPKG_EVENT_DOMAIN_CHANGE; > 127 alias SECPKG_PARAMETERS SECPKG_EVENT_DOMAIN_CHANGE; > 128 struct SECPKG_CLIENT_INFO { > 129 LUID LogonId; > 130 ULONG ProcessID; > 131 ULONG ThreadID; > 132 BOOLEAN HasTcbPrivilege; > 133 BOOLEAN Impersonating; > 134 BOOLEAN Restricted; > 135 } > 136 alias SECPKG_CLIENT_INFO* PSECPKG_CLIENT_INFO; > 137 struct SECURITY_USER_DATA { > 138 SECURITY_STRING UserName; > 139 SECURITY_STRING LogonDomainName; > 140 SECURITY_STRING LogonServer; > 141 PSID pSid; > 142 } > 143 alias SECURITY_USER_DATA* PSECURITY_USER_DATA,PSecurityUserData; > 144 alias SECURITY_USER_DATA SecurityUserData; > 145 struct SECPKG_GSS_INFO { > 146 ULONG EncodedIdLength; > 147 UCHAR[4] EncodedId; > 148 } > 149 alias SECPKG_GSS_INFO* PSECPKG_GSS_INFO; > 150 struct SECPKG_CONTEXT_THUNKS { > 151 ULONG InfoLevelCount; > 152 ULONG[1] Levels; > 153 } > 154 alias SECPKG_CONTEXT_THUNKS* PSECPKG_CONTEXT_THUNKS; > 155 struct SECPKG_MUTUAL_AUTH_LEVEL { > 156 ULONG MutualAuthLevel; > 157 } > 158 alias SECPKG_MUTUAL_AUTH_LEVEL* PSECPKG_MUTUAL_AUTH_LEVEL; > 159 struct SECPKG_CALL_INFO { > 160 ULONG ProcessId; > 161 ULONG ThreadId; > 162 ULONG Attributes; > 163 ULONG CallCount; > 164 } > 165 alias SECPKG_CALL_INFO* PSECPKG_CALL_INFO; > 166 struct SECPKG_EXTENDED_INFORMATION { > 167 SECPKG_EXTENDED_INFORMATION_CLASS Class; > 168 union _Info{ > 169 SECPKG_GSS_INFO GssInfo; > 170 SECPKG_CONTEXT_THUNKS ContextThunks; > 171 SECPKG_MUTUAL_AUTH_LEVEL MutualAuthLevel; > 172 } > 173 _Info Info; > 174 } > 175 alias SECPKG_EXTENDED_INFORMATION* PSECPKG_EXTENDED_INFORMATION; > 176 > 177 /* callbacks implemented by SSP/AP dlls and called by the LSA */ > 178 alias void function(ULONG_PTR, ULONG_PTR, PSecBuffer, > 179 PSecBuffer) PLSA_CALLBACK_FUNCTION; > 180 > 181 /* misc typedefs used in the below prototypes */ > 182 alias PVOID* PLSA_CLIENT_REQUEST; > 183 alias ULONG LSA_SEC_HANDLE; > 184 alias ULONG* PLSA_SEC_HANDLE; > 185 alias LPTHREAD_START_ROUTINE SEC_THREAD_START; > 186 alias PSECURITY_ATTRIBUTES SEC_ATTRS; > 187 > 188 /* functions used by SSP/AP obtainable by dispatch tables */ > 189 alias NTSTATUS function(ULONG, PLSA_CALLBACK_FUNCTION) PLSA_REGISTER_CALLBACK; > 190 alias NTSTATUS function(PLUID) PLSA_CREATE_LOGON_SESSION; > 191 alias NTSTATUS function(PLUID) PLSA_DELETE_LOGON_SESSION; > 192 alias NTSTATUS function(PLUID, ULONG, PLSA_STRING, > 193 PLSA_STRING) PLSA_ADD_CREDENTIAL; > 194 alias NTSTATUS function(PLUID, ULONG, PULONG, BOOLEAN, > 195 PLSA_STRING, PULONG, PLSA_STRING) PLSA_GET_CREDENTIALS; > 196 alias NTSTATUS function(PLUID, ULONG, PLSA_STRING) PLSA_DELETE_CREDENTIAL; > 197 alias PVOID function(ULONG) PLSA_ALLOCATE_LSA_HEAP; > 198 alias void function(PVOID) PLSA_FREE_LSA_HEAP; > 199 alias NTSTATUS function(PLSA_CLIENT_REQUEST, > 200 ULONG, PVOID*) PLSA_ALLOCATE_CLIENT_BUFFER; > 201 alias NTSTATUS function(PLSA_CLIENT_REQUEST, PVOID) PLSA_FREE_CLIENT_BUFFER; > 202 alias NTSTATUS function(PLSA_CLIENT_REQUEST, ULONG, > 203 PVOID, PVOID) PLSA_COPY_TO_CLIENT_BUFFER; > 204 alias NTSTATUS function(PLSA_CLIENT_REQUEST, > 205 ULONG, PVOID, PVOID) PLSA_COPY_FROM_CLIENT_BUFFER; > 206 alias NTSTATUS function() PLSA_IMPERSONATE_CLIENT; > 207 alias NTSTATUS function() PLSA_UNLOAD_PACKAGE; > 208 alias NTSTATUS function(HANDLE, PHANDLE) PLSA_DUPLICATE_HANDLE; > 209 alias NTSTATUS function(PLUID, ULONG, > 210 PVOID, BOOLEAN) PLSA_SAVE_SUPPLEMENTAL_CREDENTIALS; > 211 alias HANDLE function(SEC_ATTRS, ULONG, SEC_THREAD_START, > 212 PVOID, ULONG, PULONG) PLSA_CREATE_THREAD; > 213 alias NTSTATUS function(PSECPKG_CLIENT_INFO) PLSA_GET_CLIENT_INFO; > 214 alias HANDLE function(SEC_THREAD_START, PVOID, > 215 ULONG, ULONG, ULONG, ULONG, HANDLE) PLSA_REGISTER_NOTIFICATION; > 216 alias NTSTATUS function(HANDLE) PLSA_CANCEL_NOTIFICATION; > 217 alias NTSTATUS function(PSecBuffer, PSecBuffer) PLSA_MAP_BUFFER; > 218 alias NTSTATUS function(PLUID, PTOKEN_SOURCE, > 219 SECURITY_LOGON_TYPE, SECURITY_IMPERSONATION_LEVEL, LSA_TOKEN_INFORMATION_TYPE, > 220 PVOID, PTOKEN_GROUPS, PUNICODE_STRING, PUNICODE_STRING, PUNICODE_STRING, > 221 PUNICODE_STRING, PHANDLE, PNTSTATUS) PLSA_CREATE_TOKEN; > 222 alias void function(NTSTATUS, NTSTATUS, PUNICODE_STRING, > 223 PUNICODE_STRING, PUNICODE_STRING, PSID, SECURITY_LOGON_TYPE, > 224 PTOKEN_SOURCE, PLUID) PLSA_AUDIT_LOGON; > 225 alias NTSTATUS function(PUNICODE_STRING, PVOID, ULONG, > 226 PVOID*, PULONG, PNTSTATUS) PLSA_CALL_PACKAGE; > 227 alias BOOLEAN function(PSECPKG_CALL_INFO) PLSA_GET_CALL_INFO; > 228 alias NTSTATUS function(PUNICODE_STRING, PVOID, PVOID, > 229 ULONG, PVOID*, PULONG, PNTSTATUS) PLSA_CALL_PACKAGEEX; > 230 alias PVOID function(ULONG, ULONG) PLSA_CREATE_SHARED_MEMORY; > 231 alias PVOID function(PVOID, ULONG) PLSA_ALLOCATE_SHARED_MEMORY; > 232 alias void function(PVOID, PVOID) PLSA_FREE_SHARED_MEMORY; > 233 alias BOOLEAN function(PVOID) PLSA_DELETE_SHARED_MEMORY; > 234 alias NTSTATUS function(PSECURITY_STRING, SECPKG_NAME_TYPE, > 235 PSECURITY_STRING, BOOLEAN, ULONG, PVOID*) PLSA_OPEN_SAM_USER; > 236 alias NTSTATUS function(PVOID, PVOID *, PULONG, > 237 PVOID *, PULONG) PLSA_GET_USER_CREDENTIALS; > 238 alias NTSTATUS function(PVOID, PUCHAR *, PULONG) PLSA_GET_USER_AUTH_DATA; > 239 alias NTSTATUS function(PVOID) PLSA_CLOSE_SAM_USER; > 240 alias NTSTATUS function(PVOID, ULONG, > 241 SECURITY_IMPERSONATION_LEVEL, PTOKEN_SOURCE, SECURITY_LOGON_TYPE, > 242 PUNICODE_STRING, PHANDLE, PLUID, PUNICODE_STRING, PNTSTATUS) PLSA_CONVERT_AUTH_ > 243 alias NTSTATUS function(PCHAR, ULONG_PTR, ULONG_PTR, > 244 PSecBuffer, PSecBuffer) PLSA_CLIENT_CALLBACK; > 245 alias NTSTATUS function(PSECPKG_PRIMARY_CRED, PSECPKG_SUPPLEMENTAL_CRED_ARRAY) P > 246 alias NTSTATUS function(PSECURITY_STRING, > 247 SECPKG_NAME_TYPE, PSECURITY_STRING, PUCHAR *, PULONG, PUNICODE_STRING) PLSA_GET > 248 alias NTSTATUS function(ULONG, BOOLEAN, > 249 PUNICODE_STRING, PUNICODE_STRING, ULONG, PUNICODE_STRING, PUNICODE_STRING, > 250 PULONG) PLSA_CRACK_SINGLE_NAME; > 251 alias NTSTATUS function(ULONG, BOOLEAN, > 252 PUNICODE_STRING, PUNICODE_STRING, PUNICODE_STRING, NTSTATUS) PLSA_AUDIT_ACCOUNT > 253 alias NTSTATUS function(PUNICODE_STRING, PVOID, > 254 PVOID, ULONG, PVOID*, PULONG, PNTSTATUS) PLSA_CALL_PACKAGE_PASSTHROUGH; > 255 > 256 /* Dispatch tables of functions used by SSP/AP */ > 257 struct SECPKG_DLL_FUNCTIONS { > 258 PLSA_ALLOCATE_LSA_HEAP AllocateHeap; > 259 PLSA_FREE_LSA_HEAP FreeHeap; > 260 PLSA_REGISTER_CALLBACK RegisterCallback; > 261 } > 262 alias SECPKG_DLL_FUNCTIONS* PSECPKG_DLL_FUNCTIONS; > 263 struct LSA_DISPATCH_TABLE { > 264 PLSA_CREATE_LOGON_SESSION CreateLogonSession; > 265 PLSA_DELETE_LOGON_SESSION DeleteLogonSession; > 266 PLSA_ADD_CREDENTIAL AddCredential; > 267 PLSA_GET_CREDENTIALS GetCredentials; > 268 PLSA_DELETE_CREDENTIAL DeleteCredential; > 269 PLSA_ALLOCATE_LSA_HEAP AllocateLsaHeap; > 270 PLSA_FREE_LSA_HEAP FreeLsaHeap; > 271 PLSA_ALLOCATE_CLIENT_BUFFER AllocateClientBuffer; > 272 PLSA_FREE_CLIENT_BUFFER FreeClientBuffer; > 273 PLSA_COPY_TO_CLIENT_BUFFER CopyToClientBuffer; > 274 PLSA_COPY_FROM_CLIENT_BUFFER CopyFromClientBuffer; > 275 } > 276 alias LSA_DISPATCH_TABLE* PLSA_DISPATCH_TABLE; > 277 struct LSA_SECPKG_FUNCTION_TABLE { > 278 PLSA_CREATE_LOGON_SESSION CreateLogonSession; > 279 PLSA_DELETE_LOGON_SESSION DeleteLogonSession; > 280 PLSA_ADD_CREDENTIAL AddCredential; > 281 PLSA_GET_CREDENTIALS GetCredentials; > 282 PLSA_DELETE_CREDENTIAL DeleteCredential; > 283 PLSA_ALLOCATE_LSA_HEAP AllocateLsaHeap; > 284 PLSA_FREE_LSA_HEAP FreeLsaHeap; > 285 PLSA_ALLOCATE_CLIENT_BUFFER AllocateClientBuffer; > 286 PLSA_FREE_CLIENT_BUFFER FreeClientBuffer; > 287 PLSA_COPY_TO_CLIENT_BUFFER CopyToClientBuffer; > 288 PLSA_COPY_FROM_CLIENT_BUFFER CopyFromClientBuffer; > 289 PLSA_IMPERSONATE_CLIENT ImpersonateClient; > 290 PLSA_UNLOAD_PACKAGE UnloadPackage; > 291 PLSA_DUPLICATE_HANDLE DuplicateHandle; > 292 PLSA_SAVE_SUPPLEMENTAL_CREDENTIALS SaveSupplementalCredentials; > 293 PLSA_CREATE_THREAD CreateThread; > 294 PLSA_GET_CLIENT_INFO GetClientInfo; > 295 PLSA_REGISTER_NOTIFICATION RegisterNotification; > 296 PLSA_CANCEL_NOTIFICATION CancelNotification; > 297 PLSA_MAP_BUFFER MapBuffer; > 298 PLSA_CREATE_TOKEN CreateToken; > 299 PLSA_AUDIT_LOGON AuditLogon; > 300 PLSA_CALL_PACKAGE CallPackage; > 301 PLSA_FREE_LSA_HEAP FreeReturnBuffer; > 302 PLSA_GET_CALL_INFO GetCallInfo; > 303 PLSA_CALL_PACKAGEEX CallPackageEx; > 304 PLSA_CREATE_SHARED_MEMORY CreateSharedMemory; > 305 PLSA_ALLOCATE_SHARED_MEMORY AllocateSharedMemory; > 306 PLSA_FREE_SHARED_MEMORY FreeSharedMemory; > 307 PLSA_DELETE_SHARED_MEMORY DeleteSharedMemory; > 308 PLSA_OPEN_SAM_USER OpenSamUser; > 309 PLSA_GET_USER_CREDENTIALS GetUserCredentials; > 310 PLSA_GET_USER_AUTH_DATA GetUserAuthData; > 311 PLSA_CLOSE_SAM_USER CloseSamUser; > 312 PLSA_CONVERT_AUTH_DATA_TO_TOKEN ConvertAuthDataToToken; > 313 PLSA_CLIENT_CALLBACK ClientCallback; > 314 PLSA_UPDATE_PRIMARY_CREDENTIALS UpdateCredentials; > 315 PLSA_GET_AUTH_DATA_FOR_USER GetAuthDataForUser; > 316 PLSA_CRACK_SINGLE_NAME CrackSingleName; > 317 PLSA_AUDIT_ACCOUNT_LOGON AuditAccountLogon; > 318 PLSA_CALL_PACKAGE_PASSTHROUGH CallPackagePassthrough; > 319 } > 320 alias LSA_SECPKG_FUNCTION_TABLE* PLSA_SECPKG_FUNCTION_TABLE; > 321 > 322 /* functions implemented by SSP/AP obtainable by dispatch tables */ > 323 alias NTSTATUS function(ULONG, PLSA_DISPATCH_TABLE, > 324 PLSA_STRING, PLSA_STRING, PLSA_STRING *) PLSA_AP_INITIALIZE_PACKAGE; > 325 alias NTSTATUS function(LPWSTR, LPWSTR, LPWSTR, LPWSTR, > 326 DWORD, DWORD, PHANDLE) PLSA_AP_LOGON_USER; > 327 alias NTSTATUS function(PUNICODE_STRING, PVOID, ULONG, > 328 PVOID *, PULONG, PNTSTATUS) PLSA_AP_CALL_PACKAGE; > 329 alias void function(PLUID) PLSA_AP_LOGON_TERMINATED; > 330 alias NTSTATUS function(PLSA_CLIENT_REQUEST, > 331 PVOID, PVOID, ULONG, PVOID *, PULONG, PNTSTATUS) PLSA_AP_CALL_PACKAGE_UNTRUSTED > 332 alias NTSTATUS function(PUNICODE_STRING, > 333 PVOID, PVOID, ULONG, PVOID *, PULONG, PNTSTATUS) PLSA_AP_CALL_PACKAGE_PASSTHROU > 334 alias NTSTATUS function(PLSA_CLIENT_REQUEST, > 335 SECURITY_LOGON_TYPE, PVOID, PVOID, ULONG, PVOID *, PULONG, PLUID, PNTSTATUS, > 336 PLSA_TOKEN_INFORMATION_TYPE, PVOID *, PUNICODE_STRING *, PUNICODE_STRING *, > 337 PUNICODE_STRING *) PLSA_AP_LOGON_USER_EX; > 338 alias NTSTATUS function(PLSA_CLIENT_REQUEST, > 339 SECURITY_LOGON_TYPE, PVOID, PVOID, ULONG, PVOID *, PULONG, PLUID, PNTSTATUS, > 340 PLSA_TOKEN_INFORMATION_TYPE, PVOID *, PUNICODE_STRING *, PUNICODE_STRING *, > 341 PUNICODE_STRING *, PSECPKG_PRIMARY_CRED, PSECPKG_SUPPLEMENTAL_CRED_ARRAY *) PLS > 342 alias NTSTATUS function(ULONG_PTR, PSECPKG_PARAMETERS, > 343 PLSA_SECPKG_FUNCTION_TABLE) SpInitializeFn; > 344 alias NTSTATUS function() SpShutDownFn; > 345 alias NTSTATUS function(PSecPkgInfoW) SpGetInfoFn; > 346 alias NTSTATUS function(SECURITY_LOGON_TYPE, > 347 PUNICODE_STRING, PSECPKG_PRIMARY_CRED, PSECPKG_SUPPLEMENTAL_CRED) SpAcceptCrede > 348 alias NTSTATUS function(PUNICODE_STRING, ULONG, > 349 PLUID, PVOID, PVOID, PVOID, PLSA_SEC_HANDLE, PTimeStamp) SpAcquireCredentialsHa > 350 alias NTSTATUS function(LSA_SEC_HANDLE, ULONG, PVOID) SpQueryCredentialsAttribut > 351 alias NTSTATUS function(LSA_SEC_HANDLE) SpFreeCredentialsHandleFn; > 352 alias NTSTATUS function(LSA_SEC_HANDLE, PSecBuffer) SpSaveCredentialsFn; > 353 alias NTSTATUS function(LSA_SEC_HANDLE, PSecBuffer) SpGetCredentialsFn; > 354 alias NTSTATUS function(LSA_SEC_HANDLE, PSecBuffer) SpDeleteCredentialsFn; > 355 alias NTSTATUS function(LSA_SEC_HANDLE, LSA_SEC_HANDLE, > 356 PUNICODE_STRING, ULONG, ULONG, PSecBufferDesc, PLSA_SEC_HANDLE, PSecBufferDesc, > 357 PULONG, PTimeStamp, PBOOLEAN, PSecBuffer) SpInitLsaModeContextFn; > 358 alias NTSTATUS function(LSA_SEC_HANDLE, > 359 LSA_SEC_HANDLE, PSecBufferDesc, ULONG, ULONG, PLSA_SEC_HANDLE, PSecBufferDesc, > 360 PULONG, PTimeStamp, PBOOLEAN, PSecBuffer) SpAcceptLsaModeContextFn; > 361 alias NTSTATUS function(LSA_SEC_HANDLE) SpDeleteContextFn; > 362 alias NTSTATUS function(LSA_SEC_HANDLE, PSecBufferDesc) SpApplyControlTokenFn; > 363 alias NTSTATUS function(PLUID, ULONG, PSecurityUserData *) SpGetUserInfoFn; > 364 alias NTSTATUS function(SECPKG_EXTENDED_INFORMATION_CLASS, PSECPKG_EXTENDED_INFO > 365 alias NTSTATUS function(LSA_SEC_HANDLE, ULONG, PVOID) SpQueryContextAttributesFn > 366 alias NTSTATUS function(LSA_SEC_HANDLE, PUNICODE_STRING, > 367 PUNICODE_STRING, ULONG, PVOID, PVOID, PVOID, PTimeStamp) SpAddCredentialsFn; > 368 alias NTSTATUS function( > 369 SECPKG_EXTENDED_INFORMATION_CLASS, PSECPKG_EXTENDED_INFORMATION) SpSetExtendedI > 370 alias NTSTATUS function(ULONG, PSECPKG_DLL_FUNCTIONS, > 371 PVOID *) SpInstanceInitFn; > 372 alias NTSTATUS function(LSA_SEC_HANDLE, PSecBuffer) SpInitUserModeContextFn; > 373 alias NTSTATUS function(LSA_SEC_HANDLE, ULONG, > 374 PSecBufferDesc, ULONG) SpMakeSignatureFn; > 375 alias NTSTATUS function(LSA_SEC_HANDLE, PSecBufferDesc, > 376 ULONG, PULONG) SpVerifySignatureFn; > 377 alias NTSTATUS function(LSA_SEC_HANDLE, ULONG, PSecBufferDesc, > 378 ULONG) SpSealMessageFn; > 379 alias NTSTATUS function(LSA_SEC_HANDLE, PSecBufferDesc, > 380 ULONG, PULONG) SpUnsealMessageFn; > 381 alias NTSTATUS function(LSA_SEC_HANDLE, PHANDLE) SpGetContextTokenFn; > 382 alias NTSTATUS function(LSA_SEC_HANDLE, PSecBufferDesc) SpCompleteAuthTokenFn; > 383 alias NTSTATUS function(PSecBuffer, PSecBuffer) SpFormatCredentialsFn; > 384 alias NTSTATUS function(ULONG, PUCHAR, PULONG, > 385 PVOID *) SpMarshallSupplementalCredsFn; > 386 alias NTSTATUS function(LSA_SEC_HANDLE, ULONG, > 387 PSecBuffer, PHANDLE) SpExportSecurityContextFn; > 388 alias NTSTATUS function(PSecBuffer, HANDLE, > 389 PLSA_SEC_HANDLE) SpImportSecurityContextFn; > 390 > 391 /* Dispatch tables of functions implemented by SSP/AP */ > 392 struct SECPKG_FUNCTION_TABLE { > 393 PLSA_AP_INITIALIZE_PACKAGE InitializePackage; > 394 PLSA_AP_LOGON_USER LogonUser; > 395 PLSA_AP_CALL_PACKAGE CallPackage; > 396 PLSA_AP_LOGON_TERMINATED LogonTerminated; > 397 PLSA_AP_CALL_PACKAGE_UNTRUSTED CallPackageUntrusted; > 398 PLSA_AP_CALL_PACKAGE_PASSTHROUGH CallPackagePassthrough; > 399 PLSA_AP_LOGON_USER_EX LogonUserEx; > 400 PLSA_AP_LOGON_USER_EX2 LogonUserEx2; > 401 SpInitializeFn *Initialize; > 402 SpShutDownFn *Shutdown; > 403 SpGetInfoFn *GetInfo; > 404 SpAcceptCredentialsFn *AcceptCredentials; > 405 SpAcquireCredentialsHandleFn *AcquireCredentialsHandle; > 406 SpQueryCredentialsAttributesFn *QueryCredentialsAttributes; > 407 SpFreeCredentialsHandleFn *FreeCredentialsHandle; > 408 SpSaveCredentialsFn *SaveCredentials; > 409 SpGetCredentialsFn *GetCredentials; > 410 SpDeleteCredentialsFn *DeleteCredentials; > 411 SpInitLsaModeContextFn *InitLsaModeContext; > 412 SpAcceptLsaModeContextFn *AcceptLsaModeContext; > 413 SpDeleteContextFn *DeleteContext; > 414 SpApplyControlTokenFn *ApplyControlToken; > 415 SpGetUserInfoFn *GetUserInfo; > 416 SpGetExtendedInformationFn *GetExtendedInformation; > 417 SpQueryContextAttributesFn *QueryContextAttributes; > 418 SpAddCredentialsFn *AddCredentials; > 419 SpSetExtendedInformationFn *SetExtendedInformation; > 420 } > 421 alias SECPKG_FUNCTION_TABLE* PSECPKG_FUNCTION_TABLE; > 422 > 423 struct SECPKG_USER_FUNCTION_TABLE { > 424 SpInstanceInitFn *InstanceInit; > 425 SpInitUserModeContextFn *InitUserModeContext; > 426 SpMakeSignatureFn *MakeSignature; > 427 SpVerifySignatureFn *VerifySignature; > 428 SpSealMessageFn *SealMessage; > 429 SpUnsealMessageFn *UnsealMessage; > 430 SpGetContextTokenFn *GetContextToken; > 431 SpQueryContextAttributesFn *QueryContextAttributes; > 432 SpCompleteAuthTokenFn *CompleteAuthToken; > 433 SpDeleteContextFn *DeleteUserModeContext; > 434 SpFormatCredentialsFn *FormatCredentials; > 435 SpMarshallSupplementalCredsFn *MarshallSupplementalCreds; > 436 SpExportSecurityContextFn *ExportContext; > 437 SpImportSecurityContextFn *ImportContext; > 438 } > 439 alias SECPKG_USER_FUNCTION_TABLE* PSECPKG_USER_FUNCTION_TABLE; > 440 > 441 /* Entry points to SSP/AP */ > 442 alias NTSTATUS function(ULONG, PULONG, > 443 PSECPKG_FUNCTION_TABLE *, PULONG) SpLsaModeInitializeFn; > 444 alias NTSTATUS function(ULONG, PULONG, > 445 PSECPKG_USER_FUNCTION_TABLE *, PULONG) SpUserModeInitializeFn; > 446

Modified src/win32/oaidl.d from [2b588d001c37b323] to [3b6a16e1b16e8ad3].

89 struct SAFEARR_BSTR { 89 struct SAFEARR_BSTR { 90 ULONG Size; 90 ULONG Size; 91 wireBSTR* aBstr; 91 wireBSTR* aBstr; 92 } 92 } 93 93 94 struct SAFEARR_UNKNOWN { 94 struct SAFEARR_UNKNOWN { 95 ULONG Size; 95 ULONG Size; 96 IUnknown** apUnknown; | 96 IUnknown* apUnknown; 97 } 97 } 98 98 99 struct SAFEARR_DISPATCH { 99 struct SAFEARR_DISPATCH { 100 ULONG Size; 100 ULONG Size; 101 LPDISPATCH* apDispatch; 101 LPDISPATCH* apDispatch; 102 } 102 } 103 103 ................................................................................................................................................................................ 129 struct SAFEARR_BRECORD { 129 struct SAFEARR_BRECORD { 130 ULONG Size; 130 ULONG Size; 131 wireBRECORD* aRecord; 131 wireBRECORD* aRecord; 132 } 132 } 133 133 134 struct SAFEARR_HAVEIID { 134 struct SAFEARR_HAVEIID { 135 ULONG Size; 135 ULONG Size; 136 IUnknown** apUnknown; | 136 IUnknown* apUnknown; 137 IID iid; 137 IID iid; 138 } 138 } 139 139 140 struct SAFEARRAYUNION { 140 struct SAFEARRAYUNION { 141 ULONG sfType; 141 ULONG sfType; 142 union _u { 142 union _u { 143 SAFEARR_BSTR BstrStr; 143 SAFEARR_BSTR BstrStr; ................................................................................................................................................................................ 156 156 157 struct _wireSAFEARRAY { 157 struct _wireSAFEARRAY { 158 USHORT cDims; 158 USHORT cDims; 159 USHORT fFeatures; 159 USHORT fFeatures; 160 ULONG cbElements; 160 ULONG cbElements; 161 ULONG cLocks; 161 ULONG cLocks; 162 SAFEARRAYUNION uArrayStructs; 162 SAFEARRAYUNION uArrayStructs; 163 SAFEARRAYBOUND rgsabound[1]; | 163 SAFEARRAYBOUND[1] rgsabound; 164 } 164 } 165 alias _wireSAFEARRAY* wireSAFEARRAY; 165 alias _wireSAFEARRAY* wireSAFEARRAY; 166 166 167 alias wireSAFEARRAY* wirePSAFEARRAY; 167 alias wireSAFEARRAY* wirePSAFEARRAY; 168 168 169 struct SAFEARRAY { 169 struct SAFEARRAY { 170 USHORT cDims; 170 USHORT cDims; 171 USHORT fFeatures; 171 USHORT fFeatures; 172 ULONG cbElements; 172 ULONG cbElements; 173 ULONG cLocks; 173 ULONG cLocks; 174 PVOID pvData; 174 PVOID pvData; 175 SAFEARRAYBOUND rgsabound[1]; | 175 SAFEARRAYBOUND[1] rgsabound; 176 } 176 } 177 alias SAFEARRAY* LPSAFEARRAY; 177 alias SAFEARRAY* LPSAFEARRAY; 178 178 179 struct VARIANT { 179 struct VARIANT { 180 union { 180 union { 181 struct { 181 struct { 182 VARTYPE vt; 182 VARTYPE vt; ................................................................................................................................................................................ 255 FLOAT fltVal; 255 FLOAT fltVal; 256 DOUBLE dblVal; 256 DOUBLE dblVal; 257 VARIANT_BOOL boolVal; 257 VARIANT_BOOL boolVal; 258 SCODE scode; 258 SCODE scode; 259 CY cyVal; 259 CY cyVal; 260 DATE date; 260 DATE date; 261 wireBSTR bstrVal; 261 wireBSTR bstrVal; 262 IUnknown* punkVal; | 262 IUnknown punkVal; 263 LPDISPATCH pdispVal; 263 LPDISPATCH pdispVal; 264 wirePSAFEARRAY parray; 264 wirePSAFEARRAY parray; 265 wireBRECORD brecVal; 265 wireBRECORD brecVal; 266 BYTE* pbVal; 266 BYTE* pbVal; 267 SHORT* piVal; 267 SHORT* piVal; 268 LONG* plVal; 268 LONG* plVal; 269 FLOAT* pfltVal; 269 FLOAT* pfltVal; 270 DOUBLE* pdblVal; 270 DOUBLE* pdblVal; 271 VARIANT_BOOL* pboolVal; 271 VARIANT_BOOL* pboolVal; 272 SCODE* pscode; 272 SCODE* pscode; 273 CY* pcyVal; 273 CY* pcyVal; 274 DATE* pdate; 274 DATE* pdate; 275 wireBSTR* pbstrVal; 275 wireBSTR* pbstrVal; 276 IUnknown** ppunkVal; | 276 IUnknown* ppunkVal; 277 LPDISPATCH* ppdispVal; 277 LPDISPATCH* ppdispVal; 278 wirePSAFEARRAY* pparray; 278 wirePSAFEARRAY* pparray; 279 wireVARIANT* pvarVal; 279 wireVARIANT* pvarVal; 280 CHAR cVal; 280 CHAR cVal; 281 USHORT uiVal; 281 USHORT uiVal; 282 ULONG ulVal; 282 ULONG ulVal; 283 ULONGLONG ullVal; 283 ULONGLONG ullVal; ................................................................................................................................................................................ 311 } 311 } 312 VARTYPE vt; 312 VARTYPE vt; 313 } 313 } 314 314 315 struct ARRAYDESC { 315 struct ARRAYDESC { 316 TYPEDESC tdescElem; 316 TYPEDESC tdescElem; 317 USHORT cDims; 317 USHORT cDims; 318 SAFEARRAYBOUND rgbounds[1]; | 318 SAFEARRAYBOUND[1] rgbounds; 319 } 319 } 320 320 321 struct PARAMDESCEX { 321 struct PARAMDESCEX { 322 ULONG cBytes; 322 ULONG cBytes; 323 VARIANTARG varDefaultValue; 323 VARIANTARG varDefaultValue; 324 } 324 } 325 alias PARAMDESCEX* LPPARAMDESCEX; 325 alias PARAMDESCEX* LPPARAMDESCEX; ................................................................................................................................................................................ 497 VARFLAG_FUIDEFAULT = 512, 497 VARFLAG_FUIDEFAULT = 512, 498 VARFLAG_FNONBROWSABLE = 1024, 498 VARFLAG_FNONBROWSABLE = 1024, 499 VARFLAG_FREPLACEABLE = 2048, 499 VARFLAG_FREPLACEABLE = 2048, 500 VARFLAG_FIMMEDIATEBIND = 4096 500 VARFLAG_FIMMEDIATEBIND = 4096 501 } 501 } 502 502 503 struct CLEANLOCALSTORAGE { 503 struct CLEANLOCALSTORAGE { 504 IUnknown* pInterface; | 504 IUnknown pInterface; 505 PVOID pStorage; 505 PVOID pStorage; 506 DWORD flags; 506 DWORD flags; 507 } 507 } 508 508 509 struct CUSTDATAITEM { 509 struct CUSTDATAITEM { 510 GUID guid; 510 GUID guid; 511 VARIANTARG varValue; 511 VARIANTARG varValue; ................................................................................................................................................................................ 542 } 542 } 543 alias IDispatch LPDISPATCH; 543 alias IDispatch LPDISPATCH; 544 544 545 interface IEnumVARIANT : IUnknown { 545 interface IEnumVARIANT : IUnknown { 546 HRESULT Next(ULONG, VARIANT*, ULONG*); 546 HRESULT Next(ULONG, VARIANT*, ULONG*); 547 HRESULT Skip(ULONG); 547 HRESULT Skip(ULONG); 548 HRESULT Reset(); 548 HRESULT Reset(); 549 HRESULT Clone(IEnumVARIANT**); | 549 HRESULT Clone(IEnumVARIANT*); 550 } 550 } 551 alias IEnumVARIANT LPENUMVARIANT; 551 alias IEnumVARIANT LPENUMVARIANT; 552 552 553 interface ITypeComp : IUnknown { 553 interface ITypeComp : IUnknown { 554 HRESULT Bind(LPOLESTR, ULONG, WORD, LPTYPEINFO*, DESCKIND*, LPBINDPTR); 554 HRESULT Bind(LPOLESTR, ULONG, WORD, LPTYPEINFO*, DESCKIND*, LPBINDPTR); 555 HRESULT BindType(LPOLESTR, ULONG, LPTYPEINFO*, LPTYPECOMP*); 555 HRESULT BindType(LPOLESTR, ULONG, LPTYPEINFO*, LPTYPECOMP*); 556 } 556 } ................................................................................................................................................................................ 597 HRESULT GetAllVarCustData(UINT, CUSTDATA*); 597 HRESULT GetAllVarCustData(UINT, CUSTDATA*); 598 HRESULT GetAllImplTypeCustData(UINT, CUSTDATA*); 598 HRESULT GetAllImplTypeCustData(UINT, CUSTDATA*); 599 } 599 } 600 alias ITypeInfo2 LPTYPEINFO2; 600 alias ITypeInfo2 LPTYPEINFO2; 601 601 602 interface ITypeLib : IUnknown { 602 interface ITypeLib : IUnknown { 603 UINT GetTypeInfoCount(); 603 UINT GetTypeInfoCount(); 604 HRESULT GetTypeInfo(UINT, ITypeInfo**); | 604 HRESULT GetTypeInfo(UINT, ITypeInfo*); 605 HRESULT GetTypeInfoType(UINT, TYPEKIND*); 605 HRESULT GetTypeInfoType(UINT, TYPEKIND*); 606 HRESULT GetTypeInfoOfGuid(REFGUID, ITypeInfo**); | 606 HRESULT GetTypeInfoOfGuid(REFGUID, ITypeInfo*); 607 HRESULT GetLibAttr(TLIBATTR**); 607 HRESULT GetLibAttr(TLIBATTR**); 608 HRESULT GetTypeComp(ITypeComp*); | 608 HRESULT GetTypeComp(ITypeComp); 609 HRESULT GetDocumentation(INT, BSTR*, BSTR*, DWORD*, BSTR*); 609 HRESULT GetDocumentation(INT, BSTR*, BSTR*, DWORD*, BSTR*); 610 HRESULT IsName(LPOLESTR, ULONG, BOOL*); 610 HRESULT IsName(LPOLESTR, ULONG, BOOL*); 611 HRESULT FindName(LPOLESTR, ULONG, ITypeInfo**, MEMBERID*, USHORT*); | 611 HRESULT FindName(LPOLESTR, ULONG, ITypeInfo*, MEMBERID*, USHORT*); 612 void ReleaseTLibAttr(TLIBATTR*); 612 void ReleaseTLibAttr(TLIBATTR*); 613 } 613 } 614 alias ITypeLib LPTYPELIB; 614 alias ITypeLib LPTYPELIB; 615 615 616 interface ITypeLib2 : ITypeLib { 616 interface ITypeLib2 : ITypeLib { 617 HRESULT GetCustData(REFGUID, VARIANT*); 617 HRESULT GetCustData(REFGUID, VARIANT*); 618 HRESULT GetLibStatistics(ULONG*, ULONG*); 618 HRESULT GetLibStatistics(ULONG*, ULONG*); ................................................................................................................................................................................ 633 interface ICreateErrorInfo : IUnknown { 633 interface ICreateErrorInfo : IUnknown { 634 HRESULT SetGUID(REFGUID); 634 HRESULT SetGUID(REFGUID); 635 HRESULT SetSource(LPOLESTR); 635 HRESULT SetSource(LPOLESTR); 636 HRESULT SetDescription(LPOLESTR); 636 HRESULT SetDescription(LPOLESTR); 637 HRESULT SetHelpFile(LPOLESTR); 637 HRESULT SetHelpFile(LPOLESTR); 638 HRESULT SetHelpContext(DWORD); 638 HRESULT SetHelpContext(DWORD); 639 } 639 } 640 alias ICreateErrorInfo* LPCREATEERRORINFO; | 640 alias ICreateErrorInfo LPCREATEERRORINFO; 641 641 642 interface ISupportErrorInfo : IUnknown { 642 interface ISupportErrorInfo : IUnknown { 643 HRESULT InterfaceSupportsErrorInfo(REFIID); 643 HRESULT InterfaceSupportsErrorInfo(REFIID); 644 } 644 } 645 alias ISupportErrorInfo LPSUPPORTERRORINFO; 645 alias ISupportErrorInfo LPSUPPORTERRORINFO; 646 646 647 interface IRecordInfo : IUnknown { 647 interface IRecordInfo : IUnknown { 648 HRESULT RecordInit(PVOID); 648 HRESULT RecordInit(PVOID); 649 HRESULT RecordClear(PVOID); 649 HRESULT RecordClear(PVOID); 650 HRESULT RecordCopy(PVOID, PVOID); 650 HRESULT RecordCopy(PVOID, PVOID); 651 HRESULT GetGuid(GUID*); 651 HRESULT GetGuid(GUID*); 652 HRESULT GetName(BSTR*); 652 HRESULT GetName(BSTR*); 653 HRESULT GetSize(ULONG*); 653 HRESULT GetSize(ULONG*); 654 HRESULT GetTypeInfo(ITypeInfo**); | 654 HRESULT GetTypeInfo(ITypeInfo*); 655 HRESULT GetField(PVOID, LPCOLESTR, VARIANT*); 655 HRESULT GetField(PVOID, LPCOLESTR, VARIANT*); 656 HRESULT GetFieldNoCopy(PVOID, LPCOLESTR, VARIANT*, PVOID*); 656 HRESULT GetFieldNoCopy(PVOID, LPCOLESTR, VARIANT*, PVOID*); 657 HRESULT PutField (ULONG, PVOID, LPCOLESTR, VARIANT*); 657 HRESULT PutField (ULONG, PVOID, LPCOLESTR, VARIANT*); 658 HRESULT PutFieldNoCopy(ULONG, PVOID, LPCOLESTR, VARIANT*); 658 HRESULT PutFieldNoCopy(ULONG, PVOID, LPCOLESTR, VARIANT*); 659 HRESULT GetFieldNames(ULONG*, BSTR*); 659 HRESULT GetFieldNames(ULONG*, BSTR*); 660 BOOL IsMatchingType(); 660 BOOL IsMatchingType(); 661 PVOID RecordCreate(); 661 PVOID RecordCreate();

Modified src/win32/objbase.d from [a136bc964109dd20] to [db36bda51b6c05b7].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.objbase; 10 module win32.objbase; 11 pragma(lib, "ole32.lib"); | 11 pragma(lib, "ole32"); 12 12 13 import win32.cguid, win32.objidl, win32.unknwn, win32.wtypes; 13 import win32.cguid, win32.objidl, win32.unknwn, win32.wtypes; 14 private import win32.basetyps, win32.objfwd, win32.rpcdce, win32.winbase, 14 private import win32.basetyps, win32.objfwd, win32.rpcdce, win32.winbase, 15 win32.windef; 15 win32.windef; 16 16 17 // DAC: Not needed for D? 17 // DAC: Not needed for D? 18 //MACRO #define LISet32(li, v) ((li).HighPart=(v)<0?-1:0, (li).LowPart=(v)) 18 //MACRO #define LISet32(li, v) ((li).HighPart=(v)<0?-1:0, (li).LowPart=(v)) ................................................................................................................................................................................ 62 STGFMT_DOCFILE = 5 62 STGFMT_DOCFILE = 5 63 } 63 } 64 64 65 struct STGOPTIONS { 65 struct STGOPTIONS { 66 USHORT usVersion; 66 USHORT usVersion; 67 USHORT reserved; 67 USHORT reserved; 68 ULONG ulSectorSize; 68 ULONG ulSectorSize; 69 CPtr!(WCHAR) pwcsTemplateFile; | 69 const(WCHAR)* pwcsTemplateFile; 70 } 70 } 71 71 72 enum REGCLS { 72 enum REGCLS { 73 REGCLS_SINGLEUSE = 0, 73 REGCLS_SINGLEUSE = 0, 74 REGCLS_MULTIPLEUSE = 1, 74 REGCLS_MULTIPLEUSE = 1, 75 REGCLS_MULTI_SEPARATE = 2 75 REGCLS_MULTI_SEPARATE = 2 76 } 76 } ................................................................................................................................................................................ 109 HRESULT CoInitialize(PVOID); 109 HRESULT CoInitialize(PVOID); 110 HRESULT CoInitializeEx(LPVOID, DWORD); 110 HRESULT CoInitializeEx(LPVOID, DWORD); 111 void CoUninitialize(); 111 void CoUninitialize(); 112 HRESULT CoGetMalloc(DWORD, LPMALLOC*); 112 HRESULT CoGetMalloc(DWORD, LPMALLOC*); 113 DWORD CoGetCurrentProcess(); 113 DWORD CoGetCurrentProcess(); 114 HRESULT CoRegisterMallocSpy(LPMALLOCSPY); 114 HRESULT CoRegisterMallocSpy(LPMALLOCSPY); 115 HRESULT CoRevokeMallocSpy(); 115 HRESULT CoRevokeMallocSpy(); 116 HRESULT CoCreateStandardMalloc(DWORD, IMalloc**); | 116 HRESULT CoCreateStandardMalloc(DWORD, IMalloc*); 117 //#ifdef DBG 117 //#ifdef DBG 118 ULONG DebugCoGetRpcFault(); 118 ULONG DebugCoGetRpcFault(); 119 void DebugCoSetRpcFault(ULONG); 119 void DebugCoSetRpcFault(ULONG); 120 //#endif 120 //#endif 121 HRESULT CoGetClassObject(REFCLSID, DWORD, COSERVERINFO*, REFIID, PVOID*) 121 HRESULT CoGetClassObject(REFCLSID, DWORD, COSERVERINFO*, REFIID, PVOID*) 122 HRESULT CoRegisterClassObject(REFCLSID, LPUNKNOWN, DWORD, DWORD, PDWORD) 122 HRESULT CoRegisterClassObject(REFCLSID, LPUNKNOWN, DWORD, DWORD, PDWORD) 123 HRESULT CoRevokeClassObject(DWORD); 123 HRESULT CoRevokeClassObject(DWORD); ................................................................................................................................................................................ 137 HRESULT CoGetInterfaceAndReleaseStream(LPSTREAM, REFIID, PVOID*); 137 HRESULT CoGetInterfaceAndReleaseStream(LPSTREAM, REFIID, PVOID*); 138 HRESULT CoCreateFreeThreadedMarshaler(LPUNKNOWN, LPUNKNOWN*); 138 HRESULT CoCreateFreeThreadedMarshaler(LPUNKNOWN, LPUNKNOWN*); 139 HINSTANCE CoLoadLibrary(LPOLESTR, BOOL); 139 HINSTANCE CoLoadLibrary(LPOLESTR, BOOL); 140 void CoFreeLibrary(HINSTANCE); 140 void CoFreeLibrary(HINSTANCE); 141 void CoFreeAllLibraries(); 141 void CoFreeAllLibraries(); 142 void CoFreeUnusedLibraries(); 142 void CoFreeUnusedLibraries(); 143 HRESULT CoCreateInstance(REFCLSID, LPUNKNOWN, DWORD, REFIID, PVOID*); 143 HRESULT CoCreateInstance(REFCLSID, LPUNKNOWN, DWORD, REFIID, PVOID*); 144 HRESULT CoCreateInstanceEx(REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DW | 144 HRESULT CoCreateInstanceEx(REFCLSID, IUnknown, DWORD, COSERVERINFO*, DWO 145 HRESULT StringFromCLSID(REFCLSID, LPOLESTR*); 145 HRESULT StringFromCLSID(REFCLSID, LPOLESTR*); 146 HRESULT CLSIDFromString(LPOLESTR, LPCLSID); 146 HRESULT CLSIDFromString(LPOLESTR, LPCLSID); 147 HRESULT StringFromIID(REFIID, LPOLESTR*); 147 HRESULT StringFromIID(REFIID, LPOLESTR*); 148 HRESULT IIDFromString(LPOLESTR, LPIID); 148 HRESULT IIDFromString(LPOLESTR, LPIID); 149 BOOL CoIsOle1Class(REFCLSID); 149 BOOL CoIsOle1Class(REFCLSID); 150 HRESULT ProgIDFromCLSID(REFCLSID, LPOLESTR*); 150 HRESULT ProgIDFromCLSID(REFCLSID, LPOLESTR*); 151 HRESULT CLSIDFromProgID(LPCOLESTR, LPCLSID); 151 HRESULT CLSIDFromProgID(LPCOLESTR, LPCLSID); ................................................................................................................................................................................ 160 HRESULT DllGetClassObject(REFCLSID, REFIID, PVOID*); 160 HRESULT DllGetClassObject(REFCLSID, REFIID, PVOID*); 161 HRESULT DllCanUnloadNow(); 161 HRESULT DllCanUnloadNow(); 162 PVOID CoTaskMemAlloc(ULONG); 162 PVOID CoTaskMemAlloc(ULONG); 163 PVOID CoTaskMemRealloc(PVOID, ULONG); 163 PVOID CoTaskMemRealloc(PVOID, ULONG); 164 void CoTaskMemFree(PVOID); 164 void CoTaskMemFree(PVOID); 165 HRESULT CreateDataAdviseHolder(LPDATAADVISEHOLDER*); 165 HRESULT CreateDataAdviseHolder(LPDATAADVISEHOLDER*); 166 HRESULT CreateDataCache(LPUNKNOWN, REFCLSID, REFIID, PVOID*); 166 HRESULT CreateDataCache(LPUNKNOWN, REFCLSID, REFIID, PVOID*); 167 HRESULT StgCreateDocfile(CPtr!(OLECHAR), DWORD, DWORD, IStorage**); | 167 HRESULT StgCreateDocfile(const(OLECHAR)*, DWORD, DWORD, IStorage*); 168 HRESULT StgCreateDocfileOnILockBytes(ILockBytes*, DWORD, DWORD, IStorage | 168 HRESULT StgCreateDocfileOnILockBytes(ILockBytes, DWORD, DWORD, IStorage* 169 HRESULT StgOpenStorage(CPtr!(OLECHAR), IStorage, DWORD, SNB, DWORD, ISto | 169 HRESULT StgOpenStorage(const(OLECHAR)*, IStorage, DWORD, SNB, DWORD, ISt 170 HRESULT StgOpenStorageOnILockBytes(ILockBytes*, IStorage*, DWORD, SNB, D | 170 HRESULT StgOpenStorageOnILockBytes(ILockBytes, IStorage, DWORD, SNB, DWO 171 HRESULT StgIsStorageFile(CPtr!(OLECHAR)); | 171 HRESULT StgIsStorageFile(const(OLECHAR)*); 172 HRESULT StgIsStorageILockBytes(ILockBytes*); | 172 HRESULT StgIsStorageILockBytes(ILockBytes); 173 HRESULT StgSetTimes(OLECHAR *, FILETIME *, FILETIME *, FILETIME *); 173 HRESULT StgSetTimes(OLECHAR *, FILETIME *, FILETIME *, FILETIME *); 174 HRESULT StgCreateStorageEx(CPtr!(WCHAR), DWORD, DWORD, DWORD, STGOPTIONS | 174 HRESULT StgCreateStorageEx(const(WCHAR)*, DWORD, DWORD, DWORD, STGOPTION 175 HRESULT StgOpenStorageEx(CPtr!(WCHAR), DWORD, DWORD, DWORD, STGOPTIONS*, | 175 HRESULT StgOpenStorageEx(const(WCHAR)*, DWORD, DWORD, DWORD, STGOPTIONS* 176 HRESULT BindMoniker(LPMONIKER, DWORD, REFIID, PVOID*); 176 HRESULT BindMoniker(LPMONIKER, DWORD, REFIID, PVOID*); 177 HRESULT CoGetObject(LPCWSTR, BIND_OPTS*, REFIID, void**); 177 HRESULT CoGetObject(LPCWSTR, BIND_OPTS*, REFIID, void**); 178 HRESULT MkParseDisplayName(LPBC, LPCOLESTR, ULONG*, LPMONIKER*); 178 HRESULT MkParseDisplayName(LPBC, LPCOLESTR, ULONG*, LPMONIKER*); 179 HRESULT MonikerRelativePathTo(LPMONIKER, LPMONIKER, LPMONIKER*, BOOL); 179 HRESULT MonikerRelativePathTo(LPMONIKER, LPMONIKER, LPMONIKER*, BOOL); 180 HRESULT MonikerCommonPrefixWith(LPMONIKER, LPMONIKER, LPMONIKER*); 180 HRESULT MonikerCommonPrefixWith(LPMONIKER, LPMONIKER, LPMONIKER*); 181 HRESULT CreateBindCtx(DWORD, LPBC*); 181 HRESULT CreateBindCtx(DWORD, LPBC*); 182 HRESULT CreateGenericComposite(LPMONIKER, LPMONIKER, LPMONIKER*); 182 HRESULT CreateGenericComposite(LPMONIKER, LPMONIKER, LPMONIKER*);

Modified src/win32/objfwd.d from [2bf6641af127e85a] to [07bd66fce63e4755].

Modified src/win32/objidl.d from [6e8b38d251726498] to [4053c10fec8e7109].

86 86 87 struct DVTARGETDEVICE { 87 struct DVTARGETDEVICE { 88 DWORD tdSize; 88 DWORD tdSize; 89 WORD tdDriverNameOffset; 89 WORD tdDriverNameOffset; 90 WORD tdDeviceNameOffset; 90 WORD tdDeviceNameOffset; 91 WORD tdPortNameOffset; 91 WORD tdPortNameOffset; 92 WORD tdExtDevmodeOffset; 92 WORD tdExtDevmodeOffset; 93 BYTE tdData[1]; | 93 BYTE[1] tdData; 94 } 94 } 95 95 96 struct FORMATETC { 96 struct FORMATETC { 97 CLIPFORMAT cfFormat; 97 CLIPFORMAT cfFormat; 98 DVTARGETDEVICE* ptd; 98 DVTARGETDEVICE* ptd; 99 DWORD dwAspect; 99 DWORD dwAspect; 100 LONG lindex; 100 LONG lindex; ................................................................................................................................................................................ 104 104 105 struct RemSTGMEDIUM { 105 struct RemSTGMEDIUM { 106 DWORD tymed; 106 DWORD tymed; 107 DWORD dwHandleType; 107 DWORD dwHandleType; 108 ULONG pData; 108 ULONG pData; 109 uint pUnkForRelease; 109 uint pUnkForRelease; 110 uint cbData; 110 uint cbData; 111 BYTE data[1]; | 111 BYTE[1] data; 112 } 112 } 113 113 114 struct HLITEM { 114 struct HLITEM { 115 ULONG uHLID; 115 ULONG uHLID; 116 LPWSTR pwzFriendlyName; 116 LPWSTR pwzFriendlyName; 117 } 117 } 118 118 119 struct STATDATA { 119 struct STATDATA { 120 FORMATETC formatetc; 120 FORMATETC formatetc; 121 DWORD grfAdvf; 121 DWORD grfAdvf; 122 IAdviseSink* pAdvSink; | 122 IAdviseSink pAdvSink; 123 DWORD dwConnection; 123 DWORD dwConnection; 124 } 124 } 125 125 126 struct STATPROPSETSTG { 126 struct STATPROPSETSTG { 127 FMTID fmtid; 127 FMTID fmtid; 128 CLSID clsid; 128 CLSID clsid; 129 DWORD grfFlags; 129 DWORD grfFlags; ................................................................................................................................................................................ 135 enum EXTCONN { 135 enum EXTCONN { 136 EXTCONN_STRONG = 1, 136 EXTCONN_STRONG = 1, 137 EXTCONN_WEAK = 2, 137 EXTCONN_WEAK = 2, 138 EXTCONN_CALLABLE = 4 138 EXTCONN_CALLABLE = 4 139 } 139 } 140 140 141 struct MULTI_QI { 141 struct MULTI_QI { 142 CPtr!(IID) pIID; | 142 const(IID)* pIID; 143 IUnknown pItf; | 143 IUnknown pItf; 144 HRESULT hr; | 144 HRESULT hr; 145 } 145 } 146 146 147 struct AUTH_IDENTITY { 147 struct AUTH_IDENTITY { 148 USHORT* User; 148 USHORT* User; 149 ULONG UserLength; 149 ULONG UserLength; 150 USHORT* Domain; 150 USHORT* Domain; 151 ULONG DomainLength; 151 ULONG DomainLength; ................................................................................................................................................................................ 221 221 222 struct RPCOLEMESSAGE { 222 struct RPCOLEMESSAGE { 223 PVOID reserved1; 223 PVOID reserved1; 224 RPCOLEDATAREP dataRepresentation; 224 RPCOLEDATAREP dataRepresentation; 225 PVOID Buffer; 225 PVOID Buffer; 226 ULONG cbBuffer; 226 ULONG cbBuffer; 227 ULONG iMethod; 227 ULONG iMethod; 228 PVOID reserved2[5]; | 228 PVOID[5] reserved2; 229 ULONG rpcFlags; 229 ULONG rpcFlags; 230 } 230 } 231 alias RPCOLEMESSAGE* PRPCOLEMESSAGE; 231 alias RPCOLEMESSAGE* PRPCOLEMESSAGE; 232 232 233 enum MKSYS { 233 enum MKSYS { 234 MKSYS_NONE, 234 MKSYS_NONE, 235 MKSYS_GENERICCOMPOSITE, 235 MKSYS_GENERICCOMPOSITE, ................................................................................................................................................................................ 245 MKRREDUCE_TOUSER = 131072, 245 MKRREDUCE_TOUSER = 131072, 246 MKRREDUCE_THROUGHUSER = 65536 246 MKRREDUCE_THROUGHUSER = 65536 247 } 247 } 248 248 249 struct RemSNB { 249 struct RemSNB { 250 uint ulCntStr; 250 uint ulCntStr; 251 uint ulCntChar; 251 uint ulCntChar; 252 OLECHAR rgString[1]; | 252 OLECHAR[1] rgString; 253 } 253 } 254 254 255 enum ADVF { 255 enum ADVF { 256 ADVF_NODATA = 1, 256 ADVF_NODATA = 1, 257 ADVF_PRIMEFIRST = 2, 257 ADVF_PRIMEFIRST = 2, 258 ADVF_ONLYONCE = 4, 258 ADVF_ONLYONCE = 4, 259 ADVFCACHE_NOHANDLER = 8, 259 ADVFCACHE_NOHANDLER = 8, ................................................................................................................................................................................ 507 SOLE_AUTHENTICATION_INFO* aAuthInfo; 507 SOLE_AUTHENTICATION_INFO* aAuthInfo; 508 } 508 } 509 509 510 interface IEnumFORMATETC : IUnknown { 510 interface IEnumFORMATETC : IUnknown { 511 HRESULT Next(ULONG, FORMATETC*, ULONG*); 511 HRESULT Next(ULONG, FORMATETC*, ULONG*); 512 HRESULT Skip(ULONG); 512 HRESULT Skip(ULONG); 513 HRESULT Reset(); 513 HRESULT Reset(); 514 HRESULT Clone(IEnumFORMATETC**); | 514 HRESULT Clone(IEnumFORMATETC*); 515 } 515 } 516 516 517 interface IEnumHLITEM : IUnknown { 517 interface IEnumHLITEM : IUnknown { 518 HRESULT Next(ULONG, HLITEM*, ULONG*); 518 HRESULT Next(ULONG, HLITEM*, ULONG*); 519 HRESULT Skip(ULONG); 519 HRESULT Skip(ULONG); 520 HRESULT Reset(); 520 HRESULT Reset(); 521 HRESULT Clone(IEnumHLITEM**); | 521 HRESULT Clone(IEnumHLITEM*); 522 } 522 } 523 523 524 interface IEnumSTATDATA : IUnknown { 524 interface IEnumSTATDATA : IUnknown { 525 HRESULT Next(ULONG, STATDATA*, ULONG*); 525 HRESULT Next(ULONG, STATDATA*, ULONG*); 526 HRESULT Skip(ULONG); 526 HRESULT Skip(ULONG); 527 HRESULT Reset(); 527 HRESULT Reset(); 528 HRESULT Clone(IEnumSTATDATA**); | 528 HRESULT Clone(IEnumSTATDATA*); 529 } 529 } 530 530 531 interface IEnumSTATPROPSETSTG : IUnknown { 531 interface IEnumSTATPROPSETSTG : IUnknown { 532 HRESULT Next(ULONG, STATPROPSETSTG*, ULONG*); 532 HRESULT Next(ULONG, STATPROPSETSTG*, ULONG*); 533 HRESULT Skip(ULONG); 533 HRESULT Skip(ULONG); 534 HRESULT Reset(); 534 HRESULT Reset(); 535 HRESULT Clone(IEnumSTATPROPSETSTG**); | 535 HRESULT Clone(IEnumSTATPROPSETSTG*); 536 } 536 } 537 537 538 interface IEnumSTATPROPSTG : IUnknown { 538 interface IEnumSTATPROPSTG : IUnknown { 539 HRESULT Next(ULONG, STATPROPSTG*, ULONG*); 539 HRESULT Next(ULONG, STATPROPSTG*, ULONG*); 540 HRESULT Skip(ULONG); 540 HRESULT Skip(ULONG); 541 HRESULT Reset(); 541 HRESULT Reset(); 542 HRESULT Clone(IEnumSTATPROPSTG**); | 542 HRESULT Clone(IEnumSTATPROPSTG*); 543 } 543 } 544 544 545 interface IEnumSTATSTG : IUnknown { 545 interface IEnumSTATSTG : IUnknown { 546 HRESULT Next(ULONG, STATSTG*, ULONG*); 546 HRESULT Next(ULONG, STATSTG*, ULONG*); 547 HRESULT Skip(ULONG); 547 HRESULT Skip(ULONG); 548 HRESULT Reset(); 548 HRESULT Reset(); 549 HRESULT Clone(IEnumSTATSTG**); | 549 HRESULT Clone(IEnumSTATSTG*); 550 } 550 } 551 551 552 interface IEnumString : IUnknown { 552 interface IEnumString : IUnknown { 553 HRESULT Next(ULONG, LPOLESTR*, ULONG*); 553 HRESULT Next(ULONG, LPOLESTR*, ULONG*); 554 HRESULT Skip(ULONG); 554 HRESULT Skip(ULONG); 555 HRESULT Reset(); 555 HRESULT Reset(); 556 HRESULT Clone(IEnumString**); | 556 HRESULT Clone(IEnumString*); 557 } 557 } 558 558 559 interface IEnumMoniker : IUnknown { 559 interface IEnumMoniker : IUnknown { 560 HRESULT Next(ULONG, IMoniker*, ULONG*); 560 HRESULT Next(ULONG, IMoniker*, ULONG*); 561 HRESULT Skip(ULONG); 561 HRESULT Skip(ULONG); 562 HRESULT Reset(); 562 HRESULT Reset(); 563 HRESULT Clone(IEnumMoniker**); | 563 HRESULT Clone(IEnumMoniker*); 564 } 564 } 565 565 566 566 567 interface IEnumUnknown : IUnknown { 567 interface IEnumUnknown : IUnknown { 568 HRESULT Next(ULONG, IUnknown*, ULONG*); 568 HRESULT Next(ULONG, IUnknown*, ULONG*); 569 HRESULT Skip(ULONG); 569 HRESULT Skip(ULONG); 570 HRESULT Reset(); 570 HRESULT Reset(); 571 HRESULT Clone(IEnumUnknown**); | 571 HRESULT Clone(IEnumUnknown*); 572 } 572 } 573 573 574 interface ISequentialStream : IUnknown { 574 interface ISequentialStream : IUnknown { 575 HRESULT Read(void*, ULONG, ULONG*); 575 HRESULT Read(void*, ULONG, ULONG*); 576 HRESULT Write(void* , ULONG, ULONG*); 576 HRESULT Write(void* , ULONG, ULONG*); 577 } 577 } 578 578 ................................................................................................................................................................................ 634 634 635 interface IPersist : IUnknown { 635 interface IPersist : IUnknown { 636 HRESULT GetClassID(CLSID*); 636 HRESULT GetClassID(CLSID*); 637 } 637 } 638 638 639 interface IPersistStream : IPersist { 639 interface IPersistStream : IPersist { 640 HRESULT IsDirty(); 640 HRESULT IsDirty(); 641 HRESULT Load(IStream*); | 641 HRESULT Load(IStream); 642 HRESULT Save(IStream*, BOOL); | 642 HRESULT Save(IStream, BOOL); 643 HRESULT GetSizeMax(PULARGE_INTEGER); 643 HRESULT GetSizeMax(PULARGE_INTEGER); 644 } 644 } 645 645 646 interface IRunningObjectTable : IUnknown { 646 interface IRunningObjectTable : IUnknown { 647 HRESULT Register(DWORD, LPUNKNOWN, LPMONIKER, PDWORD); 647 HRESULT Register(DWORD, LPUNKNOWN, LPMONIKER, PDWORD); 648 HRESULT Revoke(DWORD); 648 HRESULT Revoke(DWORD); 649 HRESULT IsRunning(LPMONIKER); 649 HRESULT IsRunning(LPMONIKER); 650 HRESULT GetObject(LPMONIKER, LPUNKNOWN*); 650 HRESULT GetObject(LPMONIKER, LPUNKNOWN*); 651 HRESULT NoteChangeTime(DWORD, LPFILETIME); 651 HRESULT NoteChangeTime(DWORD, LPFILETIME); 652 HRESULT GetTimeOfLastChange(LPMONIKER, LPFILETIME); 652 HRESULT GetTimeOfLastChange(LPMONIKER, LPFILETIME); 653 HRESULT EnumRunning(IEnumMoniker**); | 653 HRESULT EnumRunning(IEnumMoniker*); 654 } 654 } 655 655 656 interface IBindCtx : IUnknown { 656 interface IBindCtx : IUnknown { 657 HRESULT RegisterObjectBound(LPUNKNOWN); 657 HRESULT RegisterObjectBound(LPUNKNOWN); 658 HRESULT RevokeObjectBound(LPUNKNOWN); 658 HRESULT RevokeObjectBound(LPUNKNOWN); 659 HRESULT ReleaseBoundObjects(); 659 HRESULT ReleaseBoundObjects(); 660 HRESULT SetBindOptions(LPBIND_OPTS); 660 HRESULT SetBindOptions(LPBIND_OPTS); 661 HRESULT GetBindOptions(LPBIND_OPTS); 661 HRESULT GetBindOptions(LPBIND_OPTS); 662 HRESULT GetRunningObjectTable(IRunningObjectTable**); | 662 HRESULT GetRunningObjectTable(IRunningObjectTable*); 663 HRESULT RegisterObjectParam(LPOLESTR, IUnknown*); | 663 HRESULT RegisterObjectParam(LPOLESTR, IUnknown); 664 HRESULT GetObjectParam(LPOLESTR, IUnknown**); | 664 HRESULT GetObjectParam(LPOLESTR, IUnknown*); 665 HRESULT EnumObjectParam(IEnumString**); | 665 HRESULT EnumObjectParam(IEnumString*); 666 HRESULT RevokeObjectParam(LPOLESTR); 666 HRESULT RevokeObjectParam(LPOLESTR); 667 } 667 } 668 668 669 interface IMoniker: IPersistStream { 669 interface IMoniker: IPersistStream { 670 HRESULT BindToObject(IBindCtx*, IMoniker*, REFIID, PVOID*); | 670 HRESULT BindToObject(IBindCtx, IMoniker, REFIID, PVOID*); 671 HRESULT BindToStorage(IBindCtx*, IMoniker*, REFIID, PVOID*); | 671 HRESULT BindToStorage(IBindCtx, IMoniker, REFIID, PVOID*); 672 HRESULT Reduce(IBindCtx*, DWORD, IMoniker**, IMoniker**); | 672 HRESULT Reduce(IBindCtx, DWORD, IMoniker*, IMoniker*); 673 HRESULT ComposeWith(IMoniker*, BOOL, IMoniker**); | 673 HRESULT ComposeWith(IMoniker, BOOL, IMoniker*); 674 HRESULT Enum(BOOL, IEnumMoniker**); | 674 HRESULT Enum(BOOL, IEnumMoniker*); 675 HRESULT IsEqual(IMoniker*); | 675 HRESULT IsEqual(IMoniker); 676 HRESULT Hash(PDWORD); 676 HRESULT Hash(PDWORD); 677 HRESULT IsRunning(IBindCtx*, IMoniker*, IMoniker*); | 677 HRESULT IsRunning(IBindCtx, IMoniker, IMoniker); 678 HRESULT GetTimeOfLastChange(IBindCtx*, IMoniker*, LPFILETIME); | 678 HRESULT GetTimeOfLastChange(IBindCtx, IMoniker, LPFILETIME); 679 HRESULT Inverse(IMoniker**); | 679 HRESULT Inverse(IMoniker*); 680 HRESULT CommonPrefixWith(IMoniker*, IMoniker**); | 680 HRESULT CommonPrefixWith(IMoniker, IMoniker*); 681 HRESULT RelativePathTo(IMoniker*, IMoniker**); | 681 HRESULT RelativePathTo(IMoniker, IMoniker*); 682 HRESULT GetDisplayName(IBindCtx*, IMoniker*, LPOLESTR*); | 682 HRESULT GetDisplayName(IBindCtx, IMoniker, LPOLESTR*); 683 HRESULT ParseDisplayName(IBindCtx*, IMoniker*, LPOLESTR, ULONG*, IMonike | 683 HRESULT ParseDisplayName(IBindCtx, IMoniker, LPOLESTR, ULONG*, IMoniker* 684 HRESULT IsSystemMoniker(PDWORD); 684 HRESULT IsSystemMoniker(PDWORD); 685 } 685 } 686 686 687 interface IPersistStorage : IPersist 687 interface IPersistStorage : IPersist 688 { 688 { 689 HRESULT IsDirty(); 689 HRESULT IsDirty(); 690 HRESULT InitNew(LPSTORAGE); 690 HRESULT InitNew(LPSTORAGE); ................................................................................................................................................................................ 705 705 706 interface IAdviseSink : IUnknown { 706 interface IAdviseSink : IUnknown { 707 HRESULT QueryInterface(REFIID, PVOID*); 707 HRESULT QueryInterface(REFIID, PVOID*); 708 ULONG AddRef(); 708 ULONG AddRef(); 709 ULONG Release(); 709 ULONG Release(); 710 void OnDataChange(FORMATETC*, STGMEDIUM*); 710 void OnDataChange(FORMATETC*, STGMEDIUM*); 711 void OnViewChange(DWORD, LONG); 711 void OnViewChange(DWORD, LONG); 712 void OnRename(IMoniker*); | 712 void OnRename(IMoniker); 713 void OnSave(); 713 void OnSave(); 714 void OnClose(); 714 void OnClose(); 715 } 715 } 716 716 717 interface IAdviseSink2 : IAdviseSink 717 interface IAdviseSink2 : IAdviseSink 718 { 718 { 719 void OnLinkSrcChange(IMoniker*); | 719 void OnLinkSrcChange(IMoniker); 720 } 720 } 721 721 722 interface IDataObject : IUnknown { 722 interface IDataObject : IUnknown { 723 HRESULT GetData(FORMATETC*, STGMEDIUM*); 723 HRESULT GetData(FORMATETC*, STGMEDIUM*); 724 HRESULT GetDataHere(FORMATETC*, STGMEDIUM*); 724 HRESULT GetDataHere(FORMATETC*, STGMEDIUM*); 725 HRESULT QueryGetData(FORMATETC*); 725 HRESULT QueryGetData(FORMATETC*); 726 HRESULT GetCanonicalFormatEtc(FORMATETC*, FORMATETC*); 726 HRESULT GetCanonicalFormatEtc(FORMATETC*, FORMATETC*); 727 HRESULT SetData(FORMATETC*, STGMEDIUM*, BOOL); 727 HRESULT SetData(FORMATETC*, STGMEDIUM*, BOOL); 728 HRESULT EnumFormatEtc(DWORD, IEnumFORMATETC**); | 728 HRESULT EnumFormatEtc(DWORD, IEnumFORMATETC*); 729 HRESULT DAdvise(FORMATETC*, DWORD, IAdviseSink*, PDWORD); | 729 HRESULT DAdvise(FORMATETC*, DWORD, IAdviseSink, PDWORD); 730 HRESULT DUnadvise(DWORD); 730 HRESULT DUnadvise(DWORD); 731 HRESULT EnumDAdvise(IEnumSTATDATA**); | 731 HRESULT EnumDAdvise(IEnumSTATDATA*); 732 } 732 } 733 733 734 interface IDataAdviseHolder : IUnknown { 734 interface IDataAdviseHolder : IUnknown { 735 HRESULT Advise(IDataObject*, FORMATETC*, DWORD, IAdviseSink*, PDWORD); | 735 HRESULT Advise(IDataObject, FORMATETC*, DWORD, IAdviseSink, PDWORD); 736 HRESULT Unadvise(DWORD); 736 HRESULT Unadvise(DWORD); 737 HRESULT EnumAdvise(IEnumSTATDATA**); | 737 HRESULT EnumAdvise(IEnumSTATDATA*); 738 HRESULT SendOnDataChange(IDataObject*, DWORD, DWORD); | 738 HRESULT SendOnDataChange(IDataObject, DWORD, DWORD); 739 } 739 } 740 740 741 interface IStorage : IUnknown { 741 interface IStorage : IUnknown { 742 HRESULT CreateStream(LPCWSTR, DWORD, DWORD, DWORD, IStream*); | 742 HRESULT CreateStream(LPCWSTR, DWORD, DWORD, DWORD, IStream); 743 HRESULT OpenStream(LPCWSTR, PVOID, DWORD, DWORD, IStream*); | 743 HRESULT OpenStream(LPCWSTR, PVOID, DWORD, DWORD, IStream); 744 HRESULT CreateStorage(LPCWSTR, DWORD, DWORD, DWORD, IStorage*); | 744 HRESULT CreateStorage(LPCWSTR, DWORD, DWORD, DWORD, IStorage); 745 HRESULT OpenStorage(LPCWSTR, IStorage, DWORD, SNB, DWORD, IStorage*); | 745 HRESULT OpenStorage(LPCWSTR, IStorage, DWORD, SNB, DWORD, IStorage); 746 HRESULT CopyTo(DWORD, IID* , SNB, IStorage); 746 HRESULT CopyTo(DWORD, IID* , SNB, IStorage); 747 HRESULT MoveElementTo(LPCWSTR, IStorage, LPCWSTR, DWORD); 747 HRESULT MoveElementTo(LPCWSTR, IStorage, LPCWSTR, DWORD); 748 HRESULT Commit(DWORD); 748 HRESULT Commit(DWORD); 749 HRESULT Revert(); 749 HRESULT Revert(); 750 HRESULT EnumElements(DWORD, PVOID, DWORD, IEnumSTATSTG*); | 750 HRESULT EnumElements(DWORD, PVOID, DWORD, IEnumSTATSTG); 751 HRESULT DestroyElement(LPCWSTR); 751 HRESULT DestroyElement(LPCWSTR); 752 HRESULT RenameElement(LPCWSTR, LPCWSTR); 752 HRESULT RenameElement(LPCWSTR, LPCWSTR); 753 HRESULT SetElementTimes(LPCWSTR, FILETIME* , FILETIME* , FILETIME* ); 753 HRESULT SetElementTimes(LPCWSTR, FILETIME* , FILETIME* , FILETIME* ); 754 HRESULT SetClass(REFCLSID); 754 HRESULT SetClass(REFCLSID); 755 HRESULT SetStateBits(DWORD, DWORD); 755 HRESULT SetStateBits(DWORD, DWORD); 756 HRESULT Stat(STATSTG*, DWORD); 756 HRESULT Stat(STATSTG*, DWORD); 757 } 757 } ................................................................................................................................................................................ 769 HRESULT SendReceive(RPCOLEMESSAGE*, PULONG); 769 HRESULT SendReceive(RPCOLEMESSAGE*, PULONG); 770 HRESULT FreeBuffer(RPCOLEMESSAGE*); 770 HRESULT FreeBuffer(RPCOLEMESSAGE*); 771 HRESULT GetDestCtx(PDWORD, PVOID*); 771 HRESULT GetDestCtx(PDWORD, PVOID*); 772 HRESULT IsConnected(); 772 HRESULT IsConnected(); 773 } 773 } 774 774 775 interface IRpcProxyBuffer : IUnknown { 775 interface IRpcProxyBuffer : IUnknown { 776 HRESULT Connect(IRpcChannelBuffer*); | 776 HRESULT Connect(IRpcChannelBuffer); 777 void Disconnect(); 777 void Disconnect(); 778 } 778 } 779 779 780 interface IRpcStubBuffer : IUnknown { 780 interface IRpcStubBuffer : IUnknown { 781 HRESULT Connect(LPUNKNOWN); 781 HRESULT Connect(LPUNKNOWN); 782 void Disconnect(); 782 void Disconnect(); 783 HRESULT Invoke(RPCOLEMESSAGE*, LPRPCSTUBBUFFER); 783 HRESULT Invoke(RPCOLEMESSAGE*, LPRPCSTUBBUFFER); ................................................................................................................................................................................ 787 HRESULT DebugServerRelease(PVOID); 787 HRESULT DebugServerRelease(PVOID); 788 } 788 } 789 789 790 interface IPSFactoryBuffer : IUnknown { 790 interface IPSFactoryBuffer : IUnknown { 791 HRESULT CreateProxy(LPUNKNOWN, REFIID, LPRPCPROXYBUFFER*, PVOID*); 791 HRESULT CreateProxy(LPUNKNOWN, REFIID, LPRPCPROXYBUFFER*, PVOID*); 792 HRESULT CreateStub(REFIID, LPUNKNOWN, LPRPCSTUBBUFFER*); 792 HRESULT CreateStub(REFIID, LPUNKNOWN, LPRPCSTUBBUFFER*); 793 } 793 } 794 alias IPSFactoryBuffer* LPPSFACTORYBUFFER; | 794 alias IPSFactoryBuffer LPPSFACTORYBUFFER; 795 795 796 interface ILockBytes : IUnknown { 796 interface ILockBytes : IUnknown { 797 HRESULT ReadAt(ULARGE_INTEGER, PVOID, ULONG, ULONG*); 797 HRESULT ReadAt(ULARGE_INTEGER, PVOID, ULONG, ULONG*); 798 HRESULT WriteAt(ULARGE_INTEGER, PCVOID, ULONG, ULONG*); 798 HRESULT WriteAt(ULARGE_INTEGER, PCVOID, ULONG, ULONG*); 799 HRESULT Flush(); 799 HRESULT Flush(); 800 HRESULT SetSize(ULARGE_INTEGER); 800 HRESULT SetSize(ULARGE_INTEGER); 801 HRESULT LockRegion(ULARGE_INTEGER, ULARGE_INTEGER, DWORD); 801 HRESULT LockRegion(ULARGE_INTEGER, ULARGE_INTEGER, DWORD); ................................................................................................................................................................................ 835 HRESULT DeleteMultiple(ULONG, PROPSPEC* ); 835 HRESULT DeleteMultiple(ULONG, PROPSPEC* ); 836 HRESULT ReadPropertyNames(ULONG, PROPID* , LPWSTR*); 836 HRESULT ReadPropertyNames(ULONG, PROPID* , LPWSTR*); 837 HRESULT WritePropertyNames(ULONG, PROPID* , LPWSTR* ); 837 HRESULT WritePropertyNames(ULONG, PROPID* , LPWSTR* ); 838 HRESULT DeletePropertyNames(ULONG, PROPID* ); 838 HRESULT DeletePropertyNames(ULONG, PROPID* ); 839 HRESULT SetClass(REFCLSID); 839 HRESULT SetClass(REFCLSID); 840 HRESULT Commit(DWORD); 840 HRESULT Commit(DWORD); 841 HRESULT Revert(); 841 HRESULT Revert(); 842 HRESULT Enum(IEnumSTATPROPSTG**); | 842 HRESULT Enum(IEnumSTATPROPSTG*); 843 HRESULT Stat(STATPROPSTG*); 843 HRESULT Stat(STATPROPSTG*); 844 HRESULT SetTimes(FILETIME* , FILETIME* , FILETIME* ); 844 HRESULT SetTimes(FILETIME* , FILETIME* , FILETIME* ); 845 } 845 } 846 846 847 interface IPropertySetStorage : IUnknown { 847 interface IPropertySetStorage : IUnknown { 848 HRESULT Create(REFFMTID, CLSID*, DWORD, DWORD, LPPROPERTYSTORAGE*); 848 HRESULT Create(REFFMTID, CLSID*, DWORD, DWORD, LPPROPERTYSTORAGE*); 849 HRESULT Open(REFFMTID, DWORD, LPPROPERTYSTORAGE*); 849 HRESULT Open(REFFMTID, DWORD, LPPROPERTYSTORAGE*); 850 HRESULT Delete(REFFMTID); 850 HRESULT Delete(REFFMTID); 851 HRESULT Enum(IEnumSTATPROPSETSTG**); | 851 HRESULT Enum(IEnumSTATPROPSETSTG*); 852 } 852 } 853 853 854 interface IClientSecurity : IUnknown { 854 interface IClientSecurity : IUnknown { 855 HRESULT QueryBlanket(PVOID, PDWORD, PDWORD, OLECHAR**, PDWORD, PDWORD, R 855 HRESULT QueryBlanket(PVOID, PDWORD, PDWORD, OLECHAR**, PDWORD, PDWORD, R 856 HRESULT SetBlanket(PVOID, DWORD, DWORD, LPWSTR, DWORD, DWORD, RPC_AUTH_I 856 HRESULT SetBlanket(PVOID, DWORD, DWORD, LPWSTR, DWORD, DWORD, RPC_AUTH_I 857 HRESULT CopyProxy(LPUNKNOWN, LPUNKNOWN*); 857 HRESULT CopyProxy(LPUNKNOWN, LPUNKNOWN*); 858 } 858 } ................................................................................................................................................................................ 883 HRESULT LayoutScript(STORAGELAYOUT*, DWORD, DWORD); 883 HRESULT LayoutScript(STORAGELAYOUT*, DWORD, DWORD); 884 HRESULT BeginMonitor(); 884 HRESULT BeginMonitor(); 885 HRESULT EndMonitor(); 885 HRESULT EndMonitor(); 886 HRESULT ReLayoutDocfile(OLECHAR*); 886 HRESULT ReLayoutDocfile(OLECHAR*); 887 } 887 } 888 888 889 interface IGlobalInterfaceTable : IUnknown { 889 interface IGlobalInterfaceTable : IUnknown { 890 HRESULT RegisterInterfaceInGlobal(IUnknown*, REFIID, DWORD*); | 890 HRESULT RegisterInterfaceInGlobal(IUnknown, REFIID, DWORD*); 891 HRESULT RevokeInterfaceFromGlobal(DWORD); 891 HRESULT RevokeInterfaceFromGlobal(DWORD); 892 HRESULT GetInterfaceFromGlobal(DWORD, REFIID, void**); 892 HRESULT GetInterfaceFromGlobal(DWORD, REFIID, void**); 893 } 893 } 894 894 895 /+ 895 /+ 896 // These are probably unnecessary for D. 896 // These are probably unnecessary for D. 897 extern (Windows) { 897 extern (Windows) { 898 HRESULT IMarshal_GetUnmarshalClass_Proxy(IMarshal*, REFIID, void*, DWORD, void*, | 898 HRESULT IMarshal_GetUnmarshalClass_Proxy(IMarshal, REFIID, void*, DWORD, void*, 899 void IMarshal_GetUnmarshalClass_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_M | 899 void IMarshal_GetUnmarshalClass_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MES 900 HRESULT IMarshal_GetMarshalSizeMax_Proxy(IMarshal*, REFIID, void*, DWORD, void*, | 900 HRESULT IMarshal_GetMarshalSizeMax_Proxy(IMarshal, REFIID, void*, DWORD, void*, 901 void IMarshal_GetMarshalSizeMax_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_M | 901 void IMarshal_GetMarshalSizeMax_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MES 902 HRESULT IMarshal_MarshalInterface_Proxy(IMarshal*, IStream*, REFIID, void*, DWOR | 902 HRESULT IMarshal_MarshalInterface_Proxy(IMarshal, IStream, REFIID, void*, DWORD, 903 void IMarshal_MarshalInterface_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ME | 903 void IMarshal_MarshalInterface_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESS 904 HRESULT IMarshal_UnmarshalInterface_Proxy(IMarshal*, IStream*, REFIID, void**); | 904 HRESULT IMarshal_UnmarshalInterface_Proxy(IMarshal, IStream, REFIID, void**); 905 void IMarshal_UnmarshalInterface_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ | 905 void IMarshal_UnmarshalInterface_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_ME 906 HRESULT IMarshal_ReleaseMarshalData_Proxy(IMarshal*, IStream*); | 906 HRESULT IMarshal_ReleaseMarshalData_Proxy(IMarshal, IStream); 907 void IMarshal_ReleaseMarshalData_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ | 907 void IMarshal_ReleaseMarshalData_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_ME 908 HRESULT IMarshal_DisconnectObject_Proxy(IMarshal*, DWORD); | 908 HRESULT IMarshal_DisconnectObject_Proxy(IMarshal, DWORD); 909 void IMarshal_DisconnectObject_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ME | 909 void IMarshal_DisconnectObject_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESS 910 void* IMalloc_Alloc_Proxy(IMalloc*, ULONG); | 910 void* IMalloc_Alloc_Proxy(IMalloc, ULONG); 911 void IMalloc_Alloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWOR | 911 void IMalloc_Alloc_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWORD) 912 void* IMalloc_Realloc_Proxy(IMalloc*, void*, ULONG); | 912 void* IMalloc_Realloc_Proxy(IMalloc, void*, ULONG); 913 void IMalloc_Realloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDW | 913 void IMalloc_Realloc_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWOR 914 void IMalloc_Free_Proxy(IMalloc*, void*); | 914 void IMalloc_Free_Proxy(IMalloc, void*); 915 void IMalloc_Free_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD | 915 void IMalloc_Free_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWORD); 916 ULONG IMalloc_GetSize_Proxy(IMalloc*, void*); | 916 ULONG IMalloc_GetSize_Proxy(IMalloc, void*); 917 void IMalloc_GetSize_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDW | 917 void IMalloc_GetSize_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWOR 918 int IMalloc_DidAlloc_Proxy(IMalloc*, void*); | 918 int IMalloc_DidAlloc_Proxy(IMalloc, void*); 919 void IMalloc_DidAlloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PD | 919 void IMalloc_DidAlloc_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWO 920 void IMalloc_HeapMinimize_Proxy(IMalloc*); | 920 void IMalloc_HeapMinimize_Proxy(IMalloc); 921 void IMalloc_HeapMinimize_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE | 921 void IMalloc_HeapMinimize_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 922 ULONG IMallocSpy_PreAlloc_Proxy(IMallocSpy*, ULONG cbRequest); | 922 ULONG IMallocSpy_PreAlloc_Proxy(IMallocSpy, ULONG cbRequest); 923 void IMallocSpy_PreAlloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 923 void IMallocSpy_PreAlloc_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, P 924 void* IMallocSpy_PostAlloc_Proxy(IMallocSpy*, void*); | 924 void* IMallocSpy_PostAlloc_Proxy(IMallocSpy, void*); 925 void IMallocSpy_PostAlloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE | 925 void IMallocSpy_PostAlloc_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 926 void* IMallocSpy_PreFree_Proxy(IMallocSpy*, void*, BOOL); | 926 void* IMallocSpy_PreFree_Proxy(IMallocSpy, void*, BOOL); 927 void IMallocSpy_PreFree_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 927 void IMallocSpy_PreFree_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PD 928 void IMallocSpy_PostFree_Proxy(IMallocSpy*, BOOL); | 928 void IMallocSpy_PostFree_Proxy(IMallocSpy, BOOL); 929 void IMallocSpy_PostFree_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 929 void IMallocSpy_PostFree_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, P 930 ULONG IMallocSpy_PreRealloc_Proxy(IMallocSpy*, void*, ULONG, void**, BOOL); | 930 ULONG IMallocSpy_PreRealloc_Proxy(IMallocSpy, void*, ULONG, void**, BOOL); 931 void IMallocSpy_PreRealloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAG | 931 void IMallocSpy_PreRealloc_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 932 void* IMallocSpy_PostRealloc_Proxy(IMallocSpy*, void*, BOOL); | 932 void* IMallocSpy_PostRealloc_Proxy(IMallocSpy, void*, BOOL); 933 void IMallocSpy_PostRealloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSA | 933 void IMallocSpy_PostRealloc_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE 934 void* IMallocSpy_PreGetSize_Proxy(IMallocSpy*, void*, BOOL); | 934 void* IMallocSpy_PreGetSize_Proxy(IMallocSpy, void*, BOOL); 935 void IMallocSpy_PreGetSize_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAG | 935 void IMallocSpy_PreGetSize_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 936 ULONG IMallocSpy_PostGetSize_Proxy(IMallocSpy*, ULONG, BOOL); | 936 ULONG IMallocSpy_PostGetSize_Proxy(IMallocSpy, ULONG, BOOL); 937 void IMallocSpy_PostGetSize_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSA | 937 void IMallocSpy_PostGetSize_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE 938 void* IMallocSpy_PreDidAlloc_Proxy(IMallocSpy*, void*, BOOL); | 938 void* IMallocSpy_PreDidAlloc_Proxy(IMallocSpy, void*, BOOL); 939 void IMallocSpy_PreDidAlloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSA | 939 void IMallocSpy_PreDidAlloc_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE 940 int IMallocSpy_PostDidAlloc_Proxy(IMallocSpy*, void*, BOOL, int); | 940 int IMallocSpy_PostDidAlloc_Proxy(IMallocSpy, void*, BOOL, int); 941 void IMallocSpy_PostDidAlloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 941 void IMallocSpy_PostDidAlloc_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 942 void IMallocSpy_PreHeapMinimize_Proxy(IMallocSpy* ); | 942 void IMallocSpy_PreHeapMinimize_Proxy(IMallocSpy ); 943 void IMallocSpy_PreHeapMinimize_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_M | 943 void IMallocSpy_PreHeapMinimize_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MES 944 void IMallocSpy_PostHeapMinimize_Proxy(IMallocSpy*); | 944 void IMallocSpy_PostHeapMinimize_Proxy(IMallocSpy); 945 void IMallocSpy_PostHeapMinimize_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ | 945 void IMallocSpy_PostHeapMinimize_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_ME 946 HRESULT IStdMarshalInfo_GetClassForHandler_Proxy(IStdMarshalInfo*, DWORD, void*, | 946 HRESULT IStdMarshalInfo_GetClassForHandler_Proxy(IStdMarshalInfo, DWORD, void*, 947 void IStdMarshalInfo_GetClassForHandler_Stub(IRpcStubBuffer*, IRpcChannelBuffer* | 947 void IStdMarshalInfo_GetClassForHandler_Stub(IRpcStubBuffer, IRpcChannelBuffer, 948 DWORD IExternalConnection_AddConnection_Proxy(IExternalConnection*, DWORD, DWORD | 948 DWORD IExternalConnection_AddConnection_Proxy(IExternalConnection, DWORD, DWORD) 949 void IExternalConnection_AddConnection_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, | 949 void IExternalConnection_AddConnection_Stub(IRpcStubBuffer, IRpcChannelBuffer, P 950 DWORD IExternalConnection_ReleaseConnection_Proxy(IExternalConnection*, DWORD, D | 950 DWORD IExternalConnection_ReleaseConnection_Proxy(IExternalConnection, DWORD, DW 951 void IExternalConnection_ReleaseConnection_Stub(IRpcStubBuffer*, IRpcChannelBuff | 951 void IExternalConnection_ReleaseConnection_Stub(IRpcStubBuffer, IRpcChannelBuffe 952 HRESULT IEnumUnknown_RemoteNext_Proxy(IEnumUnknown*, ULONG, IUnknown**, ULONG*); | 952 HRESULT IEnumUnknown_RemoteNext_Proxy(IEnumUnknown, ULONG, IUnknown*, ULONG*); 953 void IEnumUnknown_RemoteNext_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 953 void IEnumUnknown_RemoteNext_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 954 HRESULT IEnumUnknown_Skip_Proxy(IEnumUnknown*, ULONG); | 954 HRESULT IEnumUnknown_Skip_Proxy(IEnumUnknown, ULONG); 955 void IEnumUnknown_Skip_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, P | 955 void IEnumUnknown_Skip_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDW 956 HRESULT IEnumUnknown_Reset_Proxy(IEnumUnknown* ); | 956 HRESULT IEnumUnknown_Reset_Proxy(IEnumUnknown ); 957 void IEnumUnknown_Reset_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 957 void IEnumUnknown_Reset_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PD 958 HRESULT IEnumUnknown_Clone_Proxy(IEnumUnknown*, IEnumUnknown**); | 958 HRESULT IEnumUnknown_Clone_Proxy(IEnumUnknown, IEnumUnknown*); 959 void IEnumUnknown_Clone_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 959 void IEnumUnknown_Clone_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PD 960 HRESULT IBindCtx_RegisterObjectBound_Proxy(IBindCtx*, IUnknown*punk); | 960 HRESULT IBindCtx_RegisterObjectBound_Proxy(IBindCtx, IUnknownpunk); 961 void IBindCtx_RegisterObjectBound_Stub(IRpcStubBuffer*, IRpcChannelBuffer*_pRpcC | 961 void IBindCtx_RegisterObjectBound_Stub(IRpcStubBuffer, IRpcChannelBuffer_pRpcCha 962 HRESULT IBindCtx_RevokeObjectBound_Proxy(IBindCtx*, IUnknown*punk); | 962 HRESULT IBindCtx_RevokeObjectBound_Proxy(IBindCtx, IUnknownpunk); 963 void IBindCtx_RevokeObjectBound_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_M | 963 void IBindCtx_RevokeObjectBound_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MES 964 HRESULT IBindCtx_ReleaseBoundObjects_Proxy(IBindCtx*); | 964 HRESULT IBindCtx_ReleaseBoundObjects_Proxy(IBindCtx); 965 void IBindCtx_ReleaseBoundObjects_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC | 965 void IBindCtx_ReleaseBoundObjects_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_M 966 HRESULT IBindCtx_SetBindOptions_Proxy(IBindCtx*, BIND_OPTS*); | 966 HRESULT IBindCtx_SetBindOptions_Proxy(IBindCtx, BIND_OPTS*); 967 void IBindCtx_SetBindOptions_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 967 void IBindCtx_SetBindOptions_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 968 HRESULT IBindCtx_GetBindOptions_Proxy(IBindCtx*, BIND_OPTS*pbindopts); | 968 HRESULT IBindCtx_GetBindOptions_Proxy(IBindCtx, BIND_OPTS*pbindopts); 969 void IBindCtx_GetBindOptions_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 969 void IBindCtx_GetBindOptions_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 970 HRESULT IBindCtx_GetRunningObjectTable_Proxy(IBindCtx*, IRunningObjectTable**); | 970 HRESULT IBindCtx_GetRunningObjectTable_Proxy(IBindCtx, IRunningObjectTable*); 971 void IBindCtx_GetRunningObjectTable_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PR | 971 void IBindCtx_GetRunningObjectTable_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC 972 HRESULT IBindCtx_RegisterObjectParam_Proxy(IBindCtx*, LPCSTR, IUnknown*); | 972 HRESULT IBindCtx_RegisterObjectParam_Proxy(IBindCtx, LPCSTR, IUnknown); 973 void IBindCtx_RegisterObjectParam_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC | 973 void IBindCtx_RegisterObjectParam_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_M 974 HRESULT IBindCtx_GetObjectParam_Proxy(IBindCtx*, LPCSTR, IUnknown**); | 974 HRESULT IBindCtx_GetObjectParam_Proxy(IBindCtx, LPCSTR, IUnknown*); 975 void IBindCtx_GetObjectParam_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 975 void IBindCtx_GetObjectParam_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 976 HRESULT IBindCtx_EnumObjectParam_Proxy(IBindCtx*, IEnumString**); | 976 HRESULT IBindCtx_EnumObjectParam_Proxy(IBindCtx, IEnumString*); 977 void IBindCtx_EnumObjectParam_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MES | 977 void IBindCtx_EnumObjectParam_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSA 978 HRESULT IBindCtx_RevokeObjectParam_Proxy(IBindCtx*, LPCSTR); | 978 HRESULT IBindCtx_RevokeObjectParam_Proxy(IBindCtx, LPCSTR); 979 void IBindCtx_RevokeObjectParam_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_M | 979 void IBindCtx_RevokeObjectParam_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MES 980 HRESULT IEnumMoniker_RemoteNext_Proxy(IEnumMoniker*, ULONG, IMoniker**, ULONG*); | 980 HRESULT IEnumMoniker_RemoteNext_Proxy(IEnumMoniker, ULONG, IMoniker*, ULONG*); 981 void IEnumMoniker_RemoteNext_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 981 void IEnumMoniker_RemoteNext_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 982 HRESULT IEnumMoniker_Skip_Proxy(IEnumMoniker*, ULONG); | 982 HRESULT IEnumMoniker_Skip_Proxy(IEnumMoniker, ULONG); 983 void IEnumMoniker_Skip_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, P | 983 void IEnumMoniker_Skip_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDW 984 HRESULT IEnumMoniker_Reset_Proxy(IEnumMoniker*); | 984 HRESULT IEnumMoniker_Reset_Proxy(IEnumMoniker); 985 void IEnumMoniker_Reset_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 985 void IEnumMoniker_Reset_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PD 986 HRESULT IEnumMoniker_Clone_Proxy(IEnumMoniker*, IEnumMoniker**); | 986 HRESULT IEnumMoniker_Clone_Proxy(IEnumMoniker, IEnumMoniker*); 987 void IEnumMoniker_Clone_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 987 void IEnumMoniker_Clone_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PD 988 HRESULT IRunnableObject_GetRunningClass_Proxy(IRunnableObject*, LPCLSID); | 988 HRESULT IRunnableObject_GetRunningClass_Proxy(IRunnableObject, LPCLSID); 989 void IRunnableObject_GetRunningClass_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, P | 989 void IRunnableObject_GetRunningClass_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRP 990 HRESULT IRunnableObject_Run_Proxy(IRunnableObject*, LPBINDCTX); | 990 HRESULT IRunnableObject_Run_Proxy(IRunnableObject, LPBINDCTX); 991 void IRunnableObject_Run_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 991 void IRunnableObject_Run_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, P 992 BOOL IRunnableObject_IsRunning_Proxy(IRunnableObject*); | 992 BOOL IRunnableObject_IsRunning_Proxy(IRunnableObject); 993 void IRunnableObject_IsRunning_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ME | 993 void IRunnableObject_IsRunning_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESS 994 HRESULT IRunnableObject_LockRunning_Proxy(IRunnableObject*, BOOL, BOOL); | 994 HRESULT IRunnableObject_LockRunning_Proxy(IRunnableObject, BOOL, BOOL); 995 void IRunnableObject_LockRunning_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ | 995 void IRunnableObject_LockRunning_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_ME 996 HRESULT IRunnableObject_SetContainedObject_Proxy(IRunnableObject*, BOOL); | 996 HRESULT IRunnableObject_SetContainedObject_Proxy(IRunnableObject, BOOL); 997 void IRunnableObject_SetContainedObject_Stub(IRpcStubBuffer*, IRpcChannelBuffer* | 997 void IRunnableObject_SetContainedObject_Stub(IRpcStubBuffer, IRpcChannelBuffer, 998 HRESULT IRunningObjectTable_Register_Proxy(IRunningObjectTable*, DWORD, IUnknown | 998 HRESULT IRunningObjectTable_Register_Proxy(IRunningObjectTable, DWORD, IUnknown, 999 void IRunningObjectTable_Register_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC | 999 void IRunningObjectTable_Register_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_M 1000 HRESULT IRunningObjectTable_Revoke_Proxy(IRunningObjectTable*, DWORD); | 1000 HRESULT IRunningObjectTable_Revoke_Proxy(IRunningObjectTable, DWORD); 1001 void IRunningObjectTable_Revoke_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_M | 1001 void IRunningObjectTable_Revoke_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MES 1002 HRESULT IRunningObjectTable_IsRunning_Proxy(IRunningObjectTable*, IMoniker*); | 1002 HRESULT IRunningObjectTable_IsRunning_Proxy(IRunningObjectTable, IMoniker); 1003 void IRunningObjectTable_IsRunning_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRP | 1003 void IRunningObjectTable_IsRunning_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_ 1004 HRESULT IRunningObjectTable_GetObject_Proxy(IRunningObjectTable*, IMoniker*, IUn | 1004 HRESULT IRunningObjectTable_GetObject_Proxy(IRunningObjectTable, IMoniker, IUnkn 1005 void IRunningObjectTable_GetObject_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRP | 1005 void IRunningObjectTable_GetObject_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_ 1006 HRESULT IRunningObjectTable_NoteChangeTime_Proxy(IRunningObjectTable*, DWORD, FI | 1006 HRESULT IRunningObjectTable_NoteChangeTime_Proxy(IRunningObjectTable, DWORD, FIL 1007 void IRunningObjectTable_NoteChangeTime_Stub(IRpcStubBuffer*, IRpcChannelBuffer* | 1007 void IRunningObjectTable_NoteChangeTime_Stub(IRpcStubBuffer, IRpcChannelBuffer, 1008 HRESULT IRunningObjectTable_GetTimeOfLastChange_Proxy(IRunningObjectTable*, IMon | 1008 HRESULT IRunningObjectTable_GetTimeOfLastChange_Proxy(IRunningObjectTable, IMoni 1009 void IRunningObjectTable_GetTimeOfLastChange_Stub(IRpcStubBuffer*, IRpcChannelBu | 1009 void IRunningObjectTable_GetTimeOfLastChange_Stub(IRpcStubBuffer, IRpcChannelBuf 1010 HRESULT IRunningObjectTable_EnumRunning_Proxy(IRunningObjectTable*, IEnumMoniker | 1010 HRESULT IRunningObjectTable_EnumRunning_Proxy(IRunningObjectTable, IEnumMoniker* 1011 void IRunningObjectTable_EnumRunning_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, P | 1011 void IRunningObjectTable_EnumRunning_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRP 1012 HRESULT IPersist_GetClassID_Proxy(IPersist*, CLSID*); | 1012 HRESULT IPersist_GetClassID_Proxy(IPersist, CLSID*); 1013 void IPersist_GetClassID_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 1013 void IPersist_GetClassID_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, P 1014 HRESULT IPersistStream_IsDirty_Proxy(IPersistStream*); | 1014 HRESULT IPersistStream_IsDirty_Proxy(IPersistStream); 1015 void IPersistStream_IsDirty_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSA | 1015 void IPersistStream_IsDirty_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE 1016 HRESULT IPersistStream_Load_Proxy(IPersistStream*, IStream*); | 1016 HRESULT IPersistStream_Load_Proxy(IPersistStream, IStream); 1017 void IPersistStream_Load_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 1017 void IPersistStream_Load_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, P 1018 HRESULT IPersistStream_Save_Proxy(IPersistStream*, IStream*, BOOL); | 1018 HRESULT IPersistStream_Save_Proxy(IPersistStream, IStream, BOOL); 1019 void IPersistStream_Save_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 1019 void IPersistStream_Save_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, P 1020 HRESULT IPersistStream_GetSizeMax_Proxy(IPersistStream*, ULARGE_INTEGER*); | 1020 HRESULT IPersistStream_GetSizeMax_Proxy(IPersistStream, ULARGE_INTEGER*); 1021 void IPersistStream_GetSizeMax_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ME | 1021 void IPersistStream_GetSizeMax_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESS 1022 HRESULT IMoniker_RemoteBindToObject_Proxy(IMoniker*, IBindCtx*, IMoniker*, REFII | 1022 HRESULT IMoniker_RemoteBindToObject_Proxy(IMoniker, IBindCtx, IMoniker, REFIID, 1023 void IMoniker_RemoteBindToObject_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ | 1023 void IMoniker_RemoteBindToObject_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_ME 1024 HRESULT IMoniker_RemoteBindToStorage_Proxy(IMoniker*, IBindCtx*, IMoniker*, REFI | 1024 HRESULT IMoniker_RemoteBindToStorage_Proxy(IMoniker, IBindCtx, IMoniker, REFIID, 1025 void IMoniker_RemoteBindToStorage_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC | 1025 void IMoniker_RemoteBindToStorage_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_M 1026 HRESULT IMoniker_Reduce_Proxy(IMoniker*, IBindCtx*, DWORD, IMoniker**, IMoniker* | 1026 HRESULT IMoniker_Reduce_Proxy(IMoniker, IBindCtx, DWORD, IMoniker*, IMoniker*); 1027 void IMoniker_Reduce_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDW | 1027 void IMoniker_Reduce_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWOR 1028 HRESULT IMoniker_ComposeWith_Proxy(IMoniker*, IMoniker*, BOOL, IMoniker**); | 1028 HRESULT IMoniker_ComposeWith_Proxy(IMoniker, IMoniker, BOOL, IMoniker*); 1029 void IMoniker_ComposeWith_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE | 1029 void IMoniker_ComposeWith_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 1030 HRESULT IMoniker_Enum_Proxy(IMoniker*, BOOL, IEnumMoniker**); | 1030 HRESULT IMoniker_Enum_Proxy(IMoniker, BOOL, IEnumMoniker*); 1031 void IMoniker_Enum_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWOR | 1031 void IMoniker_Enum_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWORD) 1032 HRESULT IMoniker_IsEqual_Proxy(IMoniker*, IMoniker*); | 1032 HRESULT IMoniker_IsEqual_Proxy(IMoniker, IMoniker); 1033 void IMoniker_IsEqual_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PD | 1033 void IMoniker_IsEqual_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWO 1034 HRESULT IMoniker_Hash_Proxy(IMoniker*, DWORD*); | 1034 HRESULT IMoniker_Hash_Proxy(IMoniker, DWORD*); 1035 void IMoniker_Hash_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWOR | 1035 void IMoniker_Hash_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWORD) 1036 HRESULT IMoniker_IsRunning_Proxy(IMoniker*, IBindCtx*, IMoniker*, IMoniker*); | 1036 HRESULT IMoniker_IsRunning_Proxy(IMoniker, IBindCtx, IMoniker, IMoniker); 1037 void IMoniker_IsRunning_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 1037 void IMoniker_IsRunning_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PD 1038 HRESULT IMoniker_GetTimeOfLastChange_Proxy(IMoniker*, IBindCtx*, IMoniker*, FILE | 1038 HRESULT IMoniker_GetTimeOfLastChange_Proxy(IMoniker, IBindCtx, IMoniker, FILETIM 1039 void IMoniker_GetTimeOfLastChange_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC | 1039 void IMoniker_GetTimeOfLastChange_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_M 1040 HRESULT IMoniker_Inverse_Proxy(IMoniker*, IMoniker**); | 1040 HRESULT IMoniker_Inverse_Proxy(IMoniker, IMoniker*); 1041 void IMoniker_Inverse_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PD | 1041 void IMoniker_Inverse_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWO 1042 HRESULT IMoniker_CommonPrefixWith_Proxy(IMoniker*, IMoniker*, IMoniker**); | 1042 HRESULT IMoniker_CommonPrefixWith_Proxy(IMoniker, IMoniker, IMoniker*); 1043 void IMoniker_CommonPrefixWith_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ME | 1043 void IMoniker_CommonPrefixWith_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESS 1044 HRESULT IMoniker_RelativePathTo_Proxy(IMoniker*, IMoniker*, IMoniker**); | 1044 HRESULT IMoniker_RelativePathTo_Proxy(IMoniker, IMoniker, IMoniker*); 1045 void IMoniker_RelativePathTo_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 1045 void IMoniker_RelativePathTo_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 1046 HRESULT IMoniker_GetDisplayName_Proxy(IMoniker*, IBindCtx*, IMoniker*, LPCSTR*); | 1046 HRESULT IMoniker_GetDisplayName_Proxy(IMoniker, IBindCtx, IMoniker, LPCSTR*); 1047 void IMoniker_GetDisplayName_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 1047 void IMoniker_GetDisplayName_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 1048 HRESULT IMoniker_ParseDisplayName_Proxy(IMoniker*, IBindCtx*, IMoniker*, LPCSTR, | 1048 HRESULT IMoniker_ParseDisplayName_Proxy(IMoniker, IBindCtx, IMoniker, LPCSTR, UL 1049 void IMoniker_ParseDisplayName_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ME | 1049 void IMoniker_ParseDisplayName_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESS 1050 HRESULT IMoniker_IsSystemMoniker_Proxy(IMoniker*, DWORD*); | 1050 HRESULT IMoniker_IsSystemMoniker_Proxy(IMoniker, DWORD*); 1051 void IMoniker_IsSystemMoniker_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MES | 1051 void IMoniker_IsSystemMoniker_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSA 1052 HRESULT IROTData_GetComparisonData_Proxy(IROTData*, BYTE*, ULONG cbMax, ULONG*); | 1052 HRESULT IROTData_GetComparisonData_Proxy(IROTData, BYTE*, ULONG cbMax, ULONG*); 1053 void IROTData_GetComparisonData_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_M | 1053 void IROTData_GetComparisonData_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MES 1054 HRESULT IEnumString_RemoteNext_Proxy(IEnumString*, ULONG, LPCSTR*rgelt, ULONG*); | 1054 HRESULT IEnumString_RemoteNext_Proxy(IEnumString, ULONG, LPCSTR*rgelt, ULONG*); 1055 void IEnumString_RemoteNext_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSA | 1055 void IEnumString_RemoteNext_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE 1056 HRESULT IEnumString_Skip_Proxy(IEnumString*, ULONG); | 1056 HRESULT IEnumString_Skip_Proxy(IEnumString, ULONG); 1057 void IEnumString_Skip_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PD | 1057 void IEnumString_Skip_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWO 1058 HRESULT IEnumString_Reset_Proxy(IEnumString*); | 1058 HRESULT IEnumString_Reset_Proxy(IEnumString); 1059 void IEnumString_Reset_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, P | 1059 void IEnumString_Reset_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDW 1060 HRESULT IEnumString_Clone_Proxy(IEnumString*, IEnumString**); | 1060 HRESULT IEnumString_Clone_Proxy(IEnumString, IEnumString*); 1061 void IEnumString_Clone_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, P | 1061 void IEnumString_Clone_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDW 1062 HRESULT IStream_RemoteRead_Proxy(IStream*, BYTE*, ULONG, ULONG*); | 1062 HRESULT IStream_RemoteRead_Proxy(IStream, BYTE*, ULONG, ULONG*); 1063 void IStream_RemoteRead_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 1063 void IStream_RemoteRead_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PD 1064 HRESULT IStream_RemoteWrite_Proxy(IStream*, BYTE*pv, ULONG, ULONG*); | 1064 HRESULT IStream_RemoteWrite_Proxy(IStream, BYTE*pv, ULONG, ULONG*); 1065 void IStream_RemoteWrite_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 1065 void IStream_RemoteWrite_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, P 1066 HRESULT IStream_RemoteSeek_Proxy(IStream*, LARGE_INTEGER, DWORD, ULARGE_INTEGER* | 1066 HRESULT IStream_RemoteSeek_Proxy(IStream, LARGE_INTEGER, DWORD, ULARGE_INTEGER*) 1067 void IStream_RemoteSeek_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 1067 void IStream_RemoteSeek_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PD 1068 HRESULT IStream_SetSize_Proxy(IStream*, ULARGE_INTEGER); | 1068 HRESULT IStream_SetSize_Proxy(IStream, ULARGE_INTEGER); 1069 void IStream_SetSize_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDW | 1069 void IStream_SetSize_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWOR 1070 HRESULT IStream_RemoteCopyTo_Proxy(IStream*, IStream*, ULARGE_INTEGER, ULARGE_IN | 1070 HRESULT IStream_RemoteCopyTo_Proxy(IStream, IStream, ULARGE_INTEGER, ULARGE_INTE 1071 void IStream_RemoteCopyTo_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE | 1071 void IStream_RemoteCopyTo_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 1072 HRESULT IStream_Commit_Proxy(IStream*, DWORD); | 1072 HRESULT IStream_Commit_Proxy(IStream, DWORD); 1073 void IStream_Commit_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWO | 1073 void IStream_Commit_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWORD 1074 HRESULT IStream_Revert_Proxy(IStream*); | 1074 HRESULT IStream_Revert_Proxy(IStream); 1075 void IStream_Revert_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWO | 1075 void IStream_Revert_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWORD 1076 HRESULT IStream_LockRegion_Proxy(IStream*, ULARGE_INTEGER, ULARGE_INTEGER, DWORD | 1076 HRESULT IStream_LockRegion_Proxy(IStream, ULARGE_INTEGER, ULARGE_INTEGER, DWORD) 1077 void IStream_LockRegion_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 1077 void IStream_LockRegion_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PD 1078 HRESULT IStream_UnlockRegion_Proxy(IStream*, ULARGE_INTEGER, ULARGE_INTEGER, DWO | 1078 HRESULT IStream_UnlockRegion_Proxy(IStream, ULARGE_INTEGER, ULARGE_INTEGER, DWOR 1079 void IStream_UnlockRegion_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE | 1079 void IStream_UnlockRegion_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 1080 HRESULT IStream_Stat_Proxy(IStream*, STATSTG*, DWORD); | 1080 HRESULT IStream_Stat_Proxy(IStream, STATSTG*, DWORD); 1081 void IStream_Stat_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD | 1081 void IStream_Stat_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWORD); 1082 HRESULT IStream_Clone_Proxy(IStream*, IStream**); | 1082 HRESULT IStream_Clone_Proxy(IStream, IStream*); 1083 void IStream_Clone_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWOR | 1083 void IStream_Clone_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWORD) 1084 HRESULT IEnumSTATSTG_RemoteNext_Proxy(IEnumSTATSTG*, ULONG, STATSTG*, ULONG*); | 1084 HRESULT IEnumSTATSTG_RemoteNext_Proxy(IEnumSTATSTG, ULONG, STATSTG*, ULONG*); 1085 void IEnumSTATSTG_RemoteNext_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 1085 void IEnumSTATSTG_RemoteNext_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 1086 HRESULT IEnumSTATSTG_Skip_Proxy(IEnumSTATSTG*, ULONG celt); | 1086 HRESULT IEnumSTATSTG_Skip_Proxy(IEnumSTATSTG, ULONG celt); 1087 void IEnumSTATSTG_Skip_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, P | 1087 void IEnumSTATSTG_Skip_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDW 1088 HRESULT IEnumSTATSTG_Reset_Proxy(IEnumSTATSTG*); | 1088 HRESULT IEnumSTATSTG_Reset_Proxy(IEnumSTATSTG); 1089 void IEnumSTATSTG_Reset_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 1089 void IEnumSTATSTG_Reset_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PD 1090 HRESULT IEnumSTATSTG_Clone_Proxy(IEnumSTATSTG*, IEnumSTATSTG**); | 1090 HRESULT IEnumSTATSTG_Clone_Proxy(IEnumSTATSTG, IEnumSTATSTG*); 1091 void IEnumSTATSTG_Clone_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 1091 void IEnumSTATSTG_Clone_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PD 1092 HRESULT IStorage_CreateStream_Proxy(IStorage*, OLECHAR*, DWORD, DWORD, DWORD, IS | 1092 HRESULT IStorage_CreateStream_Proxy(IStorage, OLECHAR*, DWORD, DWORD, DWORD, ISt 1093 void IStorage_CreateStream_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAG | 1093 void IStorage_CreateStream_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 1094 HRESULT IStorage_RemoteOpenStream_Proxy(IStorage*, CPtr!(OLECHAR), uint, BYTE*, | 1094 HRESULT IStorage_RemoteOpenStream_Proxy(IStorage, const(OLECHAR)*, uint, BYTE*, 1095 void IStorage_RemoteOpenStream_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ME | 1095 void IStorage_RemoteOpenStream_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESS 1096 HRESULT IStorage_CreateStorage_Proxy(IStorage*, OLECHAR*, DWORD, DWORD, DWORD, I | 1096 HRESULT IStorage_CreateStorage_Proxy(IStorage, OLECHAR*, DWORD, DWORD, DWORD, IS 1097 void IStorage_CreateStorage_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSA | 1097 void IStorage_CreateStorage_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE 1098 HRESULT IStorage_OpenStorage_Proxy(IStorage*, OLECHAR*, IStorage*, DWORD, SNB, D | 1098 HRESULT IStorage_OpenStorage_Proxy(IStorage, OLECHAR*, IStorage, DWORD, SNB, DWO 1099 void IStorage_OpenStorage_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE | 1099 void IStorage_OpenStorage_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 1100 HRESULT IStorage_CopyTo_Proxy(IStorage*, DWORD, CPtr!(IID), SNB, IStorage*); | 1100 HRESULT IStorage_CopyTo_Proxy(IStorage, DWORD, const(IID)*, SNB, IStorage); 1101 void IStorage_CopyTo_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDW | 1101 void IStorage_CopyTo_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWOR 1102 HRESULT IStorage_MoveElementTo_Proxy(IStorage*, CPtr!(OLECHAR), IStorage*, CPtr! | 1102 HRESULT IStorage_MoveElementTo_Proxy(IStorage, const(OLECHAR)*, IStorage, const( 1103 void IStorage_MoveElementTo_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSA | 1103 void IStorage_MoveElementTo_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE 1104 HRESULT IStorage_Commit_Proxy(IStorage*, DWORD); | 1104 HRESULT IStorage_Commit_Proxy(IStorage, DWORD); 1105 void IStorage_Commit_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDW | 1105 void IStorage_Commit_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWOR 1106 HRESULT IStorage_Revert_Proxy(IStorage*); | 1106 HRESULT IStorage_Revert_Proxy(IStorage); 1107 void IStorage_Revert_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDW | 1107 void IStorage_Revert_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWOR 1108 HRESULT IStorage_RemoteEnumElements_Proxy(IStorage*, DWORD, uint, BYTE*, DWORD, | 1108 HRESULT IStorage_RemoteEnumElements_Proxy(IStorage, DWORD, uint, BYTE*, DWORD, I 1109 void IStorage_RemoteEnumElements_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ | 1109 void IStorage_RemoteEnumElements_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_ME 1110 HRESULT IStorage_DestroyElement_Proxy(IStorage*, OLECHAR*); | 1110 HRESULT IStorage_DestroyElement_Proxy(IStorage, OLECHAR*); 1111 void IStorage_DestroyElement_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 1111 void IStorage_DestroyElement_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 1112 HRESULT IStorage_RenameElement_Proxy(IStorage*, CPtr!(OLECHAR), CPtr!(OLECHAR)); | 1112 HRESULT IStorage_RenameElement_Proxy(IStorage, const(OLECHAR)*, const(OLECHAR)*) 1113 void IStorage_RenameElement_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSA | 1113 void IStorage_RenameElement_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE 1114 HRESULT IStorage_SetElementTimes_Proxy(IStorage*, CPtr!(OLECHAR), CPtr!(FILETIME | 1114 HRESULT IStorage_SetElementTimes_Proxy(IStorage, const(OLECHAR)*, const(FILETIME 1115 void IStorage_SetElementTimes_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MES | 1115 void IStorage_SetElementTimes_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSA 1116 HRESULT IStorage_SetClass_Proxy(IStorage*, REFCLSID); | 1116 HRESULT IStorage_SetClass_Proxy(IStorage, REFCLSID); 1117 void IStorage_SetClass_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, P | 1117 void IStorage_SetClass_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDW 1118 HRESULT IStorage_SetStateBits_Proxy(IStorage*, DWORD, DWORD); | 1118 HRESULT IStorage_SetStateBits_Proxy(IStorage, DWORD, DWORD); 1119 void IStorage_SetStateBits_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAG | 1119 void IStorage_SetStateBits_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 1120 HRESULT IStorage_Stat_Proxy(IStorage*, STATSTG*, DWORD); | 1120 HRESULT IStorage_Stat_Proxy(IStorage, STATSTG*, DWORD); 1121 void IStorage_Stat_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWOR | 1121 void IStorage_Stat_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWORD) 1122 HRESULT IPersistFile_IsDirty_Proxy(IPersistFile*); | 1122 HRESULT IPersistFile_IsDirty_Proxy(IPersistFile); 1123 void IPersistFile_IsDirty_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE | 1123 void IPersistFile_IsDirty_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 1124 HRESULT IPersistFile_Load_Proxy(IPersistFile*, LPCOLESTR, DWORD); | 1124 HRESULT IPersistFile_Load_Proxy(IPersistFile, LPCOLESTR, DWORD); 1125 void IPersistFile_Load_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, P | 1125 void IPersistFile_Load_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDW 1126 HRESULT IPersistFile_Save_Proxy(IPersistFile*, LPCOLESTR pszFileName, BOOL); | 1126 HRESULT IPersistFile_Save_Proxy(IPersistFile, LPCOLESTR pszFileName, BOOL); 1127 void IPersistFile_Save_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, P | 1127 void IPersistFile_Save_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDW 1128 HRESULT IPersistFile_SaveCompleted_Proxy(IPersistFile*, LPCOLESTR); | 1128 HRESULT IPersistFile_SaveCompleted_Proxy(IPersistFile, LPCOLESTR); 1129 void IPersistFile_SaveCompleted_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_M | 1129 void IPersistFile_SaveCompleted_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MES 1130 HRESULT IPersistFile_GetCurFile_Proxy(IPersistFile*, LPCSTR*); | 1130 HRESULT IPersistFile_GetCurFile_Proxy(IPersistFile, LPCSTR*); 1131 void IPersistFile_GetCurFile_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 1131 void IPersistFile_GetCurFile_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 1132 HRESULT IPersistStorage_IsDirty_Proxy(IPersistStorage*); | 1132 HRESULT IPersistStorage_IsDirty_Proxy(IPersistStorage); 1133 void IPersistStorage_IsDirty_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 1133 void IPersistStorage_IsDirty_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 1134 HRESULT IPersistStorage_InitNew_Proxy(IPersistStorage*, IStorage*); | 1134 HRESULT IPersistStorage_InitNew_Proxy(IPersistStorage, IStorage); 1135 void IPersistStorage_InitNew_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 1135 void IPersistStorage_InitNew_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 1136 HRESULT IPersistStorage_Load_Proxy(IPersistStorage*, IStorage*); | 1136 HRESULT IPersistStorage_Load_Proxy(IPersistStorage, IStorage); 1137 void IPersistStorage_Load_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE | 1137 void IPersistStorage_Load_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 1138 HRESULT IPersistStorage_Save_Proxy(IPersistStorage*, IStorage*, BOOL); | 1138 HRESULT IPersistStorage_Save_Proxy(IPersistStorage, IStorage, BOOL); 1139 void IPersistStorage_Save_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE | 1139 void IPersistStorage_Save_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 1140 HRESULT IPersistStorage_SaveCompleted_Proxy(IPersistStorage*, IStorage*); | 1140 HRESULT IPersistStorage_SaveCompleted_Proxy(IPersistStorage, IStorage); 1141 void IPersistStorage_SaveCompleted_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRP | 1141 void IPersistStorage_SaveCompleted_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_ 1142 HRESULT IPersistStorage_HandsOffStorage_Proxy(IPersistStorage*); | 1142 HRESULT IPersistStorage_HandsOffStorage_Proxy(IPersistStorage); 1143 void IPersistStorage_HandsOffStorage_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, P | 1143 void IPersistStorage_HandsOffStorage_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRP 1144 HRESULT ILockBytes_RemoteReadAt_Proxy(ILockBytes*, ULARGE_INTEGER, BYTE*, ULONG, | 1144 HRESULT ILockBytes_RemoteReadAt_Proxy(ILockBytes, ULARGE_INTEGER, BYTE*, ULONG, 1145 void ILockBytes_RemoteReadAt_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 1145 void ILockBytes_RemoteReadAt_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 1146 HRESULT ILockBytes_RemoteWriteAt_Proxy(ILockBytes*, ULARGE_INTEGER, BYTE*pv, ULO | 1146 HRESULT ILockBytes_RemoteWriteAt_Proxy(ILockBytes, ULARGE_INTEGER, BYTE*pv, ULON 1147 void ILockBytes_RemoteWriteAt_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MES | 1147 void ILockBytes_RemoteWriteAt_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSA 1148 HRESULT ILockBytes_Flush_Proxy(ILockBytes*); | 1148 HRESULT ILockBytes_Flush_Proxy(ILockBytes); 1149 void ILockBytes_Flush_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PD | 1149 void ILockBytes_Flush_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWO 1150 HRESULT ILockBytes_SetSize_Proxy(ILockBytes*, ULARGE_INTEGER); | 1150 HRESULT ILockBytes_SetSize_Proxy(ILockBytes, ULARGE_INTEGER); 1151 void ILockBytes_SetSize_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 1151 void ILockBytes_SetSize_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PD 1152 HRESULT ILockBytes_LockRegion_Proxy(ILockBytes*, ULARGE_INTEGER, ULARGE_INTEGER, | 1152 HRESULT ILockBytes_LockRegion_Proxy(ILockBytes, ULARGE_INTEGER, ULARGE_INTEGER, 1153 void ILockBytes_LockRegion_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAG | 1153 void ILockBytes_LockRegion_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 1154 HRESULT ILockBytes_UnlockRegion_Proxy(ILockBytes*, ULARGE_INTEGER, ULARGE_INTEGE | 1154 HRESULT ILockBytes_UnlockRegion_Proxy(ILockBytes, ULARGE_INTEGER, ULARGE_INTEGER 1155 void ILockBytes_UnlockRegion_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 1155 void ILockBytes_UnlockRegion_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 1156 HRESULT ILockBytes_Stat_Proxy(ILockBytes*, STATSTG*, DWORD); | 1156 HRESULT ILockBytes_Stat_Proxy(ILockBytes, STATSTG*, DWORD); 1157 void ILockBytes_Stat_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDW | 1157 void ILockBytes_Stat_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PDWOR 1158 HRESULT IEnumFORMATETC_RemoteNext_Proxy(IEnumFORMATETC*, ULONG, FORMATETC*, ULON | 1158 HRESULT IEnumFORMATETC_RemoteNext_Proxy(IEnumFORMATETC, ULONG, FORMATETC*, ULONG 1159 void IEnumFORMATETC_RemoteNext_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ME | 1159 void IEnumFORMATETC_RemoteNext_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESS 1160 HRESULT IEnumFORMATETC_Skip_Proxy(IEnumFORMATETC*, ULONG); | 1160 HRESULT IEnumFORMATETC_Skip_Proxy(IEnumFORMATETC, ULONG); 1161 void IEnumFORMATETC_Skip_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 1161 void IEnumFORMATETC_Skip_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, P 1162 HRESULT IEnumFORMATETC_Reset_Proxy(IEnumFORMATETC*); | 1162 HRESULT IEnumFORMATETC_Reset_Proxy(IEnumFORMATETC); 1163 void IEnumFORMATETC_Reset_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE | 1163 void IEnumFORMATETC_Reset_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 1164 HRESULT IEnumFORMATETC_Clone_Proxy(IEnumFORMATETC*, IEnumFORMATETC**); | 1164 HRESULT IEnumFORMATETC_Clone_Proxy(IEnumFORMATETC, IEnumFORMATETC*); 1165 void IEnumFORMATETC_Clone_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE | 1165 void IEnumFORMATETC_Clone_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 1166 HRESULT IEnumFORMATETC_Next_Proxy(IEnumFORMATETC*, ULONG, FORMATETC*, ULONG*); | 1166 HRESULT IEnumFORMATETC_Next_Proxy(IEnumFORMATETC, ULONG, FORMATETC*, ULONG*); 1167 HRESULT IEnumFORMATETC_Next_Stub(IEnumFORMATETC*, ULONG, FORMATETC*, ULONG*); | 1167 HRESULT IEnumFORMATETC_Next_Stub(IEnumFORMATETC, ULONG, FORMATETC*, ULONG*); 1168 HRESULT IEnumSTATDATA_RemoteNext_Proxy(IEnumSTATDATA*, ULONG, STATDATA*, ULONG*) | 1168 HRESULT IEnumSTATDATA_RemoteNext_Proxy(IEnumSTATDATA, ULONG, STATDATA*, ULONG*); 1169 void IEnumSTATDATA_RemoteNext_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MES | 1169 void IEnumSTATDATA_RemoteNext_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSA 1170 HRESULT IEnumSTATDATA_Skip_Proxy(IEnumSTATDATA*, ULONG); | 1170 HRESULT IEnumSTATDATA_Skip_Proxy(IEnumSTATDATA, ULONG); 1171 void IEnumSTATDATA_Skip_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 1171 void IEnumSTATDATA_Skip_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, PD 1172 HRESULT IEnumSTATDATA_Reset_Proxy(IEnumSTATDATA*); | 1172 HRESULT IEnumSTATDATA_Reset_Proxy(IEnumSTATDATA); 1173 void IEnumSTATDATA_Reset_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 1173 void IEnumSTATDATA_Reset_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, P 1174 HRESULT IEnumSTATDATA_Clone_Proxy(IEnumSTATDATA*, IEnumSTATDATA**); | 1174 HRESULT IEnumSTATDATA_Clone_Proxy(IEnumSTATDATA, IEnumSTATDATA*); 1175 void IEnumSTATDATA_Clone_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 1175 void IEnumSTATDATA_Clone_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, P 1176 HRESULT IEnumSTATDATA_Next_Proxy(IEnumSTATDATA*, ULONG, STATDATA*, ULONG*); | 1176 HRESULT IEnumSTATDATA_Next_Proxy(IEnumSTATDATA, ULONG, STATDATA*, ULONG*); 1177 HRESULT IEnumSTATDATA_Next_Stub(IEnumSTATDATA*, ULONG, STATDATA*, ULONG*); | 1177 HRESULT IEnumSTATDATA_Next_Stub(IEnumSTATDATA, ULONG, STATDATA*, ULONG*); 1178 HRESULT IRootStorage_SwitchToFile_Proxy(IRootStorage*, LPCSTR); | 1178 HRESULT IRootStorage_SwitchToFile_Proxy(IRootStorage, LPCSTR); 1179 void IRootStorage_SwitchToFile_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ME | 1179 void IRootStorage_SwitchToFile_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESS 1180 void IAdviseSink_RemoteOnDataChange_Proxy(IAdviseSink*, FORMATETC*, RemSTGMEDIUM | 1180 void IAdviseSink_RemoteOnDataChange_Proxy(IAdviseSink, FORMATETC*, RemSTGMEDIUM* 1181 void IAdviseSink_RemoteOnDataChange_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PR | 1181 void IAdviseSink_RemoteOnDataChange_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC 1182 void IAdviseSink_RemoteOnViewChange_Proxy(IAdviseSink*, DWORD, LONG); | 1182 void IAdviseSink_RemoteOnViewChange_Proxy(IAdviseSink, DWORD, LONG); 1183 void IAdviseSink_RemoteOnViewChange_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PR | 1183 void IAdviseSink_RemoteOnViewChange_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC 1184 void IAdviseSink_RemoteOnRename_Proxy(IAdviseSink*, IMoniker*); | 1184 void IAdviseSink_RemoteOnRename_Proxy(IAdviseSink, IMoniker); 1185 void IAdviseSink_RemoteOnRename_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_M | 1185 void IAdviseSink_RemoteOnRename_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MES 1186 void IAdviseSink_RemoteOnSave_Proxy(IAdviseSink*); | 1186 void IAdviseSink_RemoteOnSave_Proxy(IAdviseSink); 1187 void IAdviseSink_RemoteOnSave_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MES | 1187 void IAdviseSink_RemoteOnSave_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSA 1188 HRESULT IAdviseSink_RemoteOnClose_Proxy(IAdviseSink*); | 1188 HRESULT IAdviseSink_RemoteOnClose_Proxy(IAdviseSink); 1189 void IAdviseSink_RemoteOnClose_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ME | 1189 void IAdviseSink_RemoteOnClose_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESS 1190 void IAdviseSink_OnDataChange_Proxy(IAdviseSink*, FORMATETC*, STGMEDIUM*); | 1190 void IAdviseSink_OnDataChange_Proxy(IAdviseSink, FORMATETC*, STGMEDIUM*); 1191 void IAdviseSink_OnDataChange_Stub(IAdviseSink*, FORMATETC*, RemSTGMEDIUM*); | 1191 void IAdviseSink_OnDataChange_Stub(IAdviseSink, FORMATETC*, RemSTGMEDIUM*); 1192 void IAdviseSink_OnViewChange_Proxy(IAdviseSink*, DWORD, LONG); | 1192 void IAdviseSink_OnViewChange_Proxy(IAdviseSink, DWORD, LONG); 1193 void IAdviseSink_OnViewChange_Stub(IAdviseSink*, DWORD, LONG); | 1193 void IAdviseSink_OnViewChange_Stub(IAdviseSink, DWORD, LONG); 1194 void IAdviseSink_OnRename_Proxy(IAdviseSink*, IMoniker*); | 1194 void IAdviseSink_OnRename_Proxy(IAdviseSink, IMoniker); 1195 void IAdviseSink_OnRename_Stub(IAdviseSink*, IMoniker*); | 1195 void IAdviseSink_OnRename_Stub(IAdviseSink, IMoniker); 1196 void IAdviseSink_OnSave_Proxy(IAdviseSink*); | 1196 void IAdviseSink_OnSave_Proxy(IAdviseSink); 1197 void IAdviseSink_OnSave_Stub(IAdviseSink*); | 1197 void IAdviseSink_OnSave_Stub(IAdviseSink); 1198 void IAdviseSink_OnClose_Proxy(IAdviseSink*); | 1198 void IAdviseSink_OnClose_Proxy(IAdviseSink); 1199 HRESULT IAdviseSink_OnClose_Stub(IAdviseSink*); | 1199 HRESULT IAdviseSink_OnClose_Stub(IAdviseSink); 1200 void IAdviseSink2_RemoteOnLinkSrcChange_Proxy(IAdviseSink2*, IMoniker*); | 1200 void IAdviseSink2_RemoteOnLinkSrcChange_Proxy(IAdviseSink2, IMoniker); 1201 void IAdviseSink2_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer*, IRpcChannelBuffer* | 1201 void IAdviseSink2_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer, IRpcChannelBuffer, 1202 void IAdviseSink2_OnLinkSrcChange_Proxy(IAdviseSink2*, IMoniker*); | 1202 void IAdviseSink2_OnLinkSrcChange_Proxy(IAdviseSink2, IMoniker); 1203 void IAdviseSink2_OnLinkSrcChange_Stub(IAdviseSink2*, IMoniker*); | 1203 void IAdviseSink2_OnLinkSrcChange_Stub(IAdviseSink2, IMoniker); 1204 HRESULT IDataObject_RemoteGetData_Proxy(IDataObject*, FORMATETC*, RemSTGMEDIUM** | 1204 HRESULT IDataObject_RemoteGetData_Proxy(IDataObject, FORMATETC*, RemSTGMEDIUM**) 1205 void IDataObject_RemoteGetData_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ME | 1205 void IDataObject_RemoteGetData_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESS 1206 HRESULT IDataObject_RemoteGetDataHere_Proxy(IDataObject*, FORMATETC*, RemSTGMEDI | 1206 HRESULT IDataObject_RemoteGetDataHere_Proxy(IDataObject, FORMATETC*, RemSTGMEDIU 1207 void IDataObject_RemoteGetDataHere_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRP | 1207 void IDataObject_RemoteGetDataHere_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_ 1208 HRESULT IDataObject_QueryGetData_Proxy(IDataObject*, FORMATETC*); | 1208 HRESULT IDataObject_QueryGetData_Proxy(IDataObject, FORMATETC*); 1209 void IDataObject_QueryGetData_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MES | 1209 void IDataObject_QueryGetData_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSA 1210 HRESULT IDataObject_GetCanonicalFormatEtc_Proxy(IDataObject*, FORMATETC*, FORMAT | 1210 HRESULT IDataObject_GetCanonicalFormatEtc_Proxy(IDataObject, FORMATETC*, FORMATE 1211 void IDataObject_GetCanonicalFormatEtc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, | 1211 void IDataObject_GetCanonicalFormatEtc_Stub(IRpcStubBuffer, IRpcChannelBuffer, P 1212 HRESULT IDataObject_RemoteSetData_Proxy(IDataObject*, FORMATETC*, RemSTGMEDIUM*, | 1212 HRESULT IDataObject_RemoteSetData_Proxy(IDataObject, FORMATETC*, RemSTGMEDIUM*, 1213 void IDataObject_RemoteSetData_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ME | 1213 void IDataObject_RemoteSetData_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESS 1214 HRESULT IDataObject_EnumFormatEtc_Proxy(IDataObject*, DWORD, IEnumFORMATETC**); | 1214 HRESULT IDataObject_EnumFormatEtc_Proxy(IDataObject, DWORD, IEnumFORMATETC*); 1215 void IDataObject_EnumFormatEtc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ME | 1215 void IDataObject_EnumFormatEtc_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESS 1216 HRESULT IDataObject_DAdvise_Proxy(IDataObject*, FORMATETC*, DWORD, IAdviseSink*, | 1216 HRESULT IDataObject_DAdvise_Proxy(IDataObject, FORMATETC*, DWORD, IAdviseSink, D 1217 void IDataObject_DAdvise_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, | 1217 void IDataObject_DAdvise_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, P 1218 HRESULT IDataObject_DUnadvise_Proxy(IDataObject*, DWORD); | 1218 HRESULT IDataObject_DUnadvise_Proxy(IDataObject, DWORD); 1219 void IDataObject_DUnadvise_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAG | 1219 void IDataObject_DUnadvise_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 1220 HRESULT IDataObject_EnumDAdvise_Proxy(IDataObject*, IEnumSTATDATA**); | 1220 HRESULT IDataObject_EnumDAdvise_Proxy(IDataObject, IEnumSTATDATA*); 1221 void IDataObject_EnumDAdvise_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 1221 void IDataObject_EnumDAdvise_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 1222 HRESULT IDataObject_GetData_Proxy(IDataObject*, FORMATETC*, STGMEDIUM*); | 1222 HRESULT IDataObject_GetData_Proxy(IDataObject, FORMATETC*, STGMEDIUM*); 1223 HRESULT IDataObject_GetData_Stub(IDataObject*, FORMATETC*, RemSTGMEDIUM**); | 1223 HRESULT IDataObject_GetData_Stub(IDataObject, FORMATETC*, RemSTGMEDIUM**); 1224 HRESULT IDataObject_GetDataHere_Proxy(IDataObject*, FORMATETC*, STGMEDIUM*); | 1224 HRESULT IDataObject_GetDataHere_Proxy(IDataObject, FORMATETC*, STGMEDIUM*); 1225 HRESULT IDataObject_GetDataHere_Stub(IDataObject*, FORMATETC*, RemSTGMEDIUM**); | 1225 HRESULT IDataObject_GetDataHere_Stub(IDataObject, FORMATETC*, RemSTGMEDIUM**); 1226 HRESULT IDataObject_SetData_Proxy(IDataObject*, FORMATETC*, STGMEDIUM*, BOOL); | 1226 HRESULT IDataObject_SetData_Proxy(IDataObject, FORMATETC*, STGMEDIUM*, BOOL); 1227 HRESULT IDataObject_SetData_Stub(IDataObject*, FORMATETC*, RemSTGMEDIUM*, BOOL); | 1227 HRESULT IDataObject_SetData_Stub(IDataObject, FORMATETC*, RemSTGMEDIUM*, BOOL); 1228 HRESULT IDataAdviseHolder_Advise_Proxy(IDataAdviseHolder*, IDataObject*, FORMATE | 1228 HRESULT IDataAdviseHolder_Advise_Proxy(IDataAdviseHolder, IDataObject, FORMATETC 1229 void IDataAdviseHolder_Advise_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MES | 1229 void IDataAdviseHolder_Advise_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSA 1230 HRESULT IDataAdviseHolder_Unadvise_Proxy(IDataAdviseHolder*, DWORD); | 1230 HRESULT IDataAdviseHolder_Unadvise_Proxy(IDataAdviseHolder, DWORD); 1231 void IDataAdviseHolder_Unadvise_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_M | 1231 void IDataAdviseHolder_Unadvise_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MES 1232 HRESULT IDataAdviseHolder_EnumAdvise_Proxy(IDataAdviseHolder*, IEnumSTATDATA**); | 1232 HRESULT IDataAdviseHolder_EnumAdvise_Proxy(IDataAdviseHolder, IEnumSTATDATA*); 1233 void IDataAdviseHolder_EnumAdvise_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC | 1233 void IDataAdviseHolder_EnumAdvise_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_M 1234 HRESULT IDataAdviseHolder_SendOnDataChange_Proxy(IDataAdviseHolder*, IDataObject | 1234 HRESULT IDataAdviseHolder_SendOnDataChange_Proxy(IDataAdviseHolder, IDataObject, 1235 void IDataAdviseHolder_SendOnDataChange_Stub(IRpcStubBuffer*, IRpcChannelBuffer* | 1235 void IDataAdviseHolder_SendOnDataChange_Stub(IRpcStubBuffer, IRpcChannelBuffer, 1236 DWORD IMessageFilter_HandleInComingCall_Proxy(IMessageFilter*, DWORD, HTASK, DWO | 1236 DWORD IMessageFilter_HandleInComingCall_Proxy(IMessageFilter, DWORD, HTASK, DWOR 1237 void IMessageFilter_HandleInComingCall_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, | 1237 void IMessageFilter_HandleInComingCall_Stub(IRpcStubBuffer, IRpcChannelBuffer, P 1238 DWORD IMessageFilter_RetryRejectedCall_Proxy(IMessageFilter*, HTASK, DWORD, DWOR | 1238 DWORD IMessageFilter_RetryRejectedCall_Proxy(IMessageFilter, HTASK, DWORD, DWORD 1239 void IMessageFilter_RetryRejectedCall_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, | 1239 void IMessageFilter_RetryRejectedCall_Stub(IRpcStubBuffer, IRpcChannelBuffer, PR 1240 DWORD IMessageFilter_MessagePending_Proxy(IMessageFilter*, HTASK, DWORD, DWORD); | 1240 DWORD IMessageFilter_MessagePending_Proxy(IMessageFilter, HTASK, DWORD, DWORD); 1241 void IMessageFilter_MessagePending_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRP | 1241 void IMessageFilter_MessagePending_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_ 1242 HRESULT IRpcChannelBuffer_GetBuffer_Proxy(IRpcChannelBuffer*, RPCOLEMESSAGE*, RE | 1242 HRESULT IRpcChannelBuffer_GetBuffer_Proxy(IRpcChannelBuffer, RPCOLEMESSAGE*, REF 1243 void IRpcChannelBuffer_GetBuffer_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ | 1243 void IRpcChannelBuffer_GetBuffer_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_ME 1244 HRESULT IRpcChannelBuffer_SendReceive_Proxy(IRpcChannelBuffer*, RPCOLEMESSAGE*, | 1244 HRESULT IRpcChannelBuffer_SendReceive_Proxy(IRpcChannelBuffer, RPCOLEMESSAGE*, U 1245 void IRpcChannelBuffer_SendReceive_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRP | 1245 void IRpcChannelBuffer_SendReceive_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_ 1246 HRESULT IRpcChannelBuffer_FreeBuffer_Proxy(IRpcChannelBuffer*, RPCOLEMESSAGE*); | 1246 HRESULT IRpcChannelBuffer_FreeBuffer_Proxy(IRpcChannelBuffer, RPCOLEMESSAGE*); 1247 void IRpcChannelBuffer_FreeBuffer_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC | 1247 void IRpcChannelBuffer_FreeBuffer_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_M 1248 HRESULT IRpcChannelBuffer_GetDestCtx_Proxy(IRpcChannelBuffer*, DWORD*, void**); | 1248 HRESULT IRpcChannelBuffer_GetDestCtx_Proxy(IRpcChannelBuffer, DWORD*, void**); 1249 void IRpcChannelBuffer_GetDestCtx_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC | 1249 void IRpcChannelBuffer_GetDestCtx_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_M 1250 HRESULT IRpcChannelBuffer_IsConnected_Proxy(IRpcChannelBuffer*); | 1250 HRESULT IRpcChannelBuffer_IsConnected_Proxy(IRpcChannelBuffer); 1251 void IRpcChannelBuffer_IsConnected_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRP | 1251 void IRpcChannelBuffer_IsConnected_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_ 1252 HRESULT IRpcProxyBuffer_Connect_Proxy(IRpcProxyBuffer*, IRpcChannelBuffer*pRpcCh | 1252 HRESULT IRpcProxyBuffer_Connect_Proxy(IRpcProxyBuffer, IRpcChannelBufferpRpcChan 1253 void IRpcProxyBuffer_Connect_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESS | 1253 void IRpcProxyBuffer_Connect_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAG 1254 void IRpcProxyBuffer_Disconnect_Proxy(IRpcProxyBuffer*); | 1254 void IRpcProxyBuffer_Disconnect_Proxy(IRpcProxyBuffer); 1255 void IRpcProxyBuffer_Disconnect_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_M | 1255 void IRpcProxyBuffer_Disconnect_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MES 1256 HRESULT IRpcStubBuffer_Connect_Proxy(IRpcStubBuffer*, IUnknown*); | 1256 HRESULT IRpcStubBuffer_Connect_Proxy(IRpcStubBuffer, IUnknown); 1257 void IRpcStubBuffer_Connect_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSA | 1257 void IRpcStubBuffer_Connect_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE 1258 void IRpcStubBuffer_Disconnect_Proxy(IRpcStubBuffer*); | 1258 void IRpcStubBuffer_Disconnect_Proxy(IRpcStubBuffer); 1259 void IRpcStubBuffer_Disconnect_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ME | 1259 void IRpcStubBuffer_Disconnect_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESS 1260 HRESULT IRpcStubBuffer_Invoke_Proxy(IRpcStubBuffer*, RPCOLEMESSAGE*, IRpcChannel | 1260 HRESULT IRpcStubBuffer_Invoke_Proxy(IRpcStubBuffer, RPCOLEMESSAGE*, IRpcChannelB 1261 void IRpcStubBuffer_Invoke_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAG | 1261 void IRpcStubBuffer_Invoke_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSAGE, 1262 IRpcStubBuffer*IRpcStubBuffer_IsIIDSupported_Proxy(IRpcStubBuffer*, REFIID); | 1262 IRpcStubBufferIRpcStubBuffer_IsIIDSupported_Proxy(IRpcStubBuffer, REFIID); 1263 void IRpcStubBuffer_IsIIDSupported_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRP | 1263 void IRpcStubBuffer_IsIIDSupported_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_ 1264 ULONG IRpcStubBuffer_CountRefs_Proxy(IRpcStubBuffer*); | 1264 ULONG IRpcStubBuffer_CountRefs_Proxy(IRpcStubBuffer); 1265 void IRpcStubBuffer_CountRefs_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MES | 1265 void IRpcStubBuffer_CountRefs_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_MESSA 1266 HRESULT IRpcStubBuffer_DebugServerQueryInterface_Proxy(IRpcStubBuffer*, void**); | 1266 HRESULT IRpcStubBuffer_DebugServerQueryInterface_Proxy(IRpcStubBuffer, void**); 1267 void IRpcStubBuffer_DebugServerQueryInterface_Stub(IRpcStubBuffer*, IRpcChannelB | 1267 void IRpcStubBuffer_DebugServerQueryInterface_Stub(IRpcStubBuffer, IRpcChannelBu 1268 void IRpcStubBuffer_DebugServerRelease_Proxy(IRpcStubBuffer*, void*); | 1268 void IRpcStubBuffer_DebugServerRelease_Proxy(IRpcStubBuffer, void*); 1269 void IRpcStubBuffer_DebugServerRelease_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, | 1269 void IRpcStubBuffer_DebugServerRelease_Stub(IRpcStubBuffer, IRpcChannelBuffer, P 1270 HRESULT IPSFactoryBuffer_CreateProxy_Proxy(IPSFactoryBuffer*, IUnknown*, REFIID, | 1270 HRESULT IPSFactoryBuffer_CreateProxy_Proxy(IPSFactoryBuffer, IUnknown, REFIID, I 1271 void IPSFactoryBuffer_CreateProxy_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC | 1271 void IPSFactoryBuffer_CreateProxy_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_M 1272 HRESULT IPSFactoryBuffer_CreateStub_Proxy(IPSFactoryBuffer*, REFIID, IUnknown*, | 1272 HRESULT IPSFactoryBuffer_CreateStub_Proxy(IPSFactoryBuffer, REFIID, IUnknown, IR 1273 void IPSFactoryBuffer_CreateStub_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_ | 1273 void IPSFactoryBuffer_CreateStub_Stub(IRpcStubBuffer, IRpcChannelBuffer, PRPC_ME 1274 void SNB_to_xmit(SNB*, RemSNB**); 1274 void SNB_to_xmit(SNB*, RemSNB**); 1275 void SNB_from_xmit(RemSNB*, SNB*); 1275 void SNB_from_xmit(RemSNB*, SNB*); 1276 void SNB_free_inst(SNB*); 1276 void SNB_free_inst(SNB*); 1277 void SNB_free_xmit(RemSNB*); 1277 void SNB_free_xmit(RemSNB*); 1278 HRESULT IEnumUnknown_Next_Proxy(IEnumUnknown*, ULONG, IUnknown**, ULONG*); | 1278 HRESULT IEnumUnknown_Next_Proxy(IEnumUnknown, ULONG, IUnknown*, ULONG*); 1279 HRESULT IEnumUnknown_Next_Stub(IEnumUnknown*, ULONG, IUnknown**, ULONG*); | 1279 HRESULT IEnumUnknown_Next_Stub(IEnumUnknown, ULONG, IUnknown*, ULONG*); 1280 HRESULT IEnumMoniker_Next_Proxy(IEnumMoniker*, ULONG, IMoniker**, ULONG*); | 1280 HRESULT IEnumMoniker_Next_Proxy(IEnumMoniker, ULONG, IMoniker*, ULONG*); 1281 HRESULT IEnumMoniker_Next_Stub(IEnumMoniker*, ULONG, IMoniker**, ULONG*); | 1281 HRESULT IEnumMoniker_Next_Stub(IEnumMoniker, ULONG, IMoniker*, ULONG*); 1282 HRESULT IMoniker_BindToObject_Proxy(IMoniker*, IBindCtx*, IMoniker*, REFIID, voi | 1282 HRESULT IMoniker_BindToObject_Proxy(IMoniker, IBindCtx, IMoniker, REFIID, void** 1283 HRESULT IMoniker_BindToObject_Stub(IMoniker*, IBindCtx*, IMoniker*, REFIID, IUnk | 1283 HRESULT IMoniker_BindToObject_Stub(IMoniker, IBindCtx, IMoniker, REFIID, IUnknow 1284 HRESULT IMoniker_BindToStorage_Proxy(IMoniker*, IBindCtx*, IMoniker*, REFIID, vo | 1284 HRESULT IMoniker_BindToStorage_Proxy(IMoniker, IBindCtx, IMoniker, REFIID, void* 1285 HRESULT IMoniker_BindToStorage_Stub(IMoniker*, IBindCtx*, IMoniker*, REFIID, IUn | 1285 HRESULT IMoniker_BindToStorage_Stub(IMoniker, IBindCtx, IMoniker, REFIID, IUnkno 1286 HRESULT IEnumString_Next_Proxy(IEnumString*, ULONG, LPCSTR*, ULONG*); | 1286 HRESULT IEnumString_Next_Proxy(IEnumString, ULONG, LPCSTR*, ULONG*); 1287 HRESULT IEnumString_Next_Stub(IEnumString*, ULONG, LPCSTR*, ULONG*); | 1287 HRESULT IEnumString_Next_Stub(IEnumString, ULONG, LPCSTR*, ULONG*); 1288 HRESULT IStream_Read_Proxy(IStream*, void*, ULONG, ULONG*); | 1288 HRESULT IStream_Read_Proxy(IStream, void*, ULONG, ULONG*); 1289 HRESULT IStream_Read_Stub(IStream*, BYTE*, ULONG, ULONG*); | 1289 HRESULT IStream_Read_Stub(IStream, BYTE*, ULONG, ULONG*); 1290 HRESULT IStream_Write_Proxy(IStream*, void*, ULONG, ULONG*); | 1290 HRESULT IStream_Write_Proxy(IStream, void*, ULONG, ULONG*); 1291 HRESULT IStream_Write_Stub(IStream*, BYTE*, ULONG, ULONG*); | 1291 HRESULT IStream_Write_Stub(IStream, BYTE*, ULONG, ULONG*); 1292 HRESULT IStream_Seek_Proxy(IStream*, LARGE_INTEGER, DWORD, ULARGE_INTEGER*); | 1292 HRESULT IStream_Seek_Proxy(IStream, LARGE_INTEGER, DWORD, ULARGE_INTEGER*); 1293 HRESULT IStream_Seek_Stub(IStream*, LARGE_INTEGER, DWORD, ULARGE_INTEGER*); | 1293 HRESULT IStream_Seek_Stub(IStream, LARGE_INTEGER, DWORD, ULARGE_INTEGER*); 1294 HRESULT IStream_CopyTo_Proxy(IStream*, IStream*, ULARGE_INTEGER, ULARGE_INTEGER* | 1294 HRESULT IStream_CopyTo_Proxy(IStream, IStream, ULARGE_INTEGER, ULARGE_INTEGER*, 1295 HRESULT IStream_CopyTo_Stub(IStream*, IStream*, ULARGE_INTEGER, ULARGE_INTEGER*, | 1295 HRESULT IStream_CopyTo_Stub(IStream, IStream, ULARGE_INTEGER, ULARGE_INTEGER*, U 1296 HRESULT IEnumSTATSTG_Next_Proxy(IEnumSTATSTG*, ULONG, STATSTG*, ULONG*); | 1296 HRESULT IEnumSTATSTG_Next_Proxy(IEnumSTATSTG, ULONG, STATSTG*, ULONG*); 1297 HRESULT IEnumSTATSTG_Next_Stub(IEnumSTATSTG*, ULONG, STATSTG*, ULONG*); | 1297 HRESULT IEnumSTATSTG_Next_Stub(IEnumSTATSTG, ULONG, STATSTG*, ULONG*); 1298 HRESULT IStorage_OpenStream_Proxy(IStorage*, OLECHAR*, void*, DWORD, DWORD, IStr | 1298 HRESULT IStorage_OpenStream_Proxy(IStorage, OLECHAR*, void*, DWORD, DWORD, IStre 1299 HRESULT IStorage_OpenStream_Stub(IStorage*, OLECHAR*, uint, BYTE*, DWORD, DWORD, | 1299 HRESULT IStorage_OpenStream_Stub(IStorage, OLECHAR*, uint, BYTE*, DWORD, DWORD, 1300 HRESULT IStorage_EnumElements_Proxy(IStorage*, DWORD, void*, DWORD, IEnumSTATSTG | 1300 HRESULT IStorage_EnumElements_Proxy(IStorage, DWORD, void*, DWORD, IEnumSTATSTG* 1301 HRESULT IStorage_EnumElements_Stub(IStorage*, DWORD, uint, BYTE*, DWORD, IEnumST | 1301 HRESULT IStorage_EnumElements_Stub(IStorage, DWORD, uint, BYTE*, DWORD, IEnumSTA 1302 HRESULT ILockBytes_ReadAt_Proxy(ILockBytes*, ULARGE_INTEGER, void*, ULONG, ULONG | 1302 HRESULT ILockBytes_ReadAt_Proxy(ILockBytes, ULARGE_INTEGER, void*, ULONG, ULONG* 1303 HRESULT ILockBytes_ReadAt_Stub(ILockBytes*, ULARGE_INTEGER, BYTE*, ULONG, ULONG* | 1303 HRESULT ILockBytes_ReadAt_Stub(ILockBytes, ULARGE_INTEGER, BYTE*, ULONG, ULONG*) 1304 HRESULT ILockBytes_WriteAt_Proxy(ILockBytes*, ULARGE_INTEGER, CPtr!(void), ULONG | 1304 HRESULT ILockBytes_WriteAt_Proxy(ILockBytes, ULARGE_INTEGER, const(void)*, ULONG 1305 HRESULT ILockBytes_WriteAt_Stub(ILockBytes*, ULARGE_INTEGER, BYTE*, ULONG, ULONG | 1305 HRESULT ILockBytes_WriteAt_Stub(ILockBytes, ULARGE_INTEGER, BYTE*, ULONG, ULONG* 1306 } 1306 } 1307 +/ 1307 +/

Modified src/win32/ocidl.d from [cdcc4f883bee1256] to [1854c0f4d6ff3178].

26 // TODO: 26 // TODO: 27 //private import win32.servprov; // for IServiceProvider 27 //private import win32.servprov; // for IServiceProvider 28 // private import win32.urlmon; // for IBindHost. This is not included in MinGW. 28 // private import win32.urlmon; // for IBindHost. This is not included in MinGW. 29 29 30 // win32.urlmon should contain: 30 // win32.urlmon should contain: 31 interface IBindHost : IUnknown 31 interface IBindHost : IUnknown 32 { 32 { 33 HRESULT CreateMoniker(LPOLESTR szName, IBindCtx* pBC, IMoniker** ppmk, D | 33 HRESULT CreateMoniker(LPOLESTR szName, IBindCtx pBC, IMoniker* ppmk, DWO 34 HRESULT MonikerBindToObject(IMoniker* pMk, IBindCtx* pBC, IBindStatusCal | 34 HRESULT MonikerBindToObject(IMoniker pMk, IBindCtx pBC, IBindStatusCallb 35 HRESULT MonikerBindToStorage(IMoniker* pMk, IBindCtx* pBC, IBindStatusCa | 35 HRESULT MonikerBindToStorage(IMoniker pMk, IBindCtx pBC, IBindStatusCall 36 } 36 } 37 */ 37 */ 38 38 39 39 40 40 41 41 42 //[Yes] #ifndef OLE2ANSI 42 //[Yes] #ifndef OLE2ANSI ................................................................................................................................................................................ 89 QACONTAINER_AUTOCLIP = 32, 89 QACONTAINER_AUTOCLIP = 32, 90 QACONTAINER_MESSAGEREFLECT = 64, 90 QACONTAINER_MESSAGEREFLECT = 64, 91 QACONTAINER_SUPPORTSMNEMONICS = 128 91 QACONTAINER_SUPPORTSMNEMONICS = 128 92 } 92 } 93 93 94 struct QACONTAINER { 94 struct QACONTAINER { 95 ULONG cbSize = this.sizeof; 95 ULONG cbSize = this.sizeof; 96 IOleClientSite* pClientSite; | 96 IOleClientSite pClientSite; 97 IAdviseSinkEx* pAdviseSink; | 97 IAdviseSinkEx pAdviseSink; 98 IPropertyNotifySink* pPropertyNotifySink; | 98 IPropertyNotifySink pPropertyNotifySink; 99 IUnknown* pUnkEventSink; | 99 IUnknown pUnkEventSink; 100 DWORD dwAmbientFlags; 100 DWORD dwAmbientFlags; 101 OLE_COLOR colorFore; 101 OLE_COLOR colorFore; 102 OLE_COLOR colorBack; 102 OLE_COLOR colorBack; 103 IFont* pFont; | 103 IFont pFont; 104 IOleUndoManager* pUndoMgr; | 104 IOleUndoManager pUndoMgr; 105 DWORD dwAppearance; 105 DWORD dwAppearance; 106 LONG lcid; 106 LONG lcid; 107 HPALETTE hpal; 107 HPALETTE hpal; 108 IBindHost* pBindHost; | 108 IBindHost pBindHost; 109 IOleControlSite* pOleControlSite; | 109 IOleControlSite pOleControlSite; 110 IServiceProvider* pServiceProvider; | 110 IServiceProvider pServiceProvider; 111 } 111 } 112 112 113 struct QACONTROL { 113 struct QACONTROL { 114 ULONG cbSize = this.sizeof; 114 ULONG cbSize = this.sizeof; 115 DWORD dwMiscStatus; 115 DWORD dwMiscStatus; 116 DWORD dwViewStatus; 116 DWORD dwViewStatus; 117 DWORD dwEventCookie; 117 DWORD dwEventCookie; ................................................................................................................................................................................ 208 alias IPropertyBag LPPROPERTYBAG; 208 alias IPropertyBag LPPROPERTYBAG; 209 209 210 interface IPropertyBag2 : IUnknown { 210 interface IPropertyBag2 : IUnknown { 211 HRESULT Read(ULONG, PROPBAG2*, LPERRORLOG, VARIANT*, HRESULT*); 211 HRESULT Read(ULONG, PROPBAG2*, LPERRORLOG, VARIANT*, HRESULT*); 212 HRESULT Write(ULONG, PROPBAG2*, VARIANT*); 212 HRESULT Write(ULONG, PROPBAG2*, VARIANT*); 213 HRESULT CountProperties(ULONG*); 213 HRESULT CountProperties(ULONG*); 214 HRESULT GetPropertyInfo(ULONG, ULONG, PROPBAG2*, ULONG*); 214 HRESULT GetPropertyInfo(ULONG, ULONG, PROPBAG2*, ULONG*); 215 HRESULT LoadObject(LPCOLESTR, DWORD, IUnknown*, LPERRORLOG); | 215 HRESULT LoadObject(LPCOLESTR, DWORD, IUnknown, LPERRORLOG); 216 } 216 } 217 alias IPropertyBag2 LPPROPERTYBAG2; 217 alias IPropertyBag2 LPPROPERTYBAG2; 218 218 219 interface IPersistPropertyBag : IPersist { 219 interface IPersistPropertyBag : IPersist { 220 HRESULT InitNew(); 220 HRESULT InitNew(); 221 HRESULT Load(LPPROPERTYBAG, LPERRORLOG); 221 HRESULT Load(LPPROPERTYBAG, LPERRORLOG); 222 HRESULT Save(LPPROPERTYBAG, BOOL, BOOL); 222 HRESULT Save(LPPROPERTYBAG, BOOL, BOOL); ................................................................................................................................................................................ 269 HRESULT Reset(); 269 HRESULT Reset(); 270 HRESULT Clone(LPENUMCONNECTIONPOINTS*); 270 HRESULT Clone(LPENUMCONNECTIONPOINTS*); 271 } 271 } 272 alias IEnumConnectionPoints LPENUMCONNECTIONPOINTS; 272 alias IEnumConnectionPoints LPENUMCONNECTIONPOINTS; 273 273 274 interface IConnectionPoint : IUnknown { 274 interface IConnectionPoint : IUnknown { 275 HRESULT GetConnectionInterface(IID*); 275 HRESULT GetConnectionInterface(IID*); 276 HRESULT GetConnectionPointContainer(IConnectionPointContainer**); | 276 HRESULT GetConnectionPointContainer(IConnectionPointContainer*); 277 HRESULT Advise(LPUNKNOWN, PDWORD); 277 HRESULT Advise(LPUNKNOWN, PDWORD); 278 HRESULT Unadvise(DWORD); 278 HRESULT Unadvise(DWORD); 279 HRESULT EnumConnections(LPENUMCONNECTIONS*); 279 HRESULT EnumConnections(LPENUMCONNECTIONS*); 280 } 280 } 281 alias IConnectionPoint LPCONNECTIONPOINT; 281 alias IConnectionPoint LPCONNECTIONPOINT; 282 282 283 interface IEnumConnections : IUnknown { 283 interface IEnumConnections : IUnknown { ................................................................................................................................................................................ 346 HRESULT get_Strikethrough(BOOL*); 346 HRESULT get_Strikethrough(BOOL*); 347 HRESULT put_Strikethrough(BOOL); 347 HRESULT put_Strikethrough(BOOL); 348 HRESULT get_Weight(short*); 348 HRESULT get_Weight(short*); 349 HRESULT put_Weight(short); 349 HRESULT put_Weight(short); 350 HRESULT get_Charset(short*); 350 HRESULT get_Charset(short*); 351 HRESULT put_Charset(short); 351 HRESULT put_Charset(short); 352 HRESULT get_hFont(HFONT*); 352 HRESULT get_hFont(HFONT*); 353 HRESULT Clone(IFont**); | 353 HRESULT Clone(IFont*); 354 HRESULT IsEqual(IFont*); | 354 HRESULT IsEqual(IFont); 355 HRESULT SetRatio(int, int); 355 HRESULT SetRatio(int, int); 356 HRESULT QueryTextMetrics(LPTEXTMETRICOLE); 356 HRESULT QueryTextMetrics(LPTEXTMETRICOLE); 357 HRESULT AddRefHfont(HFONT); 357 HRESULT AddRefHfont(HFONT); 358 HRESULT ReleaseHfont(HFONT); 358 HRESULT ReleaseHfont(HFONT); 359 HRESULT SetHdc(HDC); 359 HRESULT SetHdc(HDC); 360 } 360 } 361 alias IFont LPFONT; 361 alias IFont LPFONT; ................................................................................................................................................................................ 388 interface IOleInPlaceSiteEx : IOleInPlaceSite { 388 interface IOleInPlaceSiteEx : IOleInPlaceSite { 389 HRESULT OnInPlaceActivateEx(BOOL*, DWORD); 389 HRESULT OnInPlaceActivateEx(BOOL*, DWORD); 390 HRESULT OnInPlaceDeactivateEx(BOOL); 390 HRESULT OnInPlaceDeactivateEx(BOOL); 391 HRESULT RequestUIActivate(); 391 HRESULT RequestUIActivate(); 392 } 392 } 393 393 394 interface IObjectWithSite : IUnknown { 394 interface IObjectWithSite : IUnknown { 395 HRESULT SetSite(IUnknown*); | 395 HRESULT SetSite(IUnknown); 396 HRESULT GetSite(REFIID, void**); 396 HRESULT GetSite(REFIID, void**); 397 } 397 } 398 398 399 interface IOleInPlaceSiteWindowless : IOleInPlaceSiteEx { 399 interface IOleInPlaceSiteWindowless : IOleInPlaceSiteEx { 400 HRESULT CanWindowlessActivate(); 400 HRESULT CanWindowlessActivate(); 401 HRESULT GetCapture(); 401 HRESULT GetCapture(); 402 HRESULT SetCapture(BOOL); 402 HRESULT SetCapture(BOOL); ................................................................................................................................................................................ 410 HRESULT AdjustRect(LPCRECT); 410 HRESULT AdjustRect(LPCRECT); 411 HRESULT OnDefWindowMessage(UINT, WPARAM, LPARAM, LRESULT*); 411 HRESULT OnDefWindowMessage(UINT, WPARAM, LPARAM, LRESULT*); 412 } 412 } 413 413 414 interface IAdviseSinkEx : IUnknown { 414 interface IAdviseSinkEx : IUnknown { 415 void OnDataChange(FORMATETC*, STGMEDIUM*); 415 void OnDataChange(FORMATETC*, STGMEDIUM*); 416 void OnViewChange(DWORD, LONG); 416 void OnViewChange(DWORD, LONG); 417 void OnRename(IMoniker*); | 417 void OnRename(IMoniker); 418 void OnSave(); 418 void OnSave(); 419 void OnClose(); 419 void OnClose(); 420 HRESULT OnViewStatusChange(DWORD); 420 HRESULT OnViewStatusChange(DWORD); 421 } 421 } 422 422 423 interface IPointerInactive : IUnknown { 423 interface IPointerInactive : IUnknown { 424 HRESULT GetActivationPolicy(DWORD*); 424 HRESULT GetActivationPolicy(DWORD*); ................................................................................................................................................................................ 430 HRESULT Do(LPOLEUNDOMANAGER); 430 HRESULT Do(LPOLEUNDOMANAGER); 431 HRESULT GetDescription(BSTR*); 431 HRESULT GetDescription(BSTR*); 432 HRESULT GetUnitType(CLSID*, LONG*); 432 HRESULT GetUnitType(CLSID*, LONG*); 433 HRESULT OnNextAdd(); 433 HRESULT OnNextAdd(); 434 } 434 } 435 435 436 interface IOleParentUndoUnit : IOleUndoUnit { 436 interface IOleParentUndoUnit : IOleUndoUnit { 437 HRESULT Open(IOleParentUndoUnit*); | 437 HRESULT Open(IOleParentUndoUnit); 438 HRESULT Close(IOleParentUndoUnit*, BOOL); | 438 HRESULT Close(IOleParentUndoUnit, BOOL); 439 HRESULT Add(IOleUndoUnit*); | 439 HRESULT Add(IOleUndoUnit); 440 HRESULT FindUnit(IOleUndoUnit*); | 440 HRESULT FindUnit(IOleUndoUnit); 441 HRESULT GetParentState(DWORD*); 441 HRESULT GetParentState(DWORD*); 442 } 442 } 443 443 444 interface IEnumOleUndoUnits : IUnknown { 444 interface IEnumOleUndoUnits : IUnknown { 445 HRESULT Next(ULONG, IOleUndoUnit**, ULONG*); | 445 HRESULT Next(ULONG, IOleUndoUnit*, ULONG*); 446 HRESULT Skip(ULONG); 446 HRESULT Skip(ULONG); 447 HRESULT Reset(); 447 HRESULT Reset(); 448 HRESULT Clone(IEnumOleUndoUnits**); | 448 HRESULT Clone(IEnumOleUndoUnits*); 449 } 449 } 450 450 451 interface IOleUndoManager : IUnknown { 451 interface IOleUndoManager : IUnknown { 452 HRESULT Open(IOleParentUndoUnit*); | 452 HRESULT Open(IOleParentUndoUnit); 453 HRESULT Close(IOleParentUndoUnit*, BOOL); | 453 HRESULT Close(IOleParentUndoUnit, BOOL); 454 HRESULT Add(IOleUndoUnit*); | 454 HRESULT Add(IOleUndoUnit); 455 HRESULT GetOpenParentState(DWORD*); 455 HRESULT GetOpenParentState(DWORD*); 456 HRESULT DiscardFrom(IOleUndoUnit*); | 456 HRESULT DiscardFrom(IOleUndoUnit); 457 HRESULT UndoTo(IOleUndoUnit*); | 457 HRESULT UndoTo(IOleUndoUnit); 458 HRESULT RedoTo(IOleUndoUnit*); | 458 HRESULT RedoTo(IOleUndoUnit); 459 HRESULT EnumUndoable(IEnumOleUndoUnits**); | 459 HRESULT EnumUndoable(IEnumOleUndoUnits*); 460 HRESULT EnumRedoable(IEnumOleUndoUnits**); | 460 HRESULT EnumRedoable(IEnumOleUndoUnits*); 461 HRESULT GetLastUndoDescription(BSTR*); 461 HRESULT GetLastUndoDescription(BSTR*); 462 HRESULT GetLastRedoDescription(BSTR*); 462 HRESULT GetLastRedoDescription(BSTR*); 463 HRESULT Enable(BOOL); 463 HRESULT Enable(BOOL); 464 } 464 } 465 alias IOleUndoManager LPOLEUNDOMANAGER; 465 alias IOleUndoManager LPOLEUNDOMANAGER; 466 466 467 interface IQuickActivate : IUnknown { 467 interface IQuickActivate : IUnknown { 468 HRESULT QuickActivate(QACONTAINER*, QACONTROL*); 468 HRESULT QuickActivate(QACONTAINER*, QACONTROL*); 469 HRESULT SetContentExtent(LPSIZEL); 469 HRESULT SetContentExtent(LPSIZEL); 470 HRESULT GetContentExtent(LPSIZEL); 470 HRESULT GetContentExtent(LPSIZEL); 471 } 471 }

Modified src/win32/odbcinst.d from [59befc4756b0b474] to [824e560d2c5ef397].

Modified src/win32/ole.d from [e2cda4dadcb42922] to [40f31eaf30616640].

150 oleupdate_onsave, 150 oleupdate_onsave, 151 oleupdate_oncall, 151 oleupdate_oncall, 152 // #ifdef OLE_INTERNAL 152 // #ifdef OLE_INTERNAL 153 oleupdate_onclose 153 oleupdate_onclose 154 // #endif 154 // #endif 155 } 155 } 156 156 157 alias HANDLE HOBJECT; | 157 mixin DECLARE_HANDLE!("HOBJECT"); 158 alias LONG LHSERVER, LHCLIENTDOC, LHSERVERDOC; 158 alias LONG LHSERVER, LHCLIENTDOC, LHSERVERDOC; 159 159 160 struct OLEOBJECTVTBL { 160 struct OLEOBJECTVTBL { 161 extern (Windows) { 161 extern (Windows) { 162 void* function(LPOLEOBJECT, OLE_LPCSTR) QueryProtocol; 162 void* function(LPOLEOBJECT, OLE_LPCSTR) QueryProtocol; 163 OLESTATUS function(LPOLEOBJECT) Release; 163 OLESTATUS function(LPOLEOBJECT) Release; 164 OLESTATUS function(LPOLEOBJECT, BOOL) Show; 164 OLESTATUS function(LPOLEOBJECT, BOOL) Show; ................................................................................................................................................................................ 250 OLE_LPCSTR, LPOLESERVERDOC*) CreateFromTemplate; 250 OLE_LPCSTR, LPOLESERVERDOC*) CreateFromTemplate; 251 OLESTATUS function(LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, 251 OLESTATUS function(LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, 252 LPOLESERVERDOC*) Edit; 252 LPOLESERVERDOC*) Edit; 253 OLESTATUS function(LPOLESERVER) Exit; 253 OLESTATUS function(LPOLESERVER) Exit; 254 OLESTATUS function(LPOLESERVER) Release; 254 OLESTATUS function(LPOLESERVER) Release; 255 OLESTATUS function(LPOLESERVER, HGLOBAL) Execute; 255 OLESTATUS function(LPOLESERVER, HGLOBAL) Execute; 256 } 256 } 257 alias OLESERVERVTBL* LPOLESERVERVTBL; | 257 alias TypeDef!(OLESERVERVTBL*) LPOLESERVERVTBL; 258 258 259 struct OLESERVER { 259 struct OLESERVER { 260 LPOLESERVERVTBL lpvtbl; 260 LPOLESERVERVTBL lpvtbl; 261 } 261 } 262 alias OLESERVER* LPOLESERVER; 262 alias OLESERVER* LPOLESERVER; 263 263 264 struct OLESERVERDOCVTBL { 264 struct OLESERVERDOCVTBL { ................................................................................................................................................................................ 284 OLESTATUS OleRelease(LPOLEOBJECT); 284 OLESTATUS OleRelease(LPOLEOBJECT); 285 OLESTATUS OleSaveToStream(LPOLEOBJECT, LPOLESTREAM); 285 OLESTATUS OleSaveToStream(LPOLEOBJECT, LPOLESTREAM); 286 OLESTATUS OleEqual(LPOLEOBJECT, LPOLEOBJECT); 286 OLESTATUS OleEqual(LPOLEOBJECT, LPOLEOBJECT); 287 OLESTATUS OleCopyToClipboard(LPOLEOBJECT); 287 OLESTATUS OleCopyToClipboard(LPOLEOBJECT); 288 OLESTATUS OleSetHostNames(LPOLEOBJECT, LPCSTR, LPCSTR); 288 OLESTATUS OleSetHostNames(LPOLEOBJECT, LPCSTR, LPCSTR); 289 OLESTATUS OleSetTargetDevice(LPOLEOBJECT, HGLOBAL); 289 OLESTATUS OleSetTargetDevice(LPOLEOBJECT, HGLOBAL); 290 OLESTATUS OleSetBounds(LPOLEOBJECT, LPCRECT); 290 OLESTATUS OleSetBounds(LPOLEOBJECT, LPCRECT); 291 OLESTATUS OleSetColorScheme(LPOLEOBJECT, CPtr!(LOGPALETTE)); | 291 OLESTATUS OleSetColorScheme(LPOLEOBJECT, const(LOGPALETTE)*); 292 OLESTATUS OleQueryBounds(LPOLEOBJECT, RECT*); 292 OLESTATUS OleQueryBounds(LPOLEOBJECT, RECT*); 293 OLESTATUS OleQuerySize(LPOLEOBJECT, DWORD*); 293 OLESTATUS OleQuerySize(LPOLEOBJECT, DWORD*); 294 OLESTATUS OleDraw(LPOLEOBJECT, HDC, LPCRECT, LPCRECT, HDC); 294 OLESTATUS OleDraw(LPOLEOBJECT, HDC, LPCRECT, LPCRECT, HDC); 295 OLESTATUS OleQueryOpen(LPOLEOBJECT); 295 OLESTATUS OleQueryOpen(LPOLEOBJECT); 296 OLESTATUS OleActivate(LPOLEOBJECT, UINT, BOOL, BOOL, HWND, LPCRECT); 296 OLESTATUS OleActivate(LPOLEOBJECT, UINT, BOOL, BOOL, HWND, LPCRECT); 297 OLESTATUS OleExecute(LPOLEOBJECT, HGLOBAL, UINT); 297 OLESTATUS OleExecute(LPOLEOBJECT, HGLOBAL, UINT); 298 OLESTATUS OleClose(LPOLEOBJECT); 298 OLESTATUS OleClose(LPOLEOBJECT);

Modified src/win32/ole2.d from [d7dba25775579154] to [068170c0bbf5e02d].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.ole2; 10 module win32.ole2; 11 pragma(lib, "ole32.lib"); | 11 pragma(lib, "ole32"); 12 12 13 public import win32.basetyps, win32.objbase, win32.oleauto, win32.olectlid, 13 public import win32.basetyps, win32.objbase, win32.oleauto, win32.olectlid, 14 win32.oleidl, win32.unknwn, win32.winerror, win32.uuid; 14 win32.oleidl, win32.unknwn, win32.winerror, win32.uuid; 15 private import win32.objfwd, win32.objidl, win32.windef, win32.wtypes; 15 private import win32.objfwd, win32.objidl, win32.windef, win32.wtypes; 16 private import win32.winuser; // for LPMSG 16 private import win32.winuser; // for LPMSG 17 17 18 const E_DRAW = VIEW_E_DRAW; 18 const E_DRAW = VIEW_E_DRAW; ................................................................................................................................................................................ 39 LPOLESTREAMVTBL lpstbl; 39 LPOLESTREAMVTBL lpstbl; 40 } 40 } 41 alias OLESTREAM* LPOLESTREAM; 41 alias OLESTREAM* LPOLESTREAM; 42 42 43 extern (Windows) { 43 extern (Windows) { 44 struct OLESTREAMVTBL { 44 struct OLESTREAMVTBL { 45 DWORD function (LPOLESTREAM, void*, DWORD) Get; 45 DWORD function (LPOLESTREAM, void*, DWORD) Get; 46 DWORD function (LPOLESTREAM, CPtr!(void), DWORD) Put; | 46 DWORD function (LPOLESTREAM, const(void)*, DWORD) Put; 47 } 47 } 48 } 48 } 49 alias OLESTREAMVTBL* LPOLESTREAMVTBL; 49 alias OLESTREAMVTBL* LPOLESTREAMVTBL; 50 50 51 extern (Windows) { 51 extern (Windows) { 52 HRESULT CreateDataAdviseHolder(LPDATAADVISEHOLDER*); 52 HRESULT CreateDataAdviseHolder(LPDATAADVISEHOLDER*); 53 DWORD OleBuildVersion(); 53 DWORD OleBuildVersion(); ................................................................................................................................................................................ 98 HGLOBAL OleGetIconOfFile(LPOLESTR, BOOL); 98 HGLOBAL OleGetIconOfFile(LPOLESTR, BOOL); 99 HGLOBAL OleGetIconOfClass(REFCLSID, LPOLESTR, BOOL); 99 HGLOBAL OleGetIconOfClass(REFCLSID, LPOLESTR, BOOL); 100 HGLOBAL OleMetafilePictFromIconAndLabel(HICON, LPOLESTR, LPOLESTR, UINT) 100 HGLOBAL OleMetafilePictFromIconAndLabel(HICON, LPOLESTR, LPOLESTR, UINT) 101 HRESULT OleRegGetUserType(REFCLSID, DWORD, LPOLESTR*); 101 HRESULT OleRegGetUserType(REFCLSID, DWORD, LPOLESTR*); 102 HRESULT OleRegGetMiscStatus(REFCLSID, DWORD, DWORD*); 102 HRESULT OleRegGetMiscStatus(REFCLSID, DWORD, DWORD*); 103 HRESULT OleRegEnumFormatEtc (REFCLSID, DWORD, LPENUMFORMATETC*); 103 HRESULT OleRegEnumFormatEtc (REFCLSID, DWORD, LPENUMFORMATETC*); 104 HRESULT OleRegEnumVerbs (REFCLSID, LPENUMOLEVERB*); 104 HRESULT OleRegEnumVerbs (REFCLSID, LPENUMOLEVERB*); 105 HRESULT OleConvertOLESTREAMToIStorage(LPOLESTREAM, LPSTORAGE, CPtr!(DVTA | 105 HRESULT OleConvertOLESTREAMToIStorage(LPOLESTREAM, LPSTORAGE, const(DVTA 106 HRESULT OleConvertIStorageToOLESTREAM(LPSTORAGE, LPOLESTREAM); 106 HRESULT OleConvertIStorageToOLESTREAM(LPSTORAGE, LPOLESTREAM); 107 HRESULT GetHGlobalFromILockBytes(LPLOCKBYTES, HGLOBAL*); 107 HRESULT GetHGlobalFromILockBytes(LPLOCKBYTES, HGLOBAL*); 108 HRESULT CreateILockBytesOnHGlobal(HGLOBAL, BOOL, LPLOCKBYTES*); 108 HRESULT CreateILockBytesOnHGlobal(HGLOBAL, BOOL, LPLOCKBYTES*); 109 HRESULT GetHGlobalFromStream(LPSTREAM, HGLOBAL*); 109 HRESULT GetHGlobalFromStream(LPSTREAM, HGLOBAL*); 110 HRESULT CreateStreamOnHGlobal(HGLOBAL, BOOL, LPSTREAM*); 110 HRESULT CreateStreamOnHGlobal(HGLOBAL, BOOL, LPSTREAM*); 111 HRESULT OleDoAutoConvert(LPSTORAGE, LPCLSID); 111 HRESULT OleDoAutoConvert(LPSTORAGE, LPCLSID); 112 HRESULT OleGetAutoConvert(REFCLSID, LPCLSID); 112 HRESULT OleGetAutoConvert(REFCLSID, LPCLSID); 113 HRESULT OleSetAutoConvert(REFCLSID, REFCLSID); 113 HRESULT OleSetAutoConvert(REFCLSID, REFCLSID); 114 HRESULT GetConvertStg(LPSTORAGE); 114 HRESULT GetConvertStg(LPSTORAGE); 115 HRESULT SetConvertStg(LPSTORAGE, BOOL); 115 HRESULT SetConvertStg(LPSTORAGE, BOOL); 116 HRESULT OleConvertIStorageToOLESTREAMEx(LPSTORAGE, CLIPFORMAT, LONG, LON 116 HRESULT OleConvertIStorageToOLESTREAMEx(LPSTORAGE, CLIPFORMAT, LONG, LON 117 HRESULT OleConvertOLESTREAMToIStorageEx(LPOLESTREAM, LPSTORAGE, CLIPFORM 117 HRESULT OleConvertOLESTREAMToIStorageEx(LPOLESTREAM, LPSTORAGE, CLIPFORM 118 } 118 }

Modified src/win32/ole2ver.d from [6b6f7e7e710daccd] to [9d6b17791d89139e].

Modified src/win32/oleacc.d from [1a7488ae8c3326a5] to [dbfc227161dd27d8].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.oleacc; 10 module win32.oleacc; 11 pragma(lib, "oleacc.lib"); | 11 pragma(lib, "oleacc"); 12 12 13 private import win32.basetyps, win32.oaidl, win32.unknwn, win32.wtypes, 13 private import win32.basetyps, win32.oaidl, win32.unknwn, win32.wtypes, 14 win32.windef; 14 win32.windef; 15 15 16 enum { 16 enum { 17 DISPID_ACC_PARENT = -5000, 17 DISPID_ACC_PARENT = -5000, 18 DISPID_ACC_CHILDCOUNT = -5001, 18 DISPID_ACC_CHILDCOUNT = -5001, ................................................................................................................................................................................ 153 SELFLAG_REMOVESELECTION = 16 153 SELFLAG_REMOVESELECTION = 16 154 } 154 } 155 155 156 const SELFLAG_VALID = 0x0000001F; 156 const SELFLAG_VALID = 0x0000001F; 157 157 158 158 159 interface IAccessible : IDispatch { 159 interface IAccessible : IDispatch { 160 HRESULT get_accParent(IDispatch**); | 160 HRESULT get_accParent(IDispatch*); 161 HRESULT get_accChildCount(int*); 161 HRESULT get_accChildCount(int*); 162 HRESULT get_accChild(VARIANT, IDispatch **); | 162 HRESULT get_accChild(VARIANT, IDispatch*); 163 HRESULT get_accName(VARIANT, BSTR*); 163 HRESULT get_accName(VARIANT, BSTR*); 164 HRESULT get_accValue(VARIANT, BSTR*); 164 HRESULT get_accValue(VARIANT, BSTR*); 165 HRESULT get_accDescription(VARIANT, BSTR*); 165 HRESULT get_accDescription(VARIANT, BSTR*); 166 HRESULT get_accRole(VARIANT, VARIANT*); 166 HRESULT get_accRole(VARIANT, VARIANT*); 167 HRESULT get_accState(VARIANT, VARIANT*); 167 HRESULT get_accState(VARIANT, VARIANT*); 168 HRESULT get_accHelp(VARIANT, BSTR*); 168 HRESULT get_accHelp(VARIANT, BSTR*); 169 HRESULT get_accHelpTopic(BSTR*, VARIANT, int*); 169 HRESULT get_accHelpTopic(BSTR*, VARIANT, int*); ................................................................................................................................................................................ 178 HRESULT accHitTest(int, int, VARIANT*); 178 HRESULT accHitTest(int, int, VARIANT*); 179 HRESULT accDoDefaultAction(VARIANT); 179 HRESULT accDoDefaultAction(VARIANT); 180 180 181 HRESULT put_accName(VARIANT, BSTR); 181 HRESULT put_accName(VARIANT, BSTR); 182 HRESULT put_accValue(VARIANT, BSTR); 182 HRESULT put_accValue(VARIANT, BSTR); 183 } 183 } 184 184 185 alias IAccessible* LPACCESSIBLE; | 185 alias IAccessible LPACCESSIBLE; 186 186 187 extern (Windows) { 187 extern (Windows) { 188 HRESULT AccessibleChildren(IAccessible*, LONG, LONG, VARIANT*, LONG*); | 188 HRESULT AccessibleChildren(IAccessible, LONG, LONG, VARIANT*, LONG*); 189 HRESULT AccessibleObjectFromEvent(HWND, DWORD, DWORD, IAccessible*, VARI | 189 HRESULT AccessibleObjectFromEvent(HWND, DWORD, DWORD, IAccessible, VARIA 190 HRESULT AccessibleObjectFromPoint(POINT, IAccessible**, VARIANT*); | 190 HRESULT AccessibleObjectFromPoint(POINT, IAccessible*, VARIANT*); 191 HRESULT AccessibleObjectFromWindow(HWND, DWORD, REFIID, void**); 191 HRESULT AccessibleObjectFromWindow(HWND, DWORD, REFIID, void**); 192 HRESULT CreateStdAccessibleObject(HWND, LONG, REFIID, void**); 192 HRESULT CreateStdAccessibleObject(HWND, LONG, REFIID, void**); 193 HRESULT CreateStdAccessibleProxyA(HWND, LPCSTR, LONG, REFIID, void**); 193 HRESULT CreateStdAccessibleProxyA(HWND, LPCSTR, LONG, REFIID, void**); 194 HRESULT CreateStdAccessibleProxyW(HWND, LPCWSTR, LONG, REFIID, void**); 194 HRESULT CreateStdAccessibleProxyW(HWND, LPCWSTR, LONG, REFIID, void**); 195 195 196 void GetOleaccVersionInfo(DWORD*, DWORD*); 196 void GetOleaccVersionInfo(DWORD*, DWORD*); 197 UINT GetRoleTextA(DWORD, LPSTR, UINT); 197 UINT GetRoleTextA(DWORD, LPSTR, UINT); 198 UINT GetRoleTextW(DWORD, LPWSTR, UINT); 198 UINT GetRoleTextW(DWORD, LPWSTR, UINT); 199 UINT GetStateTextA(DWORD, LPSTR, UINT); 199 UINT GetStateTextA(DWORD, LPSTR, UINT); 200 UINT GetStateTextW(DWORD, LPWSTR, UINT); 200 UINT GetStateTextW(DWORD, LPWSTR, UINT); 201 LRESULT LresultFromObject(REFIID, WPARAM, LPUNKNOWN); 201 LRESULT LresultFromObject(REFIID, WPARAM, LPUNKNOWN); 202 HRESULT ObjectFromLresult(LRESULT, REFIID, WPARAM, void**); 202 HRESULT ObjectFromLresult(LRESULT, REFIID, WPARAM, void**); 203 HRESULT WindowFromAccessibleObject(IAccessible*, HWND*); | 203 HRESULT WindowFromAccessibleObject(IAccessible, HWND*); 204 } 204 } 205 205 206 version(Unicode) { 206 version(Unicode) { 207 alias CreateStdAccessibleProxyW CreateStdAccessibleProxy; 207 alias CreateStdAccessibleProxyW CreateStdAccessibleProxy; 208 alias GetRoleTextW GetRoleText; 208 alias GetRoleTextW GetRoleText; 209 alias GetStateTextW GetStateText; 209 alias GetStateTextW GetStateText; 210 } else { 210 } else { 211 alias CreateStdAccessibleProxyA CreateStdAccessibleProxy; 211 alias CreateStdAccessibleProxyA CreateStdAccessibleProxy; 212 alias GetRoleTextA GetRoleText; 212 alias GetRoleTextA GetRoleText; 213 alias GetStateTextA GetStateText; 213 alias GetStateTextA GetStateText; 214 } 214 }

Modified src/win32/oleauto.d from [6e0e0dc09137eaf3] to [d49872cd6ba219cd].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.oleauto; 10 module win32.oleauto; 11 pragma(lib, "oleaut32.lib"); | 11 pragma(lib, "oleaut32"); 12 12 13 import win32.oaidl; 13 import win32.oaidl; 14 private import win32.basetyps, win32.unknwn, win32.windef, win32.wtypes; 14 private import win32.basetyps, win32.unknwn, win32.windef, win32.wtypes; 15 private import win32.winbase; // for SYSTEMTIME 15 private import win32.winbase; // for SYSTEMTIME 16 16 17 align(8): 17 align(8): 18 const STDOLE_MAJORVERNUM = 1; 18 const STDOLE_MAJORVERNUM = 1; ................................................................................................................................................................................ 216 deprecated { // not actually deprecated, but they aren't converted yet. 216 deprecated { // not actually deprecated, but they aren't converted yet. 217 // (will need to reinstate CreateTypeLib as well) 217 // (will need to reinstate CreateTypeLib as well) 218 interface ICreateTypeInfo {}; 218 interface ICreateTypeInfo {}; 219 interface ICreateTypeInfo2 {}; 219 interface ICreateTypeInfo2 {}; 220 interface ICreateTypeLib {}; 220 interface ICreateTypeLib {}; 221 interface ICreateTypeLib2 {}; 221 interface ICreateTypeLib2 {}; 222 222 223 alias ICreateTypeInfo* LPCREATETYPEINFO; | 223 alias ICreateTypeInfo LPCREATETYPEINFO; 224 alias ICreateTypeInfo2* LPCREATETYPEINFO2; | 224 alias ICreateTypeInfo2 LPCREATETYPEINFO2; 225 alias ICreateTypeLib* LPCREATETYPELIB; | 225 alias ICreateTypeLib LPCREATETYPELIB; 226 alias ICreateTypeLib2* LPCREATETYPELIB2; | 226 alias ICreateTypeLib2 LPCREATETYPELIB2; 227 } 227 } 228 228 229 extern (Windows) { 229 extern (Windows) { 230 BSTR SysAllocString(CPtr!(OLECHAR)); | 230 BSTR SysAllocString(const(OLECHAR)*); 231 int SysReAllocString(BSTR*, CPtr!(OLECHAR)); | 231 int SysReAllocString(BSTR*, const(OLECHAR)*); 232 BSTR SysAllocStringLen(CPtr!(OLECHAR), uint); | 232 BSTR SysAllocStringLen(const(OLECHAR)*, uint); 233 int SysReAllocStringLen(BSTR*, CPtr!(OLECHAR), uint); | 233 int SysReAllocStringLen(BSTR*, const(OLECHAR)*, uint); 234 void SysFreeString(BSTR); 234 void SysFreeString(BSTR); 235 uint SysStringLen(BSTR); 235 uint SysStringLen(BSTR); 236 uint SysStringByteLen(BSTR); 236 uint SysStringByteLen(BSTR); 237 BSTR SysAllocStringByteLen(CPtr!(char), uint); | 237 BSTR SysAllocStringByteLen(const(char)*, uint); 238 int DosDateTimeToVariantTime(ushort, ushort, double*); 238 int DosDateTimeToVariantTime(ushort, ushort, double*); 239 int VariantTimeToDosDateTime(double, ushort*, ushort*); 239 int VariantTimeToDosDateTime(double, ushort*, ushort*); 240 int VariantTimeToSystemTime(double, LPSYSTEMTIME); 240 int VariantTimeToSystemTime(double, LPSYSTEMTIME); 241 int SystemTimeToVariantTime(LPSYSTEMTIME, double*); 241 int SystemTimeToVariantTime(LPSYSTEMTIME, double*); 242 HRESULT VarDateFromUdate(UDATE*, ULONG, DATE*); 242 HRESULT VarDateFromUdate(UDATE*, ULONG, DATE*); 243 HRESULT VarDateFromUdateEx(UDATE*, LCID, ULONG, DATE*); 243 HRESULT VarDateFromUdateEx(UDATE*, LCID, ULONG, DATE*); 244 HRESULT VarUdateFromDate(DATE, ULONG, UDATE*); 244 HRESULT VarUdateFromDate(DATE, ULONG, UDATE*); ................................................................................................................................................................................ 261 HRESULT SafeArrayPutElement(SAFEARRAY*, int*, void*); 261 HRESULT SafeArrayPutElement(SAFEARRAY*, int*, void*); 262 HRESULT SafeArrayCopy(SAFEARRAY*, SAFEARRAY**); 262 HRESULT SafeArrayCopy(SAFEARRAY*, SAFEARRAY**); 263 HRESULT SafeArrayPtrOfIndex(SAFEARRAY*, int*, void**); 263 HRESULT SafeArrayPtrOfIndex(SAFEARRAY*, int*, void**); 264 SAFEARRAY* SafeArrayCreateVector(VARTYPE, LONG, ULONG); 264 SAFEARRAY* SafeArrayCreateVector(VARTYPE, LONG, ULONG); 265 SAFEARRAY* SafeArrayCreateVectorEx(VARTYPE, LONG, ULONG, LPVOID); 265 SAFEARRAY* SafeArrayCreateVectorEx(VARTYPE, LONG, ULONG, LPVOID); 266 HRESULT SafeArrayAllocDescriptorEx(VARTYPE, UINT, SAFEARRAY**); 266 HRESULT SafeArrayAllocDescriptorEx(VARTYPE, UINT, SAFEARRAY**); 267 HRESULT SafeArrayGetVartype(SAFEARRAY*, VARTYPE*); 267 HRESULT SafeArrayGetVartype(SAFEARRAY*, VARTYPE*); 268 HRESULT SafeArraySetRecordInfo(SAFEARRAY*, IRecordInfo*); | 268 HRESULT SafeArraySetRecordInfo(SAFEARRAY*, IRecordInfo); 269 HRESULT SafeArrayGetRecordInfo(SAFEARRAY*, IRecordInfo**); | 269 HRESULT SafeArrayGetRecordInfo(SAFEARRAY*, IRecordInfo*); 270 HRESULT SafeArraySetIID(SAFEARRAY*, REFGUID); 270 HRESULT SafeArraySetIID(SAFEARRAY*, REFGUID); 271 HRESULT SafeArrayGetIID(SAFEARRAY*, GUID*); 271 HRESULT SafeArrayGetIID(SAFEARRAY*, GUID*); 272 void VariantInit(VARIANTARG*); 272 void VariantInit(VARIANTARG*); 273 HRESULT VariantClear(VARIANTARG*); 273 HRESULT VariantClear(VARIANTARG*); 274 HRESULT VariantCopy(VARIANTARG*, VARIANTARG*); 274 HRESULT VariantCopy(VARIANTARG*, VARIANTARG*); 275 HRESULT VariantCopyInd(VARIANT*, VARIANTARG*); 275 HRESULT VariantCopyInd(VARIANT*, VARIANTARG*); 276 HRESULT VariantChangeType(VARIANTARG*, VARIANTARG*, ushort, VARTYPE); 276 HRESULT VariantChangeType(VARIANTARG*, VARIANTARG*, ushort, VARTYPE); ................................................................................................................................................................................ 354 HRESULT VarBoolFromR4(float, VARIANT_BOOL*); 354 HRESULT VarBoolFromR4(float, VARIANT_BOOL*); 355 HRESULT VarBoolFromR8(double, VARIANT_BOOL*); 355 HRESULT VarBoolFromR8(double, VARIANT_BOOL*); 356 HRESULT VarBoolFromDate(DATE, VARIANT_BOOL*); 356 HRESULT VarBoolFromDate(DATE, VARIANT_BOOL*); 357 HRESULT VarBoolFromCy(CY, VARIANT_BOOL*); 357 HRESULT VarBoolFromCy(CY, VARIANT_BOOL*); 358 HRESULT VarBoolFromStr(OLECHAR*, LCID, uint, VARIANT_BOOL*); 358 HRESULT VarBoolFromStr(OLECHAR*, LCID, uint, VARIANT_BOOL*); 359 HRESULT VarBoolFromDisp(LPDISPATCH, LCID, VARIANT_BOOL*); 359 HRESULT VarBoolFromDisp(LPDISPATCH, LCID, VARIANT_BOOL*); 360 HRESULT VarDecFromR8(double, DECIMAL*); 360 HRESULT VarDecFromR8(double, DECIMAL*); 361 ULONG LHashValOfNameSysA(SYSKIND, LCID, CPtr!(char)); | 361 ULONG LHashValOfNameSysA(SYSKIND, LCID, const(char)*); 362 ULONG LHashValOfNameSys(SYSKIND, LCID, CPtr!(OLECHAR)); | 362 ULONG LHashValOfNameSys(SYSKIND, LCID, const(OLECHAR)*); 363 HRESULT LoadTypeLib(CPtr!(OLECHAR), LPTYPELIB*); | 363 HRESULT LoadTypeLib(const(OLECHAR)*, LPTYPELIB*); 364 HRESULT LoadTypeLibEx(LPCOLESTR, REGKIND, LPTYPELIB*); 364 HRESULT LoadTypeLibEx(LPCOLESTR, REGKIND, LPTYPELIB*); 365 HRESULT LoadRegTypeLib(REFGUID, WORD, WORD, LCID, LPTYPELIB*); 365 HRESULT LoadRegTypeLib(REFGUID, WORD, WORD, LCID, LPTYPELIB*); 366 HRESULT QueryPathOfRegTypeLib(REFGUID, ushort, ushort, LCID, LPBSTR); 366 HRESULT QueryPathOfRegTypeLib(REFGUID, ushort, ushort, LCID, LPBSTR); 367 HRESULT RegisterTypeLib(LPTYPELIB, OLECHAR*, OLECHAR*); 367 HRESULT RegisterTypeLib(LPTYPELIB, OLECHAR*, OLECHAR*); 368 HRESULT UnRegisterTypeLib(REFGUID, WORD, WORD, LCID, SYSKIND); 368 HRESULT UnRegisterTypeLib(REFGUID, WORD, WORD, LCID, SYSKIND); 369 // not actually deprecated, but depends on unconverted ICreateTypeLib 369 // not actually deprecated, but depends on unconverted ICreateTypeLib 370 deprecated HRESULT CreateTypeLib(SYSKIND, CPtr!(OLECHAR), LPCREATETYPELI | 370 deprecated HRESULT CreateTypeLib(SYSKIND, const(OLECHAR)*, LPCREATETYPEL 371 HRESULT DispGetParam(DISPPARAMS*, UINT, VARTYPE, VARIANT*, UINT*); 371 HRESULT DispGetParam(DISPPARAMS*, UINT, VARTYPE, VARIANT*, UINT*); 372 HRESULT DispGetIDsOfNames(LPTYPEINFO, OLECHAR**, UINT, DISPID*); 372 HRESULT DispGetIDsOfNames(LPTYPEINFO, OLECHAR**, UINT, DISPID*); 373 HRESULT DispInvoke(void*, LPTYPEINFO, DISPID, WORD, DISPPARAMS*, VARIANT 373 HRESULT DispInvoke(void*, LPTYPEINFO, DISPID, WORD, DISPPARAMS*, VARIANT 374 HRESULT CreateDispTypeInfo(INTERFACEDATA*, LCID, LPTYPEINFO*); 374 HRESULT CreateDispTypeInfo(INTERFACEDATA*, LCID, LPTYPEINFO*); 375 HRESULT CreateStdDispatch(IUnknown*, void*, LPTYPEINFO, IUnknown**); | 375 HRESULT CreateStdDispatch(IUnknown, void*, LPTYPEINFO, IUnknown*); 376 HRESULT RegisterActiveObject(IUnknown*, REFCLSID, DWORD, DWORD*); | 376 HRESULT RegisterActiveObject(IUnknown, REFCLSID, DWORD, DWORD*); 377 HRESULT RevokeActiveObject(DWORD, void*); 377 HRESULT RevokeActiveObject(DWORD, void*); 378 HRESULT GetActiveObject(REFCLSID, void*, IUnknown**); | 378 HRESULT GetActiveObject(REFCLSID, void*, IUnknown*); 379 HRESULT SetErrorInfo(uint, LPERRORINFO); 379 HRESULT SetErrorInfo(uint, LPERRORINFO); 380 HRESULT GetErrorInfo(uint, LPERRORINFO*); 380 HRESULT GetErrorInfo(uint, LPERRORINFO*); 381 HRESULT CreateErrorInfo(LPCREATEERRORINFO*); 381 HRESULT CreateErrorInfo(LPCREATEERRORINFO*); 382 uint OaBuildVersion(); 382 uint OaBuildVersion(); 383 HRESULT VectorFromBstr (BSTR, SAFEARRAY**); 383 HRESULT VectorFromBstr (BSTR, SAFEARRAY**); 384 HRESULT BstrFromVector (SAFEARRAY*, BSTR*); 384 HRESULT BstrFromVector (SAFEARRAY*, BSTR*); 385 HRESULT VarParseNumFromStr(OLECHAR*, LCID, ULONG, NUMPARSE*, BYTE*); 385 HRESULT VarParseNumFromStr(OLECHAR*, LCID, ULONG, NUMPARSE*, BYTE*); ................................................................................................................................................................................ 400 HRESULT VarUI1FromI1(byte, BYTE*); 400 HRESULT VarUI1FromI1(byte, BYTE*); 401 HRESULT VarUI1FromUI2(USHORT, BYTE*); 401 HRESULT VarUI1FromUI2(USHORT, BYTE*); 402 HRESULT VarUI1FromUI4(ULONG, BYTE*); 402 HRESULT VarUI1FromUI4(ULONG, BYTE*); 403 HRESULT VarUI1FromUI8(ULONG64, BYTE*); 403 HRESULT VarUI1FromUI8(ULONG64, BYTE*); 404 HRESULT VarUI1FromStr(OLECHAR*, LCID, ULONG, BYTE*); 404 HRESULT VarUI1FromStr(OLECHAR*, LCID, ULONG, BYTE*); 405 HRESULT VarUI1FromCy(CY, BYTE*); 405 HRESULT VarUI1FromCy(CY, BYTE*); 406 HRESULT VarUI1FromDec(DECIMAL*, BYTE*); 406 HRESULT VarUI1FromDec(DECIMAL*, BYTE*); 407 HRESULT VarUI1FromDisp(IDispatch*, LCID, BYTE*); | 407 HRESULT VarUI1FromDisp(IDispatch, LCID, BYTE*); 408 408 409 HRESULT VarI2FromUI1(BYTE, SHORT*); 409 HRESULT VarI2FromUI1(BYTE, SHORT*); 410 HRESULT VarI2FromI4(LONG, SHORT*); 410 HRESULT VarI2FromI4(LONG, SHORT*); 411 HRESULT VarI2FromI8(LONG64, SHORT*); 411 HRESULT VarI2FromI8(LONG64, SHORT*); 412 HRESULT VarI2FromR4(FLOAT, SHORT*); 412 HRESULT VarI2FromR4(FLOAT, SHORT*); 413 HRESULT VarI2FromR8(DOUBLE, SHORT*); 413 HRESULT VarI2FromR8(DOUBLE, SHORT*); 414 HRESULT VarI2FromDate(DATE, SHORT*); 414 HRESULT VarI2FromDate(DATE, SHORT*); ................................................................................................................................................................................ 416 HRESULT VarI2FromI1(byte, SHORT*); 416 HRESULT VarI2FromI1(byte, SHORT*); 417 HRESULT VarI2FromUI2(USHORT, SHORT*); 417 HRESULT VarI2FromUI2(USHORT, SHORT*); 418 HRESULT VarI2FromUI4(ULONG, SHORT*); 418 HRESULT VarI2FromUI4(ULONG, SHORT*); 419 HRESULT VarI2FromUI8(ULONG64, SHORT*); 419 HRESULT VarI2FromUI8(ULONG64, SHORT*); 420 HRESULT VarI2FromStr(OLECHAR*, LCID, ULONG, SHORT*); 420 HRESULT VarI2FromStr(OLECHAR*, LCID, ULONG, SHORT*); 421 HRESULT VarI2FromCy(CY, SHORT*); 421 HRESULT VarI2FromCy(CY, SHORT*); 422 HRESULT VarI2FromDec(DECIMAL*, SHORT*); 422 HRESULT VarI2FromDec(DECIMAL*, SHORT*); 423 HRESULT VarI2FromDisp(IDispatch*, LCID, SHORT*); | 423 HRESULT VarI2FromDisp(IDispatch, LCID, SHORT*); 424 424 425 HRESULT VarI4FromUI1(BYTE, LONG*); 425 HRESULT VarI4FromUI1(BYTE, LONG*); 426 HRESULT VarI4FromI2(SHORT, LONG*); 426 HRESULT VarI4FromI2(SHORT, LONG*); 427 HRESULT VarI4FromI8(LONG64, LONG*); 427 HRESULT VarI4FromI8(LONG64, LONG*); 428 HRESULT VarI4FromR4(FLOAT, LONG*); 428 HRESULT VarI4FromR4(FLOAT, LONG*); 429 HRESULT VarI4FromR8(DOUBLE, LONG*); 429 HRESULT VarI4FromR8(DOUBLE, LONG*); 430 HRESULT VarI4FromDate(DATE, LONG*); 430 HRESULT VarI4FromDate(DATE, LONG*); ................................................................................................................................................................................ 432 HRESULT VarI4FromI1(byte, LONG*); 432 HRESULT VarI4FromI1(byte, LONG*); 433 HRESULT VarI4FromUI2(USHORT, LONG*); 433 HRESULT VarI4FromUI2(USHORT, LONG*); 434 HRESULT VarI4FromUI4(ULONG, LONG*); 434 HRESULT VarI4FromUI4(ULONG, LONG*); 435 HRESULT VarI4FromUI8(ULONG64, LONG*); 435 HRESULT VarI4FromUI8(ULONG64, LONG*); 436 HRESULT VarI4FromStr(OLECHAR*, LCID, ULONG, LONG*); 436 HRESULT VarI4FromStr(OLECHAR*, LCID, ULONG, LONG*); 437 HRESULT VarI4FromCy(CY, LONG*); 437 HRESULT VarI4FromCy(CY, LONG*); 438 HRESULT VarI4FromDec(DECIMAL*, LONG*); 438 HRESULT VarI4FromDec(DECIMAL*, LONG*); 439 HRESULT VarI4FromDisp(IDispatch*, LCID, LONG*); | 439 HRESULT VarI4FromDisp(IDispatch, LCID, LONG*); 440 440 441 HRESULT VarI8FromUI1(BYTE, LONG64*); 441 HRESULT VarI8FromUI1(BYTE, LONG64*); 442 HRESULT VarI8FromI2(SHORT, LONG64*); 442 HRESULT VarI8FromI2(SHORT, LONG64*); 443 HRESULT VarI8FromI4(LONG, LONG64*); 443 HRESULT VarI8FromI4(LONG, LONG64*); 444 HRESULT VarI8FromR4(FLOAT, LONG64*); 444 HRESULT VarI8FromR4(FLOAT, LONG64*); 445 HRESULT VarI8FromR8(DOUBLE, LONG64*); 445 HRESULT VarI8FromR8(DOUBLE, LONG64*); 446 HRESULT VarI8FromDate(DATE, LONG64*); 446 HRESULT VarI8FromDate(DATE, LONG64*); ................................................................................................................................................................................ 449 HRESULT VarI8FromI1(byte, LONG64*); 449 HRESULT VarI8FromI1(byte, LONG64*); 450 HRESULT VarI8FromUI2(USHORT, LONG64*); 450 HRESULT VarI8FromUI2(USHORT, LONG64*); 451 HRESULT VarI8FromUI4(ULONG, LONG64*); 451 HRESULT VarI8FromUI4(ULONG, LONG64*); 452 HRESULT VarI8FromUI8(ULONG64, LONG64*); 452 HRESULT VarI8FromUI8(ULONG64, LONG64*); 453 HRESULT VarI8FromDec(DECIMAL* pdecIn, LONG64*); 453 HRESULT VarI8FromDec(DECIMAL* pdecIn, LONG64*); 454 HRESULT VarI8FromInt(INT intIn, LONG64*); 454 HRESULT VarI8FromInt(INT intIn, LONG64*); 455 HRESULT VarI8FromCy(CY, LONG64*); 455 HRESULT VarI8FromCy(CY, LONG64*); 456 HRESULT VarI8FromDisp(IDispatch*, LCID, LONG64*); | 456 HRESULT VarI8FromDisp(IDispatch, LCID, LONG64*); 457 457 458 HRESULT VarR4FromUI1(BYTE, FLOAT*); 458 HRESULT VarR4FromUI1(BYTE, FLOAT*); 459 HRESULT VarR4FromI2(SHORT, FLOAT*); 459 HRESULT VarR4FromI2(SHORT, FLOAT*); 460 HRESULT VarR4FromI4(LONG, FLOAT*); 460 HRESULT VarR4FromI4(LONG, FLOAT*); 461 HRESULT VarR4FromI8(LONG64, FLOAT*); 461 HRESULT VarR4FromI8(LONG64, FLOAT*); 462 HRESULT VarR4FromR8(DOUBLE, FLOAT*); 462 HRESULT VarR4FromR8(DOUBLE, FLOAT*); 463 HRESULT VarR4FromDate(DATE, FLOAT*); 463 HRESULT VarR4FromDate(DATE, FLOAT*); ................................................................................................................................................................................ 465 HRESULT VarR4FromI1(byte, FLOAT*); 465 HRESULT VarR4FromI1(byte, FLOAT*); 466 HRESULT VarR4FromUI2(USHORT, FLOAT*); 466 HRESULT VarR4FromUI2(USHORT, FLOAT*); 467 HRESULT VarR4FromUI4(ULONG, FLOAT*); 467 HRESULT VarR4FromUI4(ULONG, FLOAT*); 468 HRESULT VarR4FromUI8(ULONG64, FLOAT*); 468 HRESULT VarR4FromUI8(ULONG64, FLOAT*); 469 HRESULT VarR4FromStr(OLECHAR*, LCID, ULONG, FLOAT*); 469 HRESULT VarR4FromStr(OLECHAR*, LCID, ULONG, FLOAT*); 470 HRESULT VarR4FromCy(CY, FLOAT*); 470 HRESULT VarR4FromCy(CY, FLOAT*); 471 HRESULT VarR4FromDec(DECIMAL*, FLOAT*); 471 HRESULT VarR4FromDec(DECIMAL*, FLOAT*); 472 HRESULT VarR4FromDisp(IDispatch*, LCID, FLOAT*); | 472 HRESULT VarR4FromDisp(IDispatch, LCID, FLOAT*); 473 473 474 HRESULT VarR8FromUI1(BYTE, double*); 474 HRESULT VarR8FromUI1(BYTE, double*); 475 HRESULT VarR8FromI2(SHORT, double*); 475 HRESULT VarR8FromI2(SHORT, double*); 476 HRESULT VarR8FromI4(LONG, double*); 476 HRESULT VarR8FromI4(LONG, double*); 477 HRESULT VarR8FromI8(LONG64, double*); 477 HRESULT VarR8FromI8(LONG64, double*); 478 HRESULT VarR8FromR4(FLOAT, double*); 478 HRESULT VarR8FromR4(FLOAT, double*); 479 HRESULT VarR8FromDate(DATE, double*); 479 HRESULT VarR8FromDate(DATE, double*); ................................................................................................................................................................................ 481 HRESULT VarR8FromI1(byte, double*); 481 HRESULT VarR8FromI1(byte, double*); 482 HRESULT VarR8FromUI2(USHORT, double*); 482 HRESULT VarR8FromUI2(USHORT, double*); 483 HRESULT VarR8FromUI4(ULONG, double*); 483 HRESULT VarR8FromUI4(ULONG, double*); 484 HRESULT VarR8FromUI8(ULONG64, double*); 484 HRESULT VarR8FromUI8(ULONG64, double*); 485 HRESULT VarR8FromStr(OLECHAR*, LCID, ULONG, double*); 485 HRESULT VarR8FromStr(OLECHAR*, LCID, ULONG, double*); 486 HRESULT VarR8FromCy(CY, double*); 486 HRESULT VarR8FromCy(CY, double*); 487 HRESULT VarR8FromDec(DECIMAL*, double*); 487 HRESULT VarR8FromDec(DECIMAL*, double*); 488 HRESULT VarR8FromDisp(IDispatch*, LCID, double*); | 488 HRESULT VarR8FromDisp(IDispatch, LCID, double*); 489 489 490 HRESULT VarDateFromUI1(BYTE, DATE*); 490 HRESULT VarDateFromUI1(BYTE, DATE*); 491 HRESULT VarDateFromI2(SHORT, DATE*); 491 HRESULT VarDateFromI2(SHORT, DATE*); 492 HRESULT VarDateFromI4(LONG, DATE*); 492 HRESULT VarDateFromI4(LONG, DATE*); 493 HRESULT VarDateFromI8(LONG64, DATE*); 493 HRESULT VarDateFromI8(LONG64, DATE*); 494 HRESULT VarDateFromR4(FLOAT, DATE*); 494 HRESULT VarDateFromR4(FLOAT, DATE*); 495 HRESULT VarDateFromR8(DOUBLE, DATE*); 495 HRESULT VarDateFromR8(DOUBLE, DATE*); ................................................................................................................................................................................ 497 HRESULT VarDateFromI1(byte, DATE*); 497 HRESULT VarDateFromI1(byte, DATE*); 498 HRESULT VarDateFromUI2(USHORT, DATE*); 498 HRESULT VarDateFromUI2(USHORT, DATE*); 499 HRESULT VarDateFromUI4(ULONG, DATE*); 499 HRESULT VarDateFromUI4(ULONG, DATE*); 500 HRESULT VarDateFromUI8(ULONG64, DATE*); 500 HRESULT VarDateFromUI8(ULONG64, DATE*); 501 HRESULT VarDateFromBool(VARIANT_BOOL, DATE*); 501 HRESULT VarDateFromBool(VARIANT_BOOL, DATE*); 502 HRESULT VarDateFromCy(CY, DATE*); 502 HRESULT VarDateFromCy(CY, DATE*); 503 HRESULT VarDateFromDec(DECIMAL*, DATE*); 503 HRESULT VarDateFromDec(DECIMAL*, DATE*); 504 HRESULT VarDateFromDisp(IDispatch*, LCID, DATE*); | 504 HRESULT VarDateFromDisp(IDispatch, LCID, DATE*); 505 505 506 HRESULT VarCyFromUI1(BYTE, CY*); 506 HRESULT VarCyFromUI1(BYTE, CY*); 507 HRESULT VarCyFromI2(SHORT sIn, CY*); 507 HRESULT VarCyFromI2(SHORT sIn, CY*); 508 HRESULT VarCyFromI4(LONG, CY*); 508 HRESULT VarCyFromI4(LONG, CY*); 509 HRESULT VarCyFromI8(LONG64, CY*); 509 HRESULT VarCyFromI8(LONG64, CY*); 510 HRESULT VarCyFromR4(FLOAT, CY*); 510 HRESULT VarCyFromR4(FLOAT, CY*); 511 HRESULT VarCyFromR8(DOUBLE, CY*); 511 HRESULT VarCyFromR8(DOUBLE, CY*); ................................................................................................................................................................................ 514 HRESULT VarCyFromBool(VARIANT_BOOL, CY*); 514 HRESULT VarCyFromBool(VARIANT_BOOL, CY*); 515 HRESULT VarCyFromI1(byte, CY*); 515 HRESULT VarCyFromI1(byte, CY*); 516 HRESULT VarCyFromUI2(USHORT, CY*); 516 HRESULT VarCyFromUI2(USHORT, CY*); 517 HRESULT VarCyFromUI4(ULONG, CY*); 517 HRESULT VarCyFromUI4(ULONG, CY*); 518 HRESULT VarCyFromUI8(ULONG64, CY*); 518 HRESULT VarCyFromUI8(ULONG64, CY*); 519 HRESULT VarCyFromDec(DECIMAL*, CY*); 519 HRESULT VarCyFromDec(DECIMAL*, CY*); 520 HRESULT VarCyFromStr(OLECHAR*, LCID, ULONG, CY*); 520 HRESULT VarCyFromStr(OLECHAR*, LCID, ULONG, CY*); 521 HRESULT VarCyFromDisp(IDispatch*, LCID, CY*); | 521 HRESULT VarCyFromDisp(IDispatch, LCID, CY*); 522 522 523 HRESULT VarBstrFromUI1(BYTE, LCID, ULONG, BSTR*); 523 HRESULT VarBstrFromUI1(BYTE, LCID, ULONG, BSTR*); 524 HRESULT VarBstrFromI2(SHORT, LCID, ULONG, BSTR*); 524 HRESULT VarBstrFromI2(SHORT, LCID, ULONG, BSTR*); 525 HRESULT VarBstrFromI4(LONG, LCID, ULONG, BSTR*); 525 HRESULT VarBstrFromI4(LONG, LCID, ULONG, BSTR*); 526 HRESULT VarBstrFromI8(LONG64, LCID, ULONG, BSTR*); 526 HRESULT VarBstrFromI8(LONG64, LCID, ULONG, BSTR*); 527 HRESULT VarBstrFromR4(FLOAT, LCID, ULONG, BSTR*); 527 HRESULT VarBstrFromR4(FLOAT, LCID, ULONG, BSTR*); 528 HRESULT VarBstrFromR8(DOUBLE, LCID, ULONG, BSTR*); 528 HRESULT VarBstrFromR8(DOUBLE, LCID, ULONG, BSTR*); ................................................................................................................................................................................ 530 HRESULT VarBstrFromBool(VARIANT_BOOL, LCID, ULONG, BSTR*); 530 HRESULT VarBstrFromBool(VARIANT_BOOL, LCID, ULONG, BSTR*); 531 HRESULT VarBstrFromI1(byte, LCID, ULONG, BSTR*); 531 HRESULT VarBstrFromI1(byte, LCID, ULONG, BSTR*); 532 HRESULT VarBstrFromUI2(USHORT, LCID, ULONG, BSTR*); 532 HRESULT VarBstrFromUI2(USHORT, LCID, ULONG, BSTR*); 533 HRESULT VarBstrFromUI8(ULONG64, LCID, ULONG, BSTR*); 533 HRESULT VarBstrFromUI8(ULONG64, LCID, ULONG, BSTR*); 534 HRESULT VarBstrFromUI4(ULONG, LCID, ULONG, BSTR*); 534 HRESULT VarBstrFromUI4(ULONG, LCID, ULONG, BSTR*); 535 HRESULT VarBstrFromCy(CY, LCID, ULONG, BSTR*); 535 HRESULT VarBstrFromCy(CY, LCID, ULONG, BSTR*); 536 HRESULT VarBstrFromDec(DECIMAL*, LCID, ULONG, BSTR*); 536 HRESULT VarBstrFromDec(DECIMAL*, LCID, ULONG, BSTR*); 537 HRESULT VarBstrFromDisp(IDispatch*, LCID, ULONG, BSTR*); | 537 HRESULT VarBstrFromDisp(IDispatch, LCID, ULONG, BSTR*); 538 538 539 HRESULT VarBoolFromUI1(BYTE, VARIANT_BOOL*); 539 HRESULT VarBoolFromUI1(BYTE, VARIANT_BOOL*); 540 HRESULT VarBoolFromI2(SHORT, VARIANT_BOOL*); 540 HRESULT VarBoolFromI2(SHORT, VARIANT_BOOL*); 541 HRESULT VarBoolFromI4(LONG, VARIANT_BOOL*); 541 HRESULT VarBoolFromI4(LONG, VARIANT_BOOL*); 542 HRESULT VarBoolFromI8(LONG64, VARIANT_BOOL*); 542 HRESULT VarBoolFromI8(LONG64, VARIANT_BOOL*); 543 HRESULT VarBoolFromR4(FLOAT, VARIANT_BOOL*); 543 HRESULT VarBoolFromR4(FLOAT, VARIANT_BOOL*); 544 HRESULT VarBoolFromR8(DOUBLE, VARIANT_BOOL*); 544 HRESULT VarBoolFromR8(DOUBLE, VARIANT_BOOL*); ................................................................................................................................................................................ 546 HRESULT VarBoolFromStr(OLECHAR*, LCID, ULONG, VARIANT_BOOL*); 546 HRESULT VarBoolFromStr(OLECHAR*, LCID, ULONG, VARIANT_BOOL*); 547 HRESULT VarBoolFromI1(byte, VARIANT_BOOL*); 547 HRESULT VarBoolFromI1(byte, VARIANT_BOOL*); 548 HRESULT VarBoolFromUI2(USHORT, VARIANT_BOOL*); 548 HRESULT VarBoolFromUI2(USHORT, VARIANT_BOOL*); 549 HRESULT VarBoolFromUI4(ULONG, VARIANT_BOOL*); 549 HRESULT VarBoolFromUI4(ULONG, VARIANT_BOOL*); 550 HRESULT VarBoolFromUI8(ULONG64, VARIANT_BOOL*); 550 HRESULT VarBoolFromUI8(ULONG64, VARIANT_BOOL*); 551 HRESULT VarBoolFromCy(CY, VARIANT_BOOL*); 551 HRESULT VarBoolFromCy(CY, VARIANT_BOOL*); 552 HRESULT VarBoolFromDec(DECIMAL*, VARIANT_BOOL*); 552 HRESULT VarBoolFromDec(DECIMAL*, VARIANT_BOOL*); 553 HRESULT VarBoolFromDisp(IDispatch*, LCID, VARIANT_BOOL*); | 553 HRESULT VarBoolFromDisp(IDispatch, LCID, VARIANT_BOOL*); 554 554 555 HRESULT VarI1FromUI1(BYTE, byte*); 555 HRESULT VarI1FromUI1(BYTE, byte*); 556 HRESULT VarI1FromI2(SHORT, byte*); 556 HRESULT VarI1FromI2(SHORT, byte*); 557 HRESULT VarI1FromI4(LONG, byte*); 557 HRESULT VarI1FromI4(LONG, byte*); 558 HRESULT VarI1FromI8(LONG64, byte*); 558 HRESULT VarI1FromI8(LONG64, byte*); 559 HRESULT VarI1FromR4(FLOAT, byte*); 559 HRESULT VarI1FromR4(FLOAT, byte*); 560 HRESULT VarI1FromR8(DOUBLE, byte*); 560 HRESULT VarI1FromR8(DOUBLE, byte*); ................................................................................................................................................................................ 562 HRESULT VarI1FromStr(OLECHAR*, LCID, ULONG, byte*); 562 HRESULT VarI1FromStr(OLECHAR*, LCID, ULONG, byte*); 563 HRESULT VarI1FromBool(VARIANT_BOOL, byte*); 563 HRESULT VarI1FromBool(VARIANT_BOOL, byte*); 564 HRESULT VarI1FromUI2(USHORT, byte*); 564 HRESULT VarI1FromUI2(USHORT, byte*); 565 HRESULT VarI1FromUI4(ULONG, byte*); 565 HRESULT VarI1FromUI4(ULONG, byte*); 566 HRESULT VarI1FromUI8(ULONG64, byte*); 566 HRESULT VarI1FromUI8(ULONG64, byte*); 567 HRESULT VarI1FromCy(CY, byte*); 567 HRESULT VarI1FromCy(CY, byte*); 568 HRESULT VarI1FromDec(DECIMAL*, byte*); 568 HRESULT VarI1FromDec(DECIMAL*, byte*); 569 HRESULT VarI1FromDisp(IDispatch*, LCID, byte*); | 569 HRESULT VarI1FromDisp(IDispatch, LCID, byte*); 570 570 571 HRESULT VarUI2FromUI1(BYTE, USHORT*); 571 HRESULT VarUI2FromUI1(BYTE, USHORT*); 572 HRESULT VarUI2FromI2(SHORT, USHORT*); 572 HRESULT VarUI2FromI2(SHORT, USHORT*); 573 HRESULT VarUI2FromI4(LONG, USHORT*); 573 HRESULT VarUI2FromI4(LONG, USHORT*); 574 HRESULT VarUI2FromI8(LONG64, USHORT*); 574 HRESULT VarUI2FromI8(LONG64, USHORT*); 575 HRESULT VarUI2FromR4(FLOAT, USHORT*); 575 HRESULT VarUI2FromR4(FLOAT, USHORT*); 576 HRESULT VarUI2FromR8(DOUBLE, USHORT*); 576 HRESULT VarUI2FromR8(DOUBLE, USHORT*); ................................................................................................................................................................................ 578 HRESULT VarUI2FromStr(OLECHAR*, LCID, ULONG, USHORT*); 578 HRESULT VarUI2FromStr(OLECHAR*, LCID, ULONG, USHORT*); 579 HRESULT VarUI2FromBool(VARIANT_BOOL, USHORT*); 579 HRESULT VarUI2FromBool(VARIANT_BOOL, USHORT*); 580 HRESULT VarUI2FromI1(byte, USHORT*); 580 HRESULT VarUI2FromI1(byte, USHORT*); 581 HRESULT VarUI2FromUI4(ULONG, USHORT*); 581 HRESULT VarUI2FromUI4(ULONG, USHORT*); 582 HRESULT VarUI2FromUI8(ULONG64, USHORT*); 582 HRESULT VarUI2FromUI8(ULONG64, USHORT*); 583 HRESULT VarUI2FromCy(CY, USHORT*); 583 HRESULT VarUI2FromCy(CY, USHORT*); 584 HRESULT VarUI2FromDec(DECIMAL*, USHORT*); 584 HRESULT VarUI2FromDec(DECIMAL*, USHORT*); 585 HRESULT VarUI2FromDisp(IDispatch*, LCID, USHORT*); | 585 HRESULT VarUI2FromDisp(IDispatch, LCID, USHORT*); 586 586 587 HRESULT VarUI4FromStr(OLECHAR*, LCID, ULONG, ULONG*); 587 HRESULT VarUI4FromStr(OLECHAR*, LCID, ULONG, ULONG*); 588 HRESULT VarUI4FromUI1(BYTE, ULONG*); 588 HRESULT VarUI4FromUI1(BYTE, ULONG*); 589 HRESULT VarUI4FromI2(SHORT, ULONG*); 589 HRESULT VarUI4FromI2(SHORT, ULONG*); 590 HRESULT VarUI4FromI4(LONG, ULONG*); 590 HRESULT VarUI4FromI4(LONG, ULONG*); 591 HRESULT VarUI4FromI8(LONG64, ULONG*); 591 HRESULT VarUI4FromI8(LONG64, ULONG*); 592 HRESULT VarUI4FromR4(FLOAT, ULONG*); 592 HRESULT VarUI4FromR4(FLOAT, ULONG*); ................................................................................................................................................................................ 594 HRESULT VarUI4FromDate(DATE, ULONG*); 594 HRESULT VarUI4FromDate(DATE, ULONG*); 595 HRESULT VarUI4FromBool(VARIANT_BOOL, ULONG*); 595 HRESULT VarUI4FromBool(VARIANT_BOOL, ULONG*); 596 HRESULT VarUI4FromI1(byte, ULONG*); 596 HRESULT VarUI4FromI1(byte, ULONG*); 597 HRESULT VarUI4FromUI2(USHORT, ULONG*); 597 HRESULT VarUI4FromUI2(USHORT, ULONG*); 598 HRESULT VarUI4FromUI8(ULONG64, ULONG*); 598 HRESULT VarUI4FromUI8(ULONG64, ULONG*); 599 HRESULT VarUI4FromCy(CY, ULONG*); 599 HRESULT VarUI4FromCy(CY, ULONG*); 600 HRESULT VarUI4FromDec(DECIMAL*, ULONG*); 600 HRESULT VarUI4FromDec(DECIMAL*, ULONG*); 601 HRESULT VarUI4FromDisp(IDispatch*, LCID, ULONG*); | 601 HRESULT VarUI4FromDisp(IDispatch, LCID, ULONG*); 602 602 603 HRESULT VarUI8FromUI1(BYTE, ULONG64*); 603 HRESULT VarUI8FromUI1(BYTE, ULONG64*); 604 HRESULT VarUI8FromI2(SHORT, ULONG64*); 604 HRESULT VarUI8FromI2(SHORT, ULONG64*); 605 HRESULT VarUI8FromI4(LONG, ULONG64*); 605 HRESULT VarUI8FromI4(LONG, ULONG64*); 606 HRESULT VarUI8FromI8(LONG64, ULONG64*); 606 HRESULT VarUI8FromI8(LONG64, ULONG64*); 607 HRESULT VarUI8FromR4(FLOAT, ULONG64*); 607 HRESULT VarUI8FromR4(FLOAT, ULONG64*); 608 HRESULT VarUI8FromR8(DOUBLE, ULONG64*); 608 HRESULT VarUI8FromR8(DOUBLE, ULONG64*); ................................................................................................................................................................................ 611 HRESULT VarUI8FromBool(VARIANT_BOOL, ULONG64*); 611 HRESULT VarUI8FromBool(VARIANT_BOOL, ULONG64*); 612 HRESULT VarUI8FromI1(byte, ULONG64*); 612 HRESULT VarUI8FromI1(byte, ULONG64*); 613 HRESULT VarUI8FromUI2(USHORT, ULONG64*); 613 HRESULT VarUI8FromUI2(USHORT, ULONG64*); 614 HRESULT VarUI8FromUI4(ULONG, ULONG64*); 614 HRESULT VarUI8FromUI4(ULONG, ULONG64*); 615 HRESULT VarUI8FromDec(DECIMAL*, ULONG64*); 615 HRESULT VarUI8FromDec(DECIMAL*, ULONG64*); 616 HRESULT VarUI8FromInt(INT, ULONG64*); 616 HRESULT VarUI8FromInt(INT, ULONG64*); 617 HRESULT VarUI8FromCy(CY, ULONG64*); 617 HRESULT VarUI8FromCy(CY, ULONG64*); 618 HRESULT VarUI8FromDisp(IDispatch*, LCID, ULONG64*); | 618 HRESULT VarUI8FromDisp(IDispatch, LCID, ULONG64*); 619 619 620 HRESULT VarDecFromUI1(BYTE, DECIMAL*); 620 HRESULT VarDecFromUI1(BYTE, DECIMAL*); 621 HRESULT VarDecFromI2(SHORT, DECIMAL*); 621 HRESULT VarDecFromI2(SHORT, DECIMAL*); 622 HRESULT VarDecFromI4(LONG, DECIMAL*); 622 HRESULT VarDecFromI4(LONG, DECIMAL*); 623 HRESULT VarDecFromI8(LONG64, DECIMAL*); 623 HRESULT VarDecFromI8(LONG64, DECIMAL*); 624 HRESULT VarDecFromR4(FLOAT, DECIMAL*); 624 HRESULT VarDecFromR4(FLOAT, DECIMAL*); 625 HRESULT VarDecFromR8(DOUBLE, DECIMAL*); 625 HRESULT VarDecFromR8(DOUBLE, DECIMAL*); ................................................................................................................................................................................ 627 HRESULT VarDecFromStr(OLECHAR*, LCID, ULONG, DECIMAL*); 627 HRESULT VarDecFromStr(OLECHAR*, LCID, ULONG, DECIMAL*); 628 HRESULT VarDecFromBool(VARIANT_BOOL, DECIMAL*); 628 HRESULT VarDecFromBool(VARIANT_BOOL, DECIMAL*); 629 HRESULT VarDecFromI1(byte, DECIMAL*); 629 HRESULT VarDecFromI1(byte, DECIMAL*); 630 HRESULT VarDecFromUI2(USHORT, DECIMAL*); 630 HRESULT VarDecFromUI2(USHORT, DECIMAL*); 631 HRESULT VarDecFromUI4(ULONG, DECIMAL*); 631 HRESULT VarDecFromUI4(ULONG, DECIMAL*); 632 HRESULT VarDecFromUI8(ULONG64, DECIMAL*); 632 HRESULT VarDecFromUI8(ULONG64, DECIMAL*); 633 HRESULT VarDecFromCy(CY, DECIMAL*); 633 HRESULT VarDecFromCy(CY, DECIMAL*); 634 HRESULT VarDecFromDisp(IDispatch*, LCID, DECIMAL*); | 634 HRESULT VarDecFromDisp(IDispatch, LCID, DECIMAL*); 635 635 636 HRESULT VarDecNeg(CPtr!(DECIMAL), DECIMAL*); | 636 HRESULT VarDecNeg(const(DECIMAL)*, DECIMAL*); 637 HRESULT VarR4CmpR8(float, double); 637 HRESULT VarR4CmpR8(float, double); 638 HRESULT VarR8Pow(double, double, double*); 638 HRESULT VarR8Pow(double, double, double*); 639 HRESULT VarR8Round(double, int, double*); 639 HRESULT VarR8Round(double, int, double*); 640 HRESULT VarDecAbs(CPtr!(DECIMAL), DECIMAL*); | 640 HRESULT VarDecAbs(const(DECIMAL)*, DECIMAL*); 641 HRESULT VarDecAdd(CPtr!(DECIMAL), CPtr!(DECIMAL), DECIMAL*); | 641 HRESULT VarDecAdd(const(DECIMAL)*, const(DECIMAL)*, DECIMAL*); 642 HRESULT VarDecCmp(CPtr!(DECIMAL), CPtr!(DECIMAL)); | 642 HRESULT VarDecCmp(const(DECIMAL)*, const(DECIMAL)*); 643 HRESULT VarDecCmpR8(CPtr!(DECIMAL), DOUBLE); | 643 HRESULT VarDecCmpR8(const(DECIMAL)*, DOUBLE); 644 HRESULT VarDecDiv(CPtr!(DECIMAL), CPtr!(DECIMAL), DECIMAL*); | 644 HRESULT VarDecDiv(const(DECIMAL)*, const(DECIMAL)*, DECIMAL*); 645 HRESULT VarDecFix(CPtr!(DECIMAL), DECIMAL*); | 645 HRESULT VarDecFix(const(DECIMAL)*, DECIMAL*); 646 HRESULT VarDecInt(CPtr!(DECIMAL), DECIMAL*); | 646 HRESULT VarDecInt(const(DECIMAL)*, DECIMAL*); 647 HRESULT VarDecMul(CPtr!(DECIMAL), CPtr!(DECIMAL), DECIMAL*); | 647 HRESULT VarDecMul(const(DECIMAL)*, const(DECIMAL)*, DECIMAL*); 648 HRESULT VarDecRound(CPtr!(DECIMAL), int, DECIMAL*); | 648 HRESULT VarDecRound(const(DECIMAL)*, int, DECIMAL*); 649 HRESULT VarDecSub(CPtr!(DECIMAL), CPtr!(DECIMAL), DECIMAL*); | 649 HRESULT VarDecSub(const(DECIMAL)*, const(DECIMAL)*, DECIMAL*); 650 HRESULT VarCyAbs(CY, CY*); 650 HRESULT VarCyAbs(CY, CY*); 651 HRESULT VarCyAdd(CY, CY, CY*); 651 HRESULT VarCyAdd(CY, CY, CY*); 652 HRESULT VarCyCmp(CY, CY); 652 HRESULT VarCyCmp(CY, CY); 653 HRESULT VarCyCmpR8(CY, DOUBLE); 653 HRESULT VarCyCmpR8(CY, DOUBLE); 654 HRESULT VarCyFix(CY, CY*); 654 HRESULT VarCyFix(CY, CY*); 655 HRESULT VarCyInt(CY, CY*); 655 HRESULT VarCyInt(CY, CY*); 656 HRESULT VarCyMul(CY, CY, CY*); 656 HRESULT VarCyMul(CY, CY, CY*);

Modified src/win32/olectl.d from [f75dbd32f328c551] to [47279ee1c2100dc8].

287 DISPID_PICT_HPAL = 2, 287 DISPID_PICT_HPAL = 2, 288 DISPID_PICT_TYPE, 288 DISPID_PICT_TYPE, 289 DISPID_PICT_WIDTH, 289 DISPID_PICT_WIDTH, 290 DISPID_PICT_HEIGHT, 290 DISPID_PICT_HEIGHT, 291 DISPID_PICT_RENDER // = 6 291 DISPID_PICT_RENDER // = 6 292 } 292 } 293 293 294 alias IOleControl *LPOLECONTROL; | 294 alias IOleControl LPOLECONTROL; 295 alias IOleControlSite *LPOLECONTROLSITE; | 295 alias IOleControlSite LPOLECONTROLSITE; 296 alias ISimpleFrameSite *LPSIMPLEFRAMESITE; | 296 alias ISimpleFrameSite LPSIMPLEFRAMESITE; 297 alias IPersistPropertyBag *LPPERSISTPROPERTYBAG; | 297 alias IPersistPropertyBag LPPERSISTPROPERTYBAG; 298 alias IPersistStreamInit *LPPERSISTSTREAMINIT; | 298 alias IPersistStreamInit LPPERSISTSTREAMINIT; 299 alias IPersistMemory *LPPERSISTMEMORY; | 299 alias IPersistMemory LPPERSISTMEMORY; 300 alias IPropertyNotifySink* LPPROPERTYNOTIFYSINK; | 300 alias IPropertyNotifySink LPPROPERTYNOTIFYSINK; 301 alias IProvideClassInfo *LPPROVIDECLASSINFO; | 301 alias IProvideClassInfo LPPROVIDECLASSINFO; 302 alias IProvideClassInfo2 *LPPROVIDECLASSINFO2; | 302 alias IProvideClassInfo2 LPPROVIDECLASSINFO2; 303 alias IConnectionPointContainer *LPCONNECTIONPOINTCONTAINER; | 303 alias IConnectionPointContainer LPCONNECTIONPOINTCONTAINER; 304 alias IClassFactory2 *LPCLASSFACTORY2; | 304 alias IClassFactory2 LPCLASSFACTORY2; 305 alias ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES; | 305 alias ISpecifyPropertyPages LPSPECIFYPROPERTYPAGES; 306 alias IPerPropertyBrowsing *LPPERPROPERTYBROWSING; | 306 alias IPerPropertyBrowsing LPPERPROPERTYBROWSING; 307 alias IPropertyPage *LPPROPERTYPAGE; | 307 alias IPropertyPage LPPROPERTYPAGE; 308 alias IPropertyPage2 *LPPROPERTYPAGE2; | 308 alias IPropertyPage2 LPPROPERTYPAGE2; 309 309 310 alias IPicture *LPPICTURE; | 310 alias IPicture LPPICTURE; 311 alias IPictureDisp *LPPICTUREDISP; | 311 alias IPictureDisp LPPICTUREDISP; 312 alias int OLE_XPOS_PIXELS; 312 alias int OLE_XPOS_PIXELS; 313 alias int OLE_YPOS_PIXELS; 313 alias int OLE_YPOS_PIXELS; 314 alias int OLE_XSIZE_PIXELS; 314 alias int OLE_XSIZE_PIXELS; 315 alias int OLE_YSIZE_PIXELS; 315 alias int OLE_YSIZE_PIXELS; 316 alias float OLE_XPOS_CONTAINER; 316 alias float OLE_XPOS_CONTAINER; 317 alias float OLE_YPOS_CONTAINER; 317 alias float OLE_YPOS_CONTAINER; 318 alias float OLE_XSIZE_CONTAINER; 318 alias float OLE_XSIZE_CONTAINER;

Modified src/win32/olectlid.d from [a48867c7da90131b] to [6c345ef73f060b47].

Modified src/win32/oledlg.d from [037c81af9c06936e] to [5675873348358744].

480 HRESULT GetLinkUpdateOptions(DWORD, PDWORD); 480 HRESULT GetLinkUpdateOptions(DWORD, PDWORD); 481 HRESULT SetLinkSource(DWORD, LPWSTR, ULONG, PULONG, BOOL); 481 HRESULT SetLinkSource(DWORD, LPWSTR, ULONG, PULONG, BOOL); 482 HRESULT GetLinkSource(DWORD, LPWSTR*, PULONG, LPWSTR*, LPWSTR*, BOOL*, B 482 HRESULT GetLinkSource(DWORD, LPWSTR*, PULONG, LPWSTR*, LPWSTR*, BOOL*, B 483 HRESULT OpenLinkSource(DWORD); 483 HRESULT OpenLinkSource(DWORD); 484 HRESULT UpdateLink(DWORD, BOOL, BOOL); 484 HRESULT UpdateLink(DWORD, BOOL, BOOL); 485 HRESULT CancelLink(DWORD); 485 HRESULT CancelLink(DWORD); 486 } 486 } 487 alias IOleUILinkContainerW* LPOLEUILINKCONTAINERW; | 487 alias IOleUILinkContainerW LPOLEUILINKCONTAINERW; 488 488 489 interface IOleUILinkContainerA : IUnknown 489 interface IOleUILinkContainerA : IUnknown 490 { 490 { 491 HRESULT QueryInterface(REFIID, PVOID*); 491 HRESULT QueryInterface(REFIID, PVOID*); 492 ULONG AddRef(); 492 ULONG AddRef(); 493 ULONG Release(); 493 ULONG Release(); 494 DWORD GetNextLink(DWORD); 494 DWORD GetNextLink(DWORD); ................................................................................................................................................................................ 496 HRESULT GetLinkUpdateOptions(DWORD, PDWORD); 496 HRESULT GetLinkUpdateOptions(DWORD, PDWORD); 497 HRESULT SetLinkSource(DWORD, LPSTR, ULONG, PULONG, BOOL); 497 HRESULT SetLinkSource(DWORD, LPSTR, ULONG, PULONG, BOOL); 498 HRESULT GetLinkSource(DWORD, LPSTR*, PULONG, LPSTR*, LPSTR*, BOOL*, BOOL 498 HRESULT GetLinkSource(DWORD, LPSTR*, PULONG, LPSTR*, LPSTR*, BOOL*, BOOL 499 HRESULT OpenLinkSource(DWORD); 499 HRESULT OpenLinkSource(DWORD); 500 HRESULT UpdateLink(DWORD, BOOL, BOOL); 500 HRESULT UpdateLink(DWORD, BOOL, BOOL); 501 HRESULT CancelLink(DWORD); 501 HRESULT CancelLink(DWORD); 502 } 502 } 503 alias IOleUILinkContainerA* LPOLEUILINKCONTAINERA; | 503 alias IOleUILinkContainerA LPOLEUILINKCONTAINERA; 504 504 505 struct OLEUIEDITLINKSW { 505 struct OLEUIEDITLINKSW { 506 DWORD cbStruct; 506 DWORD cbStruct; 507 DWORD dwFlags; 507 DWORD dwFlags; 508 HWND hWndOwner; 508 HWND hWndOwner; 509 LPCWSTR lpszCaption; 509 LPCWSTR lpszCaption; 510 LPFNOLEUIHOOK lpfnHook; 510 LPFNOLEUIHOOK lpfnHook; ................................................................................................................................................................................ 538 LPFNOLEUIHOOK lpfnHook; 538 LPFNOLEUIHOOK lpfnHook; 539 LPARAM lCustData; 539 LPARAM lCustData; 540 HINSTANCE hInstance; 540 HINSTANCE hInstance; 541 LPCWSTR lpszTemplate; 541 LPCWSTR lpszTemplate; 542 HRSRC hResource; 542 HRSRC hResource; 543 HGLOBAL hMetaPict; 543 HGLOBAL hMetaPict; 544 CLSID clsid; 544 CLSID clsid; 545 WCHAR szIconExe[MAX_PATH]; | 545 WCHAR[MAX_PATH] szIconExe; 546 int cchIconExe; 546 int cchIconExe; 547 } 547 } 548 alias OLEUICHANGEICONW* POLEUICHANGEICONW, LPOLEUICHANGEICONW; 548 alias OLEUICHANGEICONW* POLEUICHANGEICONW, LPOLEUICHANGEICONW; 549 549 550 struct OLEUICHANGEICONA { 550 struct OLEUICHANGEICONA { 551 DWORD cbStruct; 551 DWORD cbStruct; 552 DWORD dwFlags; 552 DWORD dwFlags; ................................................................................................................................................................................ 555 LPFNOLEUIHOOK lpfnHook; 555 LPFNOLEUIHOOK lpfnHook; 556 LPARAM lCustData; 556 LPARAM lCustData; 557 HINSTANCE hInstance; 557 HINSTANCE hInstance; 558 LPCSTR lpszTemplate; 558 LPCSTR lpszTemplate; 559 HRSRC hResource; 559 HRSRC hResource; 560 HGLOBAL hMetaPict; 560 HGLOBAL hMetaPict; 561 CLSID clsid; 561 CLSID clsid; 562 CHAR szIconExe[MAX_PATH]; | 562 CHAR[MAX_PATH] szIconExe; 563 int cchIconExe; 563 int cchIconExe; 564 } 564 } 565 alias OLEUICHANGEICONA* POLEUICHANGEICONA, LPOLEUICHANGEICONA; 565 alias OLEUICHANGEICONA* POLEUICHANGEICONA, LPOLEUICHANGEICONA; 566 566 567 struct OLEUICONVERTW { 567 struct OLEUICONVERTW { 568 DWORD cbStruct; 568 DWORD cbStruct; 569 DWORD dwFlags; 569 DWORD dwFlags; ................................................................................................................................................................................ 653 LPCWSTR lpszCaption; 653 LPCWSTR lpszCaption; 654 LPFNOLEUIHOOK lpfnHook; 654 LPFNOLEUIHOOK lpfnHook; 655 LPARAM lCustData; 655 LPARAM lCustData; 656 HINSTANCE hInstance; 656 HINSTANCE hInstance; 657 LPCWSTR lpszTemplate; 657 LPCWSTR lpszTemplate; 658 HRSRC hResource; 658 HRSRC hResource; 659 OPENFILENAMEW* lpOFN; 659 OPENFILENAMEW* lpOFN; 660 DWORD dwReserved1[4]; | 660 DWORD[4] dwReserved1; 661 LPOLEUILINKCONTAINERW lpOleUILinkContainer; 661 LPOLEUILINKCONTAINERW lpOleUILinkContainer; 662 DWORD dwLink; 662 DWORD dwLink; 663 LPWSTR lpszDisplayName; 663 LPWSTR lpszDisplayName; 664 ULONG nFileLength; 664 ULONG nFileLength; 665 LPWSTR lpszFrom; 665 LPWSTR lpszFrom; 666 LPWSTR lpszTo; 666 LPWSTR lpszTo; 667 } 667 } ................................................................................................................................................................................ 674 LPCSTR lpszCaption; 674 LPCSTR lpszCaption; 675 LPFNOLEUIHOOK lpfnHook; 675 LPFNOLEUIHOOK lpfnHook; 676 LPARAM lCustData; 676 LPARAM lCustData; 677 HINSTANCE hInstance; 677 HINSTANCE hInstance; 678 LPCSTR lpszTemplate; 678 LPCSTR lpszTemplate; 679 HRSRC hResource; 679 HRSRC hResource; 680 OPENFILENAMEA *lpOFN; 680 OPENFILENAMEA *lpOFN; 681 DWORD dwReserved1[4]; | 681 DWORD[4] dwReserved1; 682 LPOLEUILINKCONTAINERA lpOleUILinkContainer; 682 LPOLEUILINKCONTAINERA lpOleUILinkContainer; 683 DWORD dwLink; 683 DWORD dwLink; 684 LPSTR lpszDisplayName; 684 LPSTR lpszDisplayName; 685 ULONG nFileLength; 685 ULONG nFileLength; 686 LPSTR lpszFrom; 686 LPSTR lpszFrom; 687 LPSTR lpszTo; 687 LPSTR lpszTo; 688 } 688 } ................................................................................................................................................................................ 695 ULONG Release(); 695 ULONG Release(); 696 HRESULT GetObjectInfo(DWORD, PDWORD, LPWSTR*, LPWSTR*, LPWSTR*, LPWSTR*) 696 HRESULT GetObjectInfo(DWORD, PDWORD, LPWSTR*, LPWSTR*, LPWSTR*, LPWSTR*) 697 HRESULT GetConvertInfo(DWORD, CLSID*, PWORD, CLSID*, LPCLSID*, UINT*); 697 HRESULT GetConvertInfo(DWORD, CLSID*, PWORD, CLSID*, LPCLSID*, UINT*); 698 HRESULT ConvertObject(DWORD, REFCLSID); 698 HRESULT ConvertObject(DWORD, REFCLSID); 699 HRESULT GetViewInfo(DWORD, HGLOBAL*, PDWORD, int*); 699 HRESULT GetViewInfo(DWORD, HGLOBAL*, PDWORD, int*); 700 HRESULT SetViewInfo(DWORD, HGLOBAL, DWORD, int, BOOL); 700 HRESULT SetViewInfo(DWORD, HGLOBAL, DWORD, int, BOOL); 701 } 701 } 702 alias IOleUIObjInfoW *LPOLEUIOBJINFOW; | 702 alias IOleUIObjInfoW LPOLEUIOBJINFOW; 703 703 704 interface IOleUIObjInfoA : IUnknown 704 interface IOleUIObjInfoA : IUnknown 705 { 705 { 706 HRESULT QueryInterface(REFIID, PVOID*); 706 HRESULT QueryInterface(REFIID, PVOID*); 707 ULONG AddRef(); 707 ULONG AddRef(); 708 ULONG Release(); 708 ULONG Release(); 709 HRESULT GetObjectInfo(DWORD, PDWORD, LPSTR*, LPSTR*, LPSTR*, LPSTR*); 709 HRESULT GetObjectInfo(DWORD, PDWORD, LPSTR*, LPSTR*, LPSTR*, LPSTR*); 710 HRESULT GetConvertInfo(DWORD, CLSID*, PWORD, CLSID*, LPCLSID*, UINT*); 710 HRESULT GetConvertInfo(DWORD, CLSID*, PWORD, CLSID*, LPCLSID*, UINT*); 711 HRESULT ConvertObject(DWORD, REFCLSID); 711 HRESULT ConvertObject(DWORD, REFCLSID); 712 HRESULT GetViewInfo(DWORD, HGLOBAL*, PDWORD, int*); 712 HRESULT GetViewInfo(DWORD, HGLOBAL*, PDWORD, int*); 713 HRESULT SetViewInfo(DWORD, HGLOBAL, DWORD, int, BOOL); 713 HRESULT SetViewInfo(DWORD, HGLOBAL, DWORD, int, BOOL); 714 } 714 } 715 alias IOleUIObjInfoA *LPOLEUIOBJINFOA; | 715 alias IOleUIObjInfoA LPOLEUIOBJINFOA; 716 716 717 interface IOleUILinkInfoW : IOleUILinkContainerW 717 interface IOleUILinkInfoW : IOleUILinkContainerW 718 { 718 { 719 HRESULT QueryInterface(REFIID, PVOID*); 719 HRESULT QueryInterface(REFIID, PVOID*); 720 ULONG AddRef(); 720 ULONG AddRef(); 721 ULONG Release(); 721 ULONG Release(); 722 DWORD GetNextLink(DWORD); 722 DWORD GetNextLink(DWORD); ................................................................................................................................................................................ 725 HRESULT SetLinkSource(DWORD, LPWSTR, ULONG, PULONG, BOOL); 725 HRESULT SetLinkSource(DWORD, LPWSTR, ULONG, PULONG, BOOL); 726 HRESULT GetLinkSource(DWORD, LPWSTR*, PULONG, LPWSTR*, LPWSTR*, BOOL*, B 726 HRESULT GetLinkSource(DWORD, LPWSTR*, PULONG, LPWSTR*, LPWSTR*, BOOL*, B 727 HRESULT OpenLinkSource(DWORD); 727 HRESULT OpenLinkSource(DWORD); 728 HRESULT UpdateLink(DWORD, BOOL, BOOL); 728 HRESULT UpdateLink(DWORD, BOOL, BOOL); 729 HRESULT CancelLink(DWORD); 729 HRESULT CancelLink(DWORD); 730 HRESULT GetLastUpdate(DWORD, FILETIME*); 730 HRESULT GetLastUpdate(DWORD, FILETIME*); 731 } 731 } 732 alias IOleUILinkInfoW *LPOLEUILINKINFOW; | 732 alias IOleUILinkInfoW LPOLEUILINKINFOW; 733 733 734 interface IOleUILinkInfoA : IOleUILinkContainerA 734 interface IOleUILinkInfoA : IOleUILinkContainerA 735 { 735 { 736 HRESULT QueryInterface(REFIID, PVOID*); 736 HRESULT QueryInterface(REFIID, PVOID*); 737 ULONG AddRef(); 737 ULONG AddRef(); 738 ULONG Release(); 738 ULONG Release(); 739 DWORD GetNextLink(DWORD); 739 DWORD GetNextLink(DWORD); ................................................................................................................................................................................ 742 HRESULT SetLinkSource(DWORD, LPSTR, ULONG, PULONG, BOOL); 742 HRESULT SetLinkSource(DWORD, LPSTR, ULONG, PULONG, BOOL); 743 HRESULT GetLinkSource(DWORD, LPSTR*, PULONG, LPSTR*, LPSTR*, BOOL*, BOOL 743 HRESULT GetLinkSource(DWORD, LPSTR*, PULONG, LPSTR*, LPSTR*, BOOL*, BOOL 744 HRESULT OpenLinkSource(DWORD); 744 HRESULT OpenLinkSource(DWORD); 745 HRESULT UpdateLink(DWORD, BOOL, BOOL); 745 HRESULT UpdateLink(DWORD, BOOL, BOOL); 746 HRESULT CancelLink(DWORD); 746 HRESULT CancelLink(DWORD); 747 HRESULT GetLastUpdate(DWORD, FILETIME*); 747 HRESULT GetLastUpdate(DWORD, FILETIME*); 748 } 748 } 749 alias IOleUILinkInfoA* LPOLEUILINKINFOA; | 749 alias IOleUILinkInfoA LPOLEUILINKINFOA; 750 750 751 struct OLEUIGNRLPROPSW { 751 struct OLEUIGNRLPROPSW { 752 DWORD cbStruct; 752 DWORD cbStruct; 753 DWORD dwFlags; 753 DWORD dwFlags; 754 DWORD dwReserved1[2]; | 754 DWORD[2] dwReserved1; 755 LPFNOLEUIHOOK lpfnHook; 755 LPFNOLEUIHOOK lpfnHook; 756 LPARAM lCustData; 756 LPARAM lCustData; 757 DWORD dwReserved2[3]; | 757 DWORD[3] dwReserved2; 758 OLEUIOBJECTPROPSW* lpOP; 758 OLEUIOBJECTPROPSW* lpOP; 759 } 759 } 760 alias OLEUIGNRLPROPSW* POLEUIGNRLPROPSW, LPOLEUIGNRLPROPSW; 760 alias OLEUIGNRLPROPSW* POLEUIGNRLPROPSW, LPOLEUIGNRLPROPSW; 761 761 762 struct OLEUIGNRLPROPSA { 762 struct OLEUIGNRLPROPSA { 763 DWORD cbStruct; 763 DWORD cbStruct; 764 DWORD dwFlags; 764 DWORD dwFlags; 765 DWORD dwReserved1[2]; | 765 DWORD[2] dwReserved1; 766 LPFNOLEUIHOOK lpfnHook; 766 LPFNOLEUIHOOK lpfnHook; 767 LPARAM lCustData; 767 LPARAM lCustData; 768 DWORD dwReserved2[3]; | 768 DWORD[3] dwReserved2; 769 OLEUIOBJECTPROPSA* lpOP; 769 OLEUIOBJECTPROPSA* lpOP; 770 } 770 } 771 alias OLEUIGNRLPROPSA* POLEUIGNRLPROPSA, LPOLEUIGNRLPROPSA; 771 alias OLEUIGNRLPROPSA* POLEUIGNRLPROPSA, LPOLEUIGNRLPROPSA; 772 772 773 struct OLEUIVIEWPROPSW { 773 struct OLEUIVIEWPROPSW { 774 DWORD cbStruct; 774 DWORD cbStruct; 775 DWORD dwFlags; 775 DWORD dwFlags; 776 DWORD dwReserved1[2]; | 776 DWORD[2] dwReserved1; 777 LPFNOLEUIHOOK lpfnHook; 777 LPFNOLEUIHOOK lpfnHook; 778 LPARAM lCustData; 778 LPARAM lCustData; 779 DWORD dwReserved2[3]; | 779 DWORD[3] dwReserved2; 780 OLEUIOBJECTPROPSW* lpOP; 780 OLEUIOBJECTPROPSW* lpOP; 781 int nScaleMin; 781 int nScaleMin; 782 int nScaleMax; 782 int nScaleMax; 783 } 783 } 784 alias OLEUIVIEWPROPSW* POLEUIVIEWPROPSW, LPOLEUIVIEWPROPSW; 784 alias OLEUIVIEWPROPSW* POLEUIVIEWPROPSW, LPOLEUIVIEWPROPSW; 785 785 786 struct OLEUIVIEWPROPSA { 786 struct OLEUIVIEWPROPSA { 787 DWORD cbStruct; 787 DWORD cbStruct; 788 DWORD dwFlags; 788 DWORD dwFlags; 789 DWORD dwReserved1[2]; | 789 DWORD[2] dwReserved1; 790 LPFNOLEUIHOOK lpfnHook; 790 LPFNOLEUIHOOK lpfnHook; 791 LPARAM lCustData; 791 LPARAM lCustData; 792 DWORD dwReserved2[3]; | 792 DWORD[3] dwReserved2; 793 OLEUIOBJECTPROPSA *lpOP; 793 OLEUIOBJECTPROPSA *lpOP; 794 int nScaleMin; 794 int nScaleMin; 795 int nScaleMax; 795 int nScaleMax; 796 } 796 } 797 alias OLEUIVIEWPROPSA* POLEUIVIEWPROPSA, LPOLEUIVIEWPROPSA; 797 alias OLEUIVIEWPROPSA* POLEUIVIEWPROPSA, LPOLEUIVIEWPROPSA; 798 798 799 struct OLEUILINKPROPSW { 799 struct OLEUILINKPROPSW { 800 DWORD cbStruct; 800 DWORD cbStruct; 801 DWORD dwFlags; 801 DWORD dwFlags; 802 DWORD dwReserved1[2]; | 802 DWORD[2] dwReserved1; 803 LPFNOLEUIHOOK lpfnHook; 803 LPFNOLEUIHOOK lpfnHook; 804 LPARAM lCustData; 804 LPARAM lCustData; 805 DWORD dwReserved2[3]; | 805 DWORD[3] dwReserved2; 806 OLEUIOBJECTPROPSW *lpOP; 806 OLEUIOBJECTPROPSW *lpOP; 807 } 807 } 808 alias OLEUILINKPROPSW* POLEUILINKPROPSW, LPOLEUILINKPROPSW; 808 alias OLEUILINKPROPSW* POLEUILINKPROPSW, LPOLEUILINKPROPSW; 809 809 810 struct OLEUILINKPROPSA { 810 struct OLEUILINKPROPSA { 811 DWORD cbStruct; 811 DWORD cbStruct; 812 DWORD dwFlags; 812 DWORD dwFlags; 813 DWORD dwReserved1[2]; | 813 DWORD[2] dwReserved1; 814 LPFNOLEUIHOOK lpfnHook; 814 LPFNOLEUIHOOK lpfnHook; 815 LPARAM lCustData; 815 LPARAM lCustData; 816 DWORD dwReserved2[3]; | 816 DWORD[3] dwReserved2; 817 OLEUIOBJECTPROPSA* lpOP; 817 OLEUIOBJECTPROPSA* lpOP; 818 } 818 } 819 alias OLEUILINKPROPSA* POLEUILINKPROPSA, LPOLEUILINKPROPSA; 819 alias OLEUILINKPROPSA* POLEUILINKPROPSA, LPOLEUILINKPROPSA; 820 820 821 struct OLEUIOBJECTPROPSW { 821 struct OLEUIOBJECTPROPSW { 822 DWORD cbStruct; 822 DWORD cbStruct; 823 DWORD dwFlags; 823 DWORD dwFlags;

Modified src/win32/oleidl.d from [0d8181c3ae90ee78] to [7389b9c0e57070f9].

7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.oleidl; 10 module win32.oleidl; 11 11 12 // DAC: This is defined in ocidl !! 12 // DAC: This is defined in ocidl !! 13 // what is it doing in here? 13 // what is it doing in here? 14 //alias IEnumOleUndoUnits* LPENUMOLEUNDOUNITS; | 14 //alias IEnumOleUndoUnits LPENUMOLEUNDOUNITS; 15 15 16 private import win32.basetyps, win32.objidl, win32.unknwn, win32.windef, 16 private import win32.basetyps, win32.objidl, win32.unknwn, win32.windef, 17 win32.winuser, win32.wtypes; 17 win32.winuser, win32.wtypes; 18 private import win32.objfwd; // for LPMONIKER 18 private import win32.objfwd; // for LPMONIKER 19 private import win32.wingdi; // for LPLOGPALETTE 19 private import win32.wingdi; // for LPLOGPALETTE 20 20 21 const MK_ALT = 32; 21 const MK_ALT = 32; ................................................................................................................................................................................ 50 DROPEFFECT_COPY = 1, 50 DROPEFFECT_COPY = 1, 51 DROPEFFECT_MOVE = 2, 51 DROPEFFECT_MOVE = 2, 52 DROPEFFECT_LINK = 4, 52 DROPEFFECT_LINK = 4, 53 DROPEFFECT_SCROLL = 0x80000000 53 DROPEFFECT_SCROLL = 0x80000000 54 } 54 } 55 55 56 struct OLEMENUGROUPWIDTHS { 56 struct OLEMENUGROUPWIDTHS { 57 LONG width[6]; | 57 LONG[6] width; 58 } 58 } 59 alias OLEMENUGROUPWIDTHS* LPOLEMENUGROUPWIDTHS; 59 alias OLEMENUGROUPWIDTHS* LPOLEMENUGROUPWIDTHS; 60 60 61 alias HGLOBAL HOLEMENU; 61 alias HGLOBAL HOLEMENU; 62 62 63 enum OLECLOSE { 63 enum OLECLOSE { 64 OLECLOSE_SAVEIFDIRTY, 64 OLECLOSE_SAVEIFDIRTY, ................................................................................................................................................................................ 88 alias OLEINPLACEFRAMEINFO* LPOLEINPLACEFRAMEINFO; 88 alias OLEINPLACEFRAMEINFO* LPOLEINPLACEFRAMEINFO; 89 89 90 interface IEnumOLEVERB : IUnknown 90 interface IEnumOLEVERB : IUnknown 91 { 91 { 92 HRESULT Next(ULONG,OLEVERB*,ULONG*); 92 HRESULT Next(ULONG,OLEVERB*,ULONG*); 93 HRESULT Skip(ULONG); 93 HRESULT Skip(ULONG); 94 HRESULT Reset(); 94 HRESULT Reset(); 95 HRESULT Clone(IEnumOLEVERB**); | 95 HRESULT Clone(IEnumOLEVERB*); 96 } 96 } 97 //alias IEnumOLEVERB IEnumOleVerb; 97 //alias IEnumOLEVERB IEnumOleVerb; 98 alias IEnumOLEVERB LPENUMOLEVERB; 98 alias IEnumOLEVERB LPENUMOLEVERB; 99 99 100 100 101 interface IParseDisplayName : IUnknown { 101 interface IParseDisplayName : IUnknown { 102 HRESULT ParseDisplayName(IBindCtx*,LPOLESTR,ULONG*,IMoniker**); | 102 HRESULT ParseDisplayName(IBindCtx,LPOLESTR,ULONG*,IMoniker*); 103 } 103 } 104 alias IParseDisplayName LPPARSEDISPLAYNAME; 104 alias IParseDisplayName LPPARSEDISPLAYNAME; 105 105 106 interface IOleContainer : IParseDisplayName { 106 interface IOleContainer : IParseDisplayName { 107 HRESULT EnumObjects(DWORD,IEnumUnknown**); | 107 HRESULT EnumObjects(DWORD,IEnumUnknown*); 108 HRESULT LockContainer(BOOL); 108 HRESULT LockContainer(BOOL); 109 } 109 } 110 alias IOleContainer LPOLECONTAINER; 110 alias IOleContainer LPOLECONTAINER; 111 111 112 interface IOleItemContainer : IOleContainer { 112 interface IOleItemContainer : IOleContainer { 113 HRESULT GetObject(LPOLESTR,DWORD,IBindCtx*,REFIID,void**); | 113 HRESULT GetObject(LPOLESTR,DWORD,IBindCtx,REFIID,void**); 114 HRESULT GetObjectStorage(LPOLESTR,IBindCtx*,REFIID,void**); | 114 HRESULT GetObjectStorage(LPOLESTR,IBindCtx,REFIID,void**); 115 HRESULT IsRunning(LPOLESTR); 115 HRESULT IsRunning(LPOLESTR); 116 } 116 } 117 117 118 118 119 interface IOleClientSite : IUnknown { 119 interface IOleClientSite : IUnknown { 120 HRESULT SaveObject(); 120 HRESULT SaveObject(); 121 HRESULT GetMoniker(DWORD,DWORD,LPMONIKER*); 121 HRESULT GetMoniker(DWORD,DWORD,LPMONIKER*); ................................................................................................................................................................................ 192 } 192 } 193 alias IOleInPlaceFrame LPOLEINPLACEFRAME; 193 alias IOleInPlaceFrame LPOLEINPLACEFRAME; 194 194 195 interface IOleInPlaceSite : IOleWindow { 195 interface IOleInPlaceSite : IOleWindow { 196 HRESULT CanInPlaceActivate(); 196 HRESULT CanInPlaceActivate(); 197 HRESULT OnInPlaceActivate(); 197 HRESULT OnInPlaceActivate(); 198 HRESULT OnUIActivate(); 198 HRESULT OnUIActivate(); 199 HRESULT GetWindowContext(IOleInPlaceFrame*,IOleInPlaceUIWindow*,LPRECT,L | 199 HRESULT GetWindowContext(IOleInPlaceFrame,IOleInPlaceUIWindow,LPRECT,LPR 200 HRESULT Scroll(SIZE); 200 HRESULT Scroll(SIZE); 201 HRESULT OnUIDeactivate(BOOL); 201 HRESULT OnUIDeactivate(BOOL); 202 HRESULT OnInPlaceDeactivate(); 202 HRESULT OnInPlaceDeactivate(); 203 HRESULT DiscardUndoState(); 203 HRESULT DiscardUndoState(); 204 HRESULT DeactivateAndUndo(); 204 HRESULT DeactivateAndUndo(); 205 HRESULT OnPosRectChange(LPCRECT); 205 HRESULT OnPosRectChange(LPCRECT); 206 } 206 } ................................................................................................................................................................................ 234 } 234 } 235 235 236 interface IViewObject : IUnknown { 236 interface IViewObject : IUnknown { 237 HRESULT Draw(DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL, 237 HRESULT Draw(DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL, 238 HRESULT GetColorSet(DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*); 238 HRESULT GetColorSet(DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*); 239 HRESULT Freeze(DWORD,LONG,PVOID,PDWORD); 239 HRESULT Freeze(DWORD,LONG,PVOID,PDWORD); 240 HRESULT Unfreeze(DWORD); 240 HRESULT Unfreeze(DWORD); 241 HRESULT SetAdvise(DWORD,DWORD,IAdviseSink*); | 241 HRESULT SetAdvise(DWORD,DWORD,IAdviseSink); 242 HRESULT GetAdvise(PDWORD,PDWORD,IAdviseSink**); | 242 HRESULT GetAdvise(PDWORD,PDWORD,IAdviseSink*); 243 } 243 } 244 alias IViewObject LPVIEWOBJECT; 244 alias IViewObject LPVIEWOBJECT; 245 245 246 interface IViewObject2 : IViewObject { 246 interface IViewObject2 : IViewObject { 247 HRESULT GetExtent(DWORD,LONG,DVTARGETDEVICE*,LPSIZEL); 247 HRESULT GetExtent(DWORD,LONG,DVTARGETDEVICE*,LPSIZEL); 248 } 248 } 249 alias IViewObject2 LPVIEWOBJECT2; 249 alias IViewObject2 LPVIEWOBJECT2; 250 250 251 interface IOleCache : IUnknown { 251 interface IOleCache : IUnknown { 252 HRESULT Cache(FORMATETC*,DWORD,DWORD*); 252 HRESULT Cache(FORMATETC*,DWORD,DWORD*); 253 HRESULT Uncache(DWORD); 253 HRESULT Uncache(DWORD); 254 HRESULT EnumCache(IEnumSTATDATA**); | 254 HRESULT EnumCache(IEnumSTATDATA*); 255 HRESULT InitCache(LPDATAOBJECT); 255 HRESULT InitCache(LPDATAOBJECT); 256 HRESULT SetData(FORMATETC*,STGMEDIUM*,BOOL); 256 HRESULT SetData(FORMATETC*,STGMEDIUM*,BOOL); 257 } 257 } 258 alias IOleCache LPOLECACHE; 258 alias IOleCache LPOLECACHE; 259 259 260 interface IOleCache2 : IOleCache { 260 interface IOleCache2 : IOleCache { 261 HRESULT UpdateCache(LPDATAOBJECT,DWORD,LPVOID); 261 HRESULT UpdateCache(LPDATAOBJECT,DWORD,LPVOID);

Modified src/win32/pbt.d from [2dc3980bf690d05f] to [1cd64e8f9ee17783].

Modified src/win32/powrprof.d from [db10623ed83eba41] to [4256acef1917a8cc].

5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * by Stewart Gordon * 7 * by Stewart Gordon * 8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.powrprof; 11 module win32.powrprof; 12 pragma(lib, "powrprof.lib"); | 12 pragma(lib, "powrprof"); 13 13 14 private import win32.windef; 14 private import win32.windef; 15 private import win32.ntdef; 15 private import win32.ntdef; 16 16 17 // FIXME: look up Windows version support 17 // FIXME: look up Windows version support 18 18 19 const ULONG 19 const ULONG

Modified src/win32/prsht.d from [11c80dc8e4f04de3] to [d175d0f84ae40260].

5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * by Vladimir Vlasov * 7 * by Vladimir Vlasov * 8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.prsht; 11 module win32.prsht; 12 pragma(lib, "comctl32.lib"); | 12 pragma(lib, "comctl32"); 13 13 14 private import win32.w32api, win32.windef, win32.winuser; 14 private import win32.w32api, win32.windef, win32.winuser; 15 15 16 const MAXPROPPAGES = 100; 16 const MAXPROPPAGES = 100; 17 17 18 enum { 18 enum { 19 PSP_DEFAULT = 0x00000000, 19 PSP_DEFAULT = 0x00000000, ................................................................................................................................................................................ 24 PSP_RTLREADING = 0x00000010, 24 PSP_RTLREADING = 0x00000010, 25 PSP_HASHELP = 0x00000020, 25 PSP_HASHELP = 0x00000020, 26 PSP_USEREFPARENT = 0x00000040, 26 PSP_USEREFPARENT = 0x00000040, 27 PSP_USECALLBACK = 0x00000080, 27 PSP_USECALLBACK = 0x00000080, 28 PSP_PREMATURE = 0x00000400 28 PSP_PREMATURE = 0x00000400 29 } 29 } 30 30 31 static if (_WIN32_IE >= 0x0400) { | 31 static if (_WIN32_IE >= 0x400) { 32 enum { 32 enum { 33 PSP_HIDEHEADER = 0x00000800, 33 PSP_HIDEHEADER = 0x00000800, 34 PSP_USEHEADERTITLE = 0x00001000, 34 PSP_USEHEADERTITLE = 0x00001000, 35 PSP_USEHEADERSUBTITLE = 0x00002000 35 PSP_USEHEADERSUBTITLE = 0x00002000 36 } 36 } 37 } 37 } 38 38 ................................................................................................................................................................................ 54 PSH_USECALLBACK = 0x00000100, 54 PSH_USECALLBACK = 0x00000100, 55 PSH_HASHELP = 0x00000200, 55 PSH_HASHELP = 0x00000200, 56 PSH_MODELESS = 0x00000400, 56 PSH_MODELESS = 0x00000400, 57 PSH_RTLREADING = 0x00000800, 57 PSH_RTLREADING = 0x00000800, 58 PSH_WIZARDCONTEXTHELP = 0x00001000 58 PSH_WIZARDCONTEXTHELP = 0x00001000 59 } 59 } 60 60 61 static if (_WIN32_IE >= 0x0400) { | 61 static if (_WIN32_IE >= 0x400) { 62 enum { 62 enum { 63 PSH_WATERMARK = 0x00008000, 63 PSH_WATERMARK = 0x00008000, 64 PSH_USEHBMWATERMARK = 0x00010000, 64 PSH_USEHBMWATERMARK = 0x00010000, 65 PSH_USEHPLWATERMARK = 0x00020000, 65 PSH_USEHPLWATERMARK = 0x00020000, 66 PSH_STRETCHWATERMARK = 0x00040000, 66 PSH_STRETCHWATERMARK = 0x00040000, 67 PSH_HEADER = 0x00080000, 67 PSH_HEADER = 0x00080000, 68 PSH_USEHBMHEADER = 0x00100000, 68 PSH_USEHBMHEADER = 0x00100000, ................................................................................................................................................................................ 75 } else { 75 } else { 76 enum { 76 enum { 77 PSH_WIZARD97 = 0x01000000 77 PSH_WIZARD97 = 0x01000000 78 } 78 } 79 } 79 } 80 } 80 } 81 81 82 static if (_WIN32_IE >= 0x0500) { | 82 static if (_WIN32_IE >= 0x500) { 83 enum { 83 enum { 84 PSH_WIZARD_LITE = 0x00400000, 84 PSH_WIZARD_LITE = 0x00400000, 85 PSH_NOCONTEXTHELP = 0x02000000 85 PSH_NOCONTEXTHELP = 0x02000000 86 } 86 } 87 } 87 } 88 88 89 enum { 89 enum { ................................................................................................................................................................................ 100 PSN_RESET = (-203), 100 PSN_RESET = (-203), 101 PSN_HELP = (-205), 101 PSN_HELP = (-205), 102 PSN_WIZBACK = (-206), 102 PSN_WIZBACK = (-206), 103 PSN_WIZNEXT = (-207), 103 PSN_WIZNEXT = (-207), 104 PSN_WIZFINISH = (-208), 104 PSN_WIZFINISH = (-208), 105 PSN_QUERYCANCEL = (-209) 105 PSN_QUERYCANCEL = (-209) 106 } 106 } 107 static if (_WIN32_IE >= 0x0400) { | 107 static if (_WIN32_IE >= 0x400) { 108 enum { 108 enum { 109 PSN_GETOBJECT = (-210) 109 PSN_GETOBJECT = (-210) 110 } 110 } 111 } 111 } 112 static if (_WIN32_IE >= 0x0500) { | 112 static if (_WIN32_IE >= 0x500) { 113 enum { 113 enum { 114 PSN_TRANSLATEACCELERATOR = (-212), 114 PSN_TRANSLATEACCELERATOR = (-212), 115 PSN_QUERYINITIALFOCUS = (-213) 115 PSN_QUERYINITIALFOCUS = (-213) 116 } 116 } 117 } 117 } 118 118 119 enum { 119 enum { ................................................................................................................................................................................ 206 LPCSTR pszIcon; 206 LPCSTR pszIcon; 207 } 207 } 208 LPCSTR pszTitle; 208 LPCSTR pszTitle; 209 DLGPROC pfnDlgProc; 209 DLGPROC pfnDlgProc; 210 LPARAM lParam; 210 LPARAM lParam; 211 LPFNPSPCALLBACKA pfnCallback; 211 LPFNPSPCALLBACKA pfnCallback; 212 UINT* pcRefParent; 212 UINT* pcRefParent; 213 static if (_WIN32_IE >= 0x0400) { | 213 static if (_WIN32_IE >= 0x400) { 214 LPCSTR pszHeaderTitle; 214 LPCSTR pszHeaderTitle; 215 LPCSTR pszHeaderSubTitle; 215 LPCSTR pszHeaderSubTitle; 216 } 216 } 217 } 217 } 218 alias PROPSHEETPAGEA* LPPROPSHEETPAGEA; | 218 alias PROPSHEETPAGEA* LPPROPSHEETPAGEA; 219 alias CPtr!(PROPSHEETPAGEA) LPCPROPSHEETPAGEA; | 219 alias const(PROPSHEETPAGEA)* LPCPROPSHEETPAGEA; 220 220 221 struct PROPSHEETPAGEW { 221 struct PROPSHEETPAGEW { 222 DWORD dwSize = PROPSHEETPAGEW.sizeof; 222 DWORD dwSize = PROPSHEETPAGEW.sizeof; 223 DWORD dwFlags; 223 DWORD dwFlags; 224 HINSTANCE hInstance; 224 HINSTANCE hInstance; 225 union { 225 union { 226 LPCWSTR pszTemplate; 226 LPCWSTR pszTemplate; ................................................................................................................................................................................ 231 LPCWSTR pszIcon; 231 LPCWSTR pszIcon; 232 } 232 } 233 LPCWSTR pszTitle; 233 LPCWSTR pszTitle; 234 DLGPROC pfnDlgProc; 234 DLGPROC pfnDlgProc; 235 LPARAM lParam; 235 LPARAM lParam; 236 LPFNPSPCALLBACKW pfnCallback; 236 LPFNPSPCALLBACKW pfnCallback; 237 UINT* pcRefParent; 237 UINT* pcRefParent; 238 static if (_WIN32_IE >= 0x0400) { | 238 static if (_WIN32_IE >= 0x400) { 239 LPCWSTR pszHeaderTitle; 239 LPCWSTR pszHeaderTitle; 240 LPCWSTR pszHeaderSubTitle; 240 LPCWSTR pszHeaderSubTitle; 241 } 241 } 242 } 242 } 243 alias PROPSHEETPAGEW* LPPROPSHEETPAGEW; | 243 alias PROPSHEETPAGEW* LPPROPSHEETPAGEW; 244 alias CPtr!(PROPSHEETPAGEW) LPCPROPSHEETPAGEW; | 244 alias const(PROPSHEETPAGEW)* LPCPROPSHEETPAGEW; 245 245 246 alias HANDLE HPROPSHEETPAGE; | 246 mixin DECLARE_HANDLE!("HPROPSHEETPAGE"); 247 247 248 struct PROPSHEETHEADERA { 248 struct PROPSHEETHEADERA { 249 DWORD dwSize = PROPSHEETHEADERA.sizeof; 249 DWORD dwSize = PROPSHEETHEADERA.sizeof; 250 DWORD dwFlags; 250 DWORD dwFlags; 251 HWND hwndParent; 251 HWND hwndParent; 252 HINSTANCE hInstance; 252 HINSTANCE hInstance; 253 union { 253 union { ................................................................................................................................................................................ 261 LPCSTR pStartPage; 261 LPCSTR pStartPage; 262 } 262 } 263 union { 263 union { 264 LPCPROPSHEETPAGEA ppsp; 264 LPCPROPSHEETPAGEA ppsp; 265 HPROPSHEETPAGE* phpage; 265 HPROPSHEETPAGE* phpage; 266 } 266 } 267 PFNPROPSHEETCALLBACK pfnCallback; 267 PFNPROPSHEETCALLBACK pfnCallback; 268 static if (_WIN32_IE >= 0x0400) { | 268 static if (_WIN32_IE >= 0x400) { 269 union { 269 union { 270 HBITMAP hbmWatermark; 270 HBITMAP hbmWatermark; 271 LPCSTR pszbmWatermark; 271 LPCSTR pszbmWatermark; 272 } 272 } 273 HPALETTE hplWatermark; 273 HPALETTE hplWatermark; 274 union { 274 union { 275 HBITMAP hbmHeader; 275 HBITMAP hbmHeader; 276 LPCSTR pszbmHeader; 276 LPCSTR pszbmHeader; 277 } 277 } 278 } 278 } 279 } 279 } 280 alias PROPSHEETHEADERA* LPPROPSHEETHEADERA; | 280 alias PROPSHEETHEADERA* LPPROPSHEETHEADERA; 281 alias CPtr!(PROPSHEETHEADERA) LPCPROPSHEETHEADERA; | 281 alias const(PROPSHEETHEADERA)* LPCPROPSHEETHEADERA; 282 282 283 struct PROPSHEETHEADERW { 283 struct PROPSHEETHEADERW { 284 DWORD dwSize = PROPSHEETHEADERW.sizeof; 284 DWORD dwSize = PROPSHEETHEADERW.sizeof; 285 DWORD dwFlags; 285 DWORD dwFlags; 286 HWND hwndParent; 286 HWND hwndParent; 287 HINSTANCE hInstance; 287 HINSTANCE hInstance; 288 union { 288 union { ................................................................................................................................................................................ 296 LPCWSTR pStartPage; 296 LPCWSTR pStartPage; 297 } 297 } 298 union { 298 union { 299 LPCPROPSHEETPAGEW ppsp; 299 LPCPROPSHEETPAGEW ppsp; 300 HPROPSHEETPAGE* phpage; 300 HPROPSHEETPAGE* phpage; 301 } 301 } 302 PFNPROPSHEETCALLBACK pfnCallback; 302 PFNPROPSHEETCALLBACK pfnCallback; 303 static if (_WIN32_IE >= 0x0400) { | 303 static if (_WIN32_IE >= 0x400) { 304 union { 304 union { 305 HBITMAP hbmWatermark; 305 HBITMAP hbmWatermark; 306 LPCWSTR pszbmWatermark; 306 LPCWSTR pszbmWatermark; 307 } 307 } 308 HPALETTE hplWatermark; 308 HPALETTE hplWatermark; 309 union { 309 union { 310 HBITMAP hbmHeader; 310 HBITMAP hbmHeader; 311 LPCWSTR pszbmHeader; 311 LPCWSTR pszbmHeader; 312 } 312 } 313 } 313 } 314 } 314 } 315 alias PROPSHEETHEADERW* LPPROPSHEETHEADERW; | 315 alias PROPSHEETHEADERW* LPPROPSHEETHEADERW; 316 alias CPtr!(PROPSHEETHEADERW) LPCPROPSHEETHEADERW; | 316 alias const(PROPSHEETHEADERW)* LPCPROPSHEETHEADERW; 317 317 318 alias BOOL function(HPROPSHEETPAGE, LPARAM) LPFNADDPROPSHEETPAGE; 318 alias BOOL function(HPROPSHEETPAGE, LPARAM) LPFNADDPROPSHEETPAGE; 319 alias BOOL function(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM) 319 alias BOOL function(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM) 320 LPFNADDPROPSHEETPAGES; 320 LPFNADDPROPSHEETPAGES; 321 321 322 struct PSHNOTIFY { 322 struct PSHNOTIFY { 323 NMHDR hdr; 323 NMHDR hdr; ................................................................................................................................................................................ 387 } 387 } 388 388 389 VOID PropSheet_CancelToClose(HWND hPropSheetDlg) { 389 VOID PropSheet_CancelToClose(HWND hPropSheetDlg) { 390 SendMessage(hPropSheetDlg, PSM_CANCELTOCLOSE, 0, 0); 390 SendMessage(hPropSheetDlg, PSM_CANCELTOCLOSE, 0, 0); 391 } 391 } 392 392 393 int PropSheet_QuerySiblings(HWND hPropSheetDlg, WPARAM param1, LPARAM param2) { 393 int PropSheet_QuerySiblings(HWND hPropSheetDlg, WPARAM param1, LPARAM param2) { 394 return SendMessage(hPropSheetDlg, PSM_QUERYSIBLINGS, param1, param2); | 394 return cast(int) SendMessage(hPropSheetDlg, PSM_QUERYSIBLINGS, param1, p 395 } 395 } 396 396 397 VOID PropSheet_UnChanged(HWND hPropSheetDlg, HWND hwndPage) { 397 VOID PropSheet_UnChanged(HWND hPropSheetDlg, HWND hwndPage) { 398 SendMessage(hPropSheetDlg, PSM_UNCHANGED, cast(WPARAM) hwndPage, 0); 398 SendMessage(hPropSheetDlg, PSM_UNCHANGED, cast(WPARAM) hwndPage, 0); 399 } 399 } 400 400 401 BOOL PropSheet_Apply(HWND hPropSheetDlg) { 401 BOOL PropSheet_Apply(HWND hPropSheetDlg) {

Modified src/win32/psapi.d from [918550e05f5d1ab7] to [0dd82e579fd2aa23].

Modified src/win32/rapi.d from [f5377fbd24e425cd] to [83d09d08acc17a2f].

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

Modified src/win32/ras.d from [4c380b195643fbdf] to [d951e56f7ba4f779].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.ras; 10 module win32.ras; 11 pragma(lib, "rasapi32.lib"); | 11 pragma(lib, "rasapi32"); 12 12 13 private import win32.basetyps, win32.lmcons, win32.w32api, win32.windef; 13 private import win32.basetyps, win32.lmcons, win32.w32api, win32.windef; 14 14 15 align(4): 15 align(4): 16 16 17 const RAS_MaxDeviceType = 16; 17 const RAS_MaxDeviceType = 16; 18 const RAS_MaxPhoneNumber = 128; 18 const RAS_MaxPhoneNumber = 128; ................................................................................................................................................................................ 91 RASDT_Parallel = "PARALLEL"; 91 RASDT_Parallel = "PARALLEL"; 92 92 93 const RASET_Phone = 1; 93 const RASET_Phone = 1; 94 const RASET_Vpn = 2; 94 const RASET_Vpn = 2; 95 const RASET_Direct = 3; 95 const RASET_Direct = 3; 96 const RASET_Internet = 4; 96 const RASET_Internet = 4; 97 97 98 static if (WINVER >= 0x0401) { | 98 static if (_WIN32_WINNT >= 0x401) { 99 const RASEO_SecureLocalFiles = 0x00010000; 99 const RASEO_SecureLocalFiles = 0x00010000; 100 const RASCN_Connection = 0x00000001; 100 const RASCN_Connection = 0x00000001; 101 const RASCN_Disconnection = 0x00000002; 101 const RASCN_Disconnection = 0x00000002; 102 const RASCN_BandwidthAdded = 0x00000004; 102 const RASCN_BandwidthAdded = 0x00000004; 103 const RASCN_BandwidthRemoved = 0x00000008; 103 const RASCN_BandwidthRemoved = 0x00000008; 104 const RASEDM_DialAll = 1; 104 const RASEDM_DialAll = 1; 105 const RASEDM_DialAsNeeded = 2; 105 const RASEDM_DialAsNeeded = 2; ................................................................................................................................................................................ 111 const RASCM_Domain = 0x00000004; 111 const RASCM_Domain = 0x00000004; 112 const RASADP_DisableConnectionQuery = 0; 112 const RASADP_DisableConnectionQuery = 0; 113 const RASADP_LoginSessionDisable = 1; 113 const RASADP_LoginSessionDisable = 1; 114 const RASADP_SavedAddressesLimit = 2; 114 const RASADP_SavedAddressesLimit = 2; 115 const RASADP_FailedConnectionTimeout = 3; 115 const RASADP_FailedConnectionTimeout = 3; 116 const RASADP_ConnectionQueryTimeout = 4; 116 const RASADP_ConnectionQueryTimeout = 4; 117 } 117 } 118 static if (WINVER >= 0x0500) { | 118 static if (_WIN32_WINNT >= 0x500) { 119 const RDEOPT_CustomDial = 0x00001000; 119 const RDEOPT_CustomDial = 0x00001000; 120 const RASLCPAP_PAP = 0xC023; 120 const RASLCPAP_PAP = 0xC023; 121 const RASLCPAP_SPAP = 0xC027; 121 const RASLCPAP_SPAP = 0xC027; 122 const RASLCPAP_CHAP = 0xC223; 122 const RASLCPAP_CHAP = 0xC223; 123 const RASLCPAP_EAP = 0xC227; 123 const RASLCPAP_EAP = 0xC227; 124 const RASLCPAD_CHAP_MD5 = 0x05; 124 const RASLCPAD_CHAP_MD5 = 0x05; 125 const RASLCPAD_CHAP_MS = 0x80; 125 const RASLCPAD_CHAP_MS = 0x80; ................................................................................................................................................................................ 196 RASCS_LogonNetwork, 196 RASCS_LogonNetwork, 197 RASCS_SubEntryConnected, 197 RASCS_SubEntryConnected, 198 RASCS_SubEntryDisconnected, 198 RASCS_SubEntryDisconnected, 199 RASCS_Interactive = RASCS_PAUSED, 199 RASCS_Interactive = RASCS_PAUSED, 200 RASCS_RetryAuthentication, 200 RASCS_RetryAuthentication, 201 RASCS_CallbackSetByCaller, 201 RASCS_CallbackSetByCaller, 202 RASCS_PasswordExpired, 202 RASCS_PasswordExpired, 203 // static if (WINVER >= 0x0500) { | 203 // static if (_WIN32_WINNT >= 0x500) { 204 RASCS_InvokeEapUI, 204 RASCS_InvokeEapUI, 205 // } 205 // } 206 RASCS_Connected = RASCS_DONE, 206 RASCS_Connected = RASCS_DONE, 207 RASCS_Disconnected 207 RASCS_Disconnected 208 } 208 } 209 alias RASCONNSTATE* LPRASCONNSTATE; 209 alias RASCONNSTATE* LPRASCONNSTATE; 210 210 211 enum RASPROJECTION { 211 enum RASPROJECTION { 212 RASP_Amb = 0x10000, 212 RASP_Amb = 0x10000, 213 RASP_PppNbf = 0x803F, 213 RASP_PppNbf = 0x803F, 214 RASP_PppIpx = 0x802B, 214 RASP_PppIpx = 0x802B, 215 RASP_PppIp = 0x8021, 215 RASP_PppIp = 0x8021, 216 // static if (WINVER >= 0x0500) { | 216 // static if (_WIN32_WINNT >= 0x500) { 217 RASP_PppCcp = 0x80FD, 217 RASP_PppCcp = 0x80FD, 218 // } 218 // } 219 RASP_PppLcp = 0xC021, 219 RASP_PppLcp = 0xC021, 220 RASP_Slip = 0x20000 220 RASP_Slip = 0x20000 221 } 221 } 222 alias RASPROJECTION* LPRASPROJECTION; 222 alias RASPROJECTION* LPRASPROJECTION; 223 223 224 alias HANDLE HRASCONN; | 224 alias TypeDef!(HANDLE) HRASCONN; 225 alias HRASCONN* LPHRASCONN; 225 alias HRASCONN* LPHRASCONN; 226 226 227 struct RASCONNW { 227 struct RASCONNW { 228 DWORD dwSize; 228 DWORD dwSize; 229 HRASCONN hrasconn; 229 HRASCONN hrasconn; 230 WCHAR szEntryName[RAS_MaxEntryName + 1]; | 230 WCHAR[RAS_MaxEntryName + 1] szEntryName; 231 static if (WINVER >= 0x0400) { < 232 WCHAR szDeviceType[RAS_MaxDeviceType + 1]; | 231 WCHAR[RAS_MaxDeviceType + 1] szDeviceType; 233 WCHAR szDeviceName[RAS_MaxDeviceName + 1]; | 232 WCHAR[RAS_MaxDeviceName + 1] szDeviceName; 234 } < 235 static if (WINVER >= 0x0401) { | 233 static if (_WIN32_WINNT >= 0x401) { 236 WCHAR szPhonebook[MAX_PATH]; | 234 WCHAR[MAX_PATH] szPhonebook; 237 DWORD dwSubEntry; 235 DWORD dwSubEntry; 238 } 236 } 239 static if (WINVER >= 0x0500) { | 237 static if (_WIN32_WINNT >= 0x500) { 240 GUID guidEntry; 238 GUID guidEntry; 241 } 239 } 242 static if (WINVER >= 0x0501) { | 240 static if (_WIN32_WINNT >= 0x501) { 243 DWORD dwFlags; 241 DWORD dwFlags; 244 LUID luid; 242 LUID luid; 245 } 243 } 246 } 244 } 247 alias RASCONNW* LPRASCONNW; 245 alias RASCONNW* LPRASCONNW; 248 246 249 struct RASCONNA { 247 struct RASCONNA { 250 DWORD dwSize; 248 DWORD dwSize; 251 HRASCONN hrasconn; 249 HRASCONN hrasconn; 252 CHAR szEntryName[RAS_MaxEntryName + 1]; | 250 CHAR[RAS_MaxEntryName + 1] szEntryName; 253 static if (WINVER >= 0x0400) { < 254 CHAR szDeviceType[RAS_MaxDeviceType + 1]; | 251 CHAR[RAS_MaxDeviceType + 1] szDeviceType; 255 CHAR szDeviceName[RAS_MaxDeviceName + 1]; | 252 CHAR[RAS_MaxDeviceName + 1] szDeviceName; 256 } < 257 static if (WINVER >= 0x0401) { | 253 static if (_WIN32_WINNT >= 0x401) { 258 CHAR szPhonebook[MAX_PATH]; | 254 CHAR[MAX_PATH] szPhonebook; 259 DWORD dwSubEntry; 255 DWORD dwSubEntry; 260 } 256 } 261 static if (WINVER >= 0x0500) { | 257 static if (_WIN32_WINNT >= 0x500) { 262 GUID guidEntry; 258 GUID guidEntry; 263 } 259 } 264 static if (WINVER >= 0x0501) { | 260 static if (_WIN32_WINNT >= 0x501) { 265 DWORD dwFlags; 261 DWORD dwFlags; 266 LUID luid; 262 LUID luid; 267 } 263 } 268 } 264 } 269 alias RASCONNA* LPRASCONNA; 265 alias RASCONNA* LPRASCONNA; 270 266 271 struct RASCONNSTATUSW { 267 struct RASCONNSTATUSW { 272 DWORD dwSize; 268 DWORD dwSize; 273 RASCONNSTATE rasconnstate; 269 RASCONNSTATE rasconnstate; 274 DWORD dwError; 270 DWORD dwError; 275 WCHAR szDeviceType[RAS_MaxDeviceType + 1]; | 271 WCHAR[RAS_MaxDeviceType + 1] szDeviceType; 276 WCHAR szDeviceName[RAS_MaxDeviceName + 1]; | 272 WCHAR[RAS_MaxDeviceName + 1] szDeviceName; 277 static if (WINVER >= 0x0401) { | 273 static if (_WIN32_WINNT >= 0x401) { 278 WCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1]; | 274 WCHAR[RAS_MaxPhoneNumber + 1] szPhoneNumber; 279 } 275 } 280 } 276 } 281 alias RASCONNSTATUSW* LPRASCONNSTATUSW; 277 alias RASCONNSTATUSW* LPRASCONNSTATUSW; 282 278 283 struct RASCONNSTATUSA { 279 struct RASCONNSTATUSA { 284 DWORD dwSize; 280 DWORD dwSize; 285 RASCONNSTATE rasconnstate; 281 RASCONNSTATE rasconnstate; 286 DWORD dwError; 282 DWORD dwError; 287 CHAR szDeviceType[RAS_MaxDeviceType + 1]; | 283 CHAR[RAS_MaxDeviceType + 1] szDeviceType; 288 CHAR szDeviceName[RAS_MaxDeviceName + 1]; | 284 CHAR[RAS_MaxDeviceName + 1] szDeviceName; 289 static if (WINVER >= 0x0401) { | 285 static if (_WIN32_WINNT >= 0x401) { 290 CHAR szPhoneNumber[RAS_MaxPhoneNumber + 1]; | 286 CHAR[RAS_MaxPhoneNumber + 1] szPhoneNumber; 291 } 287 } 292 } 288 } 293 alias RASCONNSTATUSA* LPRASCONNSTATUSA; 289 alias RASCONNSTATUSA* LPRASCONNSTATUSA; 294 290 295 struct RASDIALPARAMSW { 291 struct RASDIALPARAMSW { 296 DWORD dwSize; 292 DWORD dwSize; 297 WCHAR szEntryName[RAS_MaxEntryName + 1]; | 293 WCHAR[RAS_MaxEntryName + 1] szEntryName; 298 WCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1]; | 294 WCHAR[RAS_MaxPhoneNumber + 1] szPhoneNumber; 299 WCHAR szCallbackNumber[RAS_MaxCallbackNumber + 1]; | 295 WCHAR[RAS_MaxCallbackNumber + 1] szCallbackNumber; 300 WCHAR szUserName[UNLEN + 1]; | 296 WCHAR[UNLEN + 1] szUserName; 301 WCHAR szPassword[PWLEN + 1]; | 297 WCHAR[PWLEN + 1] szPassword; 302 WCHAR szDomain[DNLEN + 1]; | 298 WCHAR[DNLEN + 1] szDomain; 303 static if (WINVER >= 0x0401) { | 299 static if (_WIN32_WINNT >= 0x401) { 304 DWORD dwSubEntry; 300 DWORD dwSubEntry; 305 ULONG_PTR dwCallbackId; 301 ULONG_PTR dwCallbackId; 306 } 302 } 307 } 303 } 308 alias RASDIALPARAMSW* LPRASDIALPARAMSW; 304 alias RASDIALPARAMSW* LPRASDIALPARAMSW; 309 305 310 struct RASDIALPARAMSA{ 306 struct RASDIALPARAMSA{ 311 DWORD dwSize; 307 DWORD dwSize; 312 CHAR szEntryName[RAS_MaxEntryName + 1]; | 308 CHAR[RAS_MaxEntryName + 1] szEntryName; 313 CHAR szPhoneNumber[RAS_MaxPhoneNumber + 1]; | 309 CHAR[RAS_MaxPhoneNumber + 1] szPhoneNumber; 314 CHAR szCallbackNumber[RAS_MaxCallbackNumber + 1]; | 310 CHAR[RAS_MaxCallbackNumber + 1] szCallbackNumber; 315 CHAR szUserName[UNLEN + 1]; | 311 CHAR[UNLEN + 1] szUserName; 316 CHAR szPassword[PWLEN + 1]; | 312 CHAR[PWLEN + 1] szPassword; 317 CHAR szDomain[DNLEN + 1]; | 313 CHAR[DNLEN + 1] szDomain; 318 static if (WINVER >= 0x0401) { | 314 static if (_WIN32_WINNT >= 0x401) { 319 DWORD dwSubEntry; 315 DWORD dwSubEntry; 320 ULONG_PTR dwCallbackId; 316 ULONG_PTR dwCallbackId; 321 } 317 } 322 } 318 } 323 alias RASDIALPARAMSA* LPRASDIALPARAMSA; 319 alias RASDIALPARAMSA* LPRASDIALPARAMSA; 324 320 325 static if (WINVER >= 0x0500) { | 321 static if (_WIN32_WINNT >= 0x500) { 326 struct RASEAPINFO { 322 struct RASEAPINFO { 327 DWORD dwSizeofEapInfo; 323 DWORD dwSizeofEapInfo; 328 BYTE *pbEapInfo; 324 BYTE *pbEapInfo; 329 } 325 } 330 } 326 } 331 327 332 struct RASDIALEXTENSIONS { 328 struct RASDIALEXTENSIONS { 333 DWORD dwSize; 329 DWORD dwSize; 334 DWORD dwfOptions; 330 DWORD dwfOptions; 335 HWND hwndParent; 331 HWND hwndParent; 336 ULONG_PTR reserved; 332 ULONG_PTR reserved; 337 static if (WINVER >= 0x0500) { | 333 static if (_WIN32_WINNT >= 0x500) { 338 ULONG_PTR reserved1; 334 ULONG_PTR reserved1; 339 RASEAPINFO RasEapInfo; 335 RASEAPINFO RasEapInfo; 340 } 336 } 341 } 337 } 342 alias RASDIALEXTENSIONS* LPRASDIALEXTENSIONS; 338 alias RASDIALEXTENSIONS* LPRASDIALEXTENSIONS; 343 339 344 struct RASENTRYNAMEW { 340 struct RASENTRYNAMEW { 345 DWORD dwSize; 341 DWORD dwSize; 346 WCHAR szEntryName[RAS_MaxEntryName + 1]; | 342 WCHAR[RAS_MaxEntryName + 1] szEntryName; 347 static if (WINVER >= 0x0500) { | 343 static if (_WIN32_WINNT >= 0x500) { 348 DWORD dwFlags; 344 DWORD dwFlags; 349 WCHAR szPhonebookPath[MAX_PATH + 1]; | 345 WCHAR[MAX_PATH + 1] szPhonebookPath; 350 } 346 } 351 } 347 } 352 alias RASENTRYNAMEW* LPRASENTRYNAMEW; 348 alias RASENTRYNAMEW* LPRASENTRYNAMEW; 353 349 354 struct RASENTRYNAMEA{ 350 struct RASENTRYNAMEA{ 355 DWORD dwSize; 351 DWORD dwSize; 356 CHAR szEntryName[RAS_MaxEntryName + 1]; | 352 CHAR[RAS_MaxEntryName + 1] szEntryName; 357 static if (WINVER >= 0x0500) { | 353 static if (_WIN32_WINNT >= 0x500) { 358 DWORD dwFlags; 354 DWORD dwFlags; 359 CHAR szPhonebookPath[MAX_PATH + 1]; | 355 CHAR[MAX_PATH + 1] szPhonebookPath; 360 } 356 } 361 } 357 } 362 alias RASENTRYNAMEA* LPRASENTRYNAMEA; 358 alias RASENTRYNAMEA* LPRASENTRYNAMEA; 363 359 364 struct RASAMBW{ 360 struct RASAMBW{ 365 DWORD dwSize; 361 DWORD dwSize; 366 DWORD dwError; 362 DWORD dwError; 367 WCHAR szNetBiosError[NETBIOS_NAME_LEN + 1]; | 363 WCHAR[NETBIOS_NAME_LEN + 1] szNetBiosError; 368 BYTE bLana; 364 BYTE bLana; 369 } 365 } 370 alias RASAMBW* LPRASAMBW; 366 alias RASAMBW* LPRASAMBW; 371 367 372 struct RASAMBA{ 368 struct RASAMBA{ 373 DWORD dwSize; 369 DWORD dwSize; 374 DWORD dwError; 370 DWORD dwError; 375 CHAR szNetBiosError[NETBIOS_NAME_LEN + 1]; | 371 CHAR[NETBIOS_NAME_LEN + 1] szNetBiosError; 376 BYTE bLana; 372 BYTE bLana; 377 } 373 } 378 alias RASAMBA* LPRASAMBA; 374 alias RASAMBA* LPRASAMBA; 379 375 380 struct RASPPPNBFW{ 376 struct RASPPPNBFW{ 381 DWORD dwSize; 377 DWORD dwSize; 382 DWORD dwError; 378 DWORD dwError; 383 DWORD dwNetBiosError; 379 DWORD dwNetBiosError; 384 WCHAR szNetBiosError[NETBIOS_NAME_LEN + 1]; | 380 WCHAR[NETBIOS_NAME_LEN + 1] szNetBiosError; 385 WCHAR szWorkstationName[NETBIOS_NAME_LEN + 1]; | 381 WCHAR[NETBIOS_NAME_LEN + 1] szWorkstationName; 386 BYTE bLana; 382 BYTE bLana; 387 } 383 } 388 alias RASPPPNBFW* LPRASPPPNBFW; 384 alias RASPPPNBFW* LPRASPPPNBFW; 389 385 390 struct RASPPPNBFA{ 386 struct RASPPPNBFA{ 391 DWORD dwSize; 387 DWORD dwSize; 392 DWORD dwError; 388 DWORD dwError; 393 DWORD dwNetBiosError; 389 DWORD dwNetBiosError; 394 CHAR szNetBiosError[NETBIOS_NAME_LEN + 1]; | 390 CHAR[NETBIOS_NAME_LEN + 1] szNetBiosError; 395 CHAR szWorkstationName[NETBIOS_NAME_LEN + 1]; | 391 CHAR[NETBIOS_NAME_LEN + 1] szWorkstationName; 396 BYTE bLana; 392 BYTE bLana; 397 } 393 } 398 alias RASPPPNBFA* LPRASPPPNBFA; 394 alias RASPPPNBFA* LPRASPPPNBFA; 399 395 400 struct RASPPPIPXW { 396 struct RASPPPIPXW { 401 DWORD dwSize; 397 DWORD dwSize; 402 DWORD dwError; 398 DWORD dwError; 403 WCHAR szIpxAddress[RAS_MaxIpxAddress + 1]; | 399 WCHAR[RAS_MaxIpxAddress + 1] szIpxAddress; 404 } 400 } 405 alias RASPPPIPXW* LPRASPPPIPXW; 401 alias RASPPPIPXW* LPRASPPPIPXW; 406 402 407 struct RASPPPIPXA { 403 struct RASPPPIPXA { 408 DWORD dwSize; 404 DWORD dwSize; 409 DWORD dwError; 405 DWORD dwError; 410 CHAR szIpxAddress[RAS_MaxIpxAddress + 1]; | 406 CHAR[RAS_MaxIpxAddress + 1] szIpxAddress; 411 } 407 } 412 alias RASPPPIPXA* LPRASPPPIPXA; 408 alias RASPPPIPXA* LPRASPPPIPXA; 413 409 414 struct RASPPPIPW{ 410 struct RASPPPIPW{ 415 DWORD dwSize; 411 DWORD dwSize; 416 DWORD dwError; 412 DWORD dwError; 417 WCHAR szIpAddress[RAS_MaxIpAddress + 1]; | 413 WCHAR[RAS_MaxIpAddress + 1] szIpAddress; 418 //#ifndef WINNT35COMPATIBLE 414 //#ifndef WINNT35COMPATIBLE 419 WCHAR szServerIpAddress[RAS_MaxIpAddress + 1]; | 415 WCHAR[RAS_MaxIpAddress + 1] szServerIpAddress; 420 //#endif 416 //#endif 421 static if (WINVER >= 0x0500) { | 417 static if (_WIN32_WINNT >= 0x500) { 422 DWORD dwOptions; 418 DWORD dwOptions; 423 DWORD dwServerOptions; 419 DWORD dwServerOptions; 424 } 420 } 425 } 421 } 426 alias RASPPPIPW* LPRASPPPIPW; 422 alias RASPPPIPW* LPRASPPPIPW; 427 423 428 struct RASPPPIPA{ 424 struct RASPPPIPA{ 429 DWORD dwSize; 425 DWORD dwSize; 430 DWORD dwError; 426 DWORD dwError; 431 CHAR szIpAddress[RAS_MaxIpAddress + 1]; | 427 CHAR[RAS_MaxIpAddress + 1] szIpAddress; 432 //#ifndef WINNT35COMPATIBLE 428 //#ifndef WINNT35COMPATIBLE 433 CHAR szServerIpAddress[RAS_MaxIpAddress + 1]; | 429 CHAR[RAS_MaxIpAddress + 1] szServerIpAddress; 434 //#endif 430 //#endif 435 static if (WINVER >= 0x0500) { | 431 static if (_WIN32_WINNT >= 0x500) { 436 DWORD dwOptions; 432 DWORD dwOptions; 437 DWORD dwServerOptions; 433 DWORD dwServerOptions; 438 } 434 } 439 } 435 } 440 alias RASPPPIPA* LPRASPPPIPA; 436 alias RASPPPIPA* LPRASPPPIPA; 441 437 442 struct RASPPPLCPW{ 438 struct RASPPPLCPW{ 443 DWORD dwSize; 439 DWORD dwSize; 444 BOOL fBundled; 440 BOOL fBundled; 445 static if (WINVER >= 0x0500) { | 441 static if (_WIN32_WINNT >= 0x500) { 446 DWORD dwError; 442 DWORD dwError; 447 DWORD dwAuthenticationProtocol; 443 DWORD dwAuthenticationProtocol; 448 DWORD dwAuthenticationData; 444 DWORD dwAuthenticationData; 449 DWORD dwEapTypeId; 445 DWORD dwEapTypeId; 450 DWORD dwServerAuthenticationProtocol; 446 DWORD dwServerAuthenticationProtocol; 451 DWORD dwServerAuthenticationData; 447 DWORD dwServerAuthenticationData; 452 DWORD dwServerEapTypeId; 448 DWORD dwServerEapTypeId; 453 BOOL fMultilink; 449 BOOL fMultilink; 454 DWORD dwTerminateReason; 450 DWORD dwTerminateReason; 455 DWORD dwServerTerminateReason; 451 DWORD dwServerTerminateReason; 456 WCHAR szReplyMessage[RAS_MaxReplyMessage]; | 452 WCHAR[RAS_MaxReplyMessage] szReplyMessage; 457 DWORD dwOptions; 453 DWORD dwOptions; 458 DWORD dwServerOptions; 454 DWORD dwServerOptions; 459 } 455 } 460 } 456 } 461 alias RASPPPLCPW* LPRASPPPLCPW; 457 alias RASPPPLCPW* LPRASPPPLCPW; 462 458 463 struct RASPPPLCPA{ 459 struct RASPPPLCPA{ 464 DWORD dwSize; 460 DWORD dwSize; 465 BOOL fBundled; 461 BOOL fBundled; 466 static if (WINVER >= 0x0500) { | 462 static if (_WIN32_WINNT >= 0x500) { 467 DWORD dwError; 463 DWORD dwError; 468 DWORD dwAuthenticationProtocol; 464 DWORD dwAuthenticationProtocol; 469 DWORD dwAuthenticationData; 465 DWORD dwAuthenticationData; 470 DWORD dwEapTypeId; 466 DWORD dwEapTypeId; 471 DWORD dwServerAuthenticationProtocol; 467 DWORD dwServerAuthenticationProtocol; 472 DWORD dwServerAuthenticationData; 468 DWORD dwServerAuthenticationData; 473 DWORD dwServerEapTypeId; 469 DWORD dwServerEapTypeId; 474 BOOL fMultilink; 470 BOOL fMultilink; 475 DWORD dwTerminateReason; 471 DWORD dwTerminateReason; 476 DWORD dwServerTerminateReason; 472 DWORD dwServerTerminateReason; 477 CHAR szReplyMessage[RAS_MaxReplyMessage]; | 473 CHAR[RAS_MaxReplyMessage] szReplyMessage; 478 DWORD dwOptions; 474 DWORD dwOptions; 479 DWORD dwServerOptions; 475 DWORD dwServerOptions; 480 } 476 } 481 } 477 } 482 alias RASPPPLCPA* LPRASPPPLCPA; 478 alias RASPPPLCPA* LPRASPPPLCPA; 483 479 484 struct RASSLIPW{ 480 struct RASSLIPW{ 485 DWORD dwSize; 481 DWORD dwSize; 486 DWORD dwError; 482 DWORD dwError; 487 WCHAR szIpAddress[RAS_MaxIpAddress + 1]; | 483 WCHAR[RAS_MaxIpAddress + 1] szIpAddress; 488 } 484 } 489 alias RASSLIPW* LPRASSLIPW; 485 alias RASSLIPW* LPRASSLIPW; 490 486 491 struct RASSLIPA{ 487 struct RASSLIPA{ 492 DWORD dwSize; 488 DWORD dwSize; 493 DWORD dwError; 489 DWORD dwError; 494 CHAR szIpAddress[RAS_MaxIpAddress + 1]; | 490 CHAR[RAS_MaxIpAddress + 1] szIpAddress; 495 } 491 } 496 alias RASSLIPA* LPRASSLIPA; 492 alias RASSLIPA* LPRASSLIPA; 497 493 498 struct RASDEVINFOW{ 494 struct RASDEVINFOW{ 499 DWORD dwSize; 495 DWORD dwSize; 500 WCHAR szDeviceType[RAS_MaxDeviceType + 1]; | 496 WCHAR[RAS_MaxDeviceType + 1] szDeviceType; 501 WCHAR szDeviceName[RAS_MaxDeviceName + 1]; | 497 WCHAR[RAS_MaxDeviceName + 1] szDeviceName; 502 } 498 } 503 alias RASDEVINFOW* LPRASDEVINFOW; 499 alias RASDEVINFOW* LPRASDEVINFOW; 504 500 505 struct RASDEVINFOA{ 501 struct RASDEVINFOA{ 506 DWORD dwSize; 502 DWORD dwSize; 507 CHAR szDeviceType[RAS_MaxDeviceType + 1]; | 503 CHAR[RAS_MaxDeviceType + 1] szDeviceType; 508 CHAR szDeviceName[RAS_MaxDeviceName + 1]; | 504 CHAR[RAS_MaxDeviceName + 1] szDeviceName; 509 } 505 } 510 alias RASDEVINFOA* LPRASDEVINFOA; 506 alias RASDEVINFOA* LPRASDEVINFOA; 511 507 512 struct RASCTRYINFO { 508 struct RASCTRYINFO { 513 DWORD dwSize; 509 DWORD dwSize; 514 DWORD dwCountryID; 510 DWORD dwCountryID; 515 DWORD dwNextCountryID; 511 DWORD dwNextCountryID; ................................................................................................................................................................................ 529 } 525 } 530 526 531 struct RASENTRYW { 527 struct RASENTRYW { 532 DWORD dwSize; 528 DWORD dwSize; 533 DWORD dwfOptions; 529 DWORD dwfOptions; 534 DWORD dwCountryID; 530 DWORD dwCountryID; 535 DWORD dwCountryCode; 531 DWORD dwCountryCode; 536 WCHAR szAreaCode[RAS_MaxAreaCode + 1]; | 532 WCHAR[RAS_MaxAreaCode + 1] szAreaCode; 537 WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]; | 533 WCHAR[RAS_MaxPhoneNumber + 1] szLocalPhoneNumber; 538 DWORD dwAlternateOffset; 534 DWORD dwAlternateOffset; 539 RASIPADDR ipaddr; 535 RASIPADDR ipaddr; 540 RASIPADDR ipaddrDns; 536 RASIPADDR ipaddrDns; 541 RASIPADDR ipaddrDnsAlt; 537 RASIPADDR ipaddrDnsAlt; 542 RASIPADDR ipaddrWins; 538 RASIPADDR ipaddrWins; 543 RASIPADDR ipaddrWinsAlt; 539 RASIPADDR ipaddrWinsAlt; 544 DWORD dwFrameSize; 540 DWORD dwFrameSize; 545 DWORD dwfNetProtocols; 541 DWORD dwfNetProtocols; 546 DWORD dwFramingProtocol; 542 DWORD dwFramingProtocol; 547 WCHAR szScript[MAX_PATH]; | 543 WCHAR[MAX_PATH] szScript; 548 WCHAR szAutodialDll[MAX_PATH]; | 544 WCHAR[MAX_PATH] szAutodialDll; 549 WCHAR szAutodialFunc[MAX_PATH]; | 545 WCHAR[MAX_PATH] szAutodialFunc; 550 WCHAR szDeviceType[RAS_MaxDeviceType + 1]; | 546 WCHAR[RAS_MaxDeviceType + 1] szDeviceType; 551 WCHAR szDeviceName[RAS_MaxDeviceName + 1]; | 547 WCHAR[RAS_MaxDeviceName + 1] szDeviceName; 552 WCHAR szX25PadType[RAS_MaxPadType + 1]; | 548 WCHAR[RAS_MaxPadType + 1] szX25PadType; 553 WCHAR szX25Address[RAS_MaxX25Address + 1]; | 549 WCHAR[RAS_MaxX25Address + 1] szX25Address; 554 WCHAR szX25Facilities[RAS_MaxFacilities + 1]; | 550 WCHAR[RAS_MaxFacilities + 1] szX25Facilities; 555 WCHAR szX25UserData[RAS_MaxUserData + 1]; | 551 WCHAR[RAS_MaxUserData + 1] szX25UserData; 556 DWORD dwChannels; 552 DWORD dwChannels; 557 DWORD dwReserved1; 553 DWORD dwReserved1; 558 DWORD dwReserved2; 554 DWORD dwReserved2; 559 static if (WINVER >= 0x0401) { | 555 static if (_WIN32_WINNT >= 0x401) { 560 DWORD dwSubEntries; 556 DWORD dwSubEntries; 561 DWORD dwDialMode; 557 DWORD dwDialMode; 562 DWORD dwDialExtraPercent; 558 DWORD dwDialExtraPercent; 563 DWORD dwDialExtraSampleSeconds; 559 DWORD dwDialExtraSampleSeconds; 564 DWORD dwHangUpExtraPercent; 560 DWORD dwHangUpExtraPercent; 565 DWORD dwHangUpExtraSampleSeconds; 561 DWORD dwHangUpExtraSampleSeconds; 566 DWORD dwIdleDisconnectSeconds; 562 DWORD dwIdleDisconnectSeconds; 567 } 563 } 568 static if (WINVER >= 0x0500) { | 564 static if (_WIN32_WINNT >= 0x500) { 569 DWORD dwType; 565 DWORD dwType; 570 DWORD dwEncryptionType; 566 DWORD dwEncryptionType; 571 DWORD dwCustomAuthKey; 567 DWORD dwCustomAuthKey; 572 GUID guidId; 568 GUID guidId; 573 WCHAR szCustomDialDll[MAX_PATH]; | 569 WCHAR[MAX_PATH] szCustomDialDll; 574 DWORD dwVpnStrategy; 570 DWORD dwVpnStrategy; 575 } 571 } 576 } 572 } 577 alias RASENTRYW* LPRASENTRYW; 573 alias RASENTRYW* LPRASENTRYW; 578 574 579 struct RASENTRYA { 575 struct RASENTRYA { 580 DWORD dwSize; 576 DWORD dwSize; 581 DWORD dwfOptions; 577 DWORD dwfOptions; 582 DWORD dwCountryID; 578 DWORD dwCountryID; 583 DWORD dwCountryCode; 579 DWORD dwCountryCode; 584 CHAR szAreaCode[RAS_MaxAreaCode + 1]; | 580 CHAR[RAS_MaxAreaCode + 1] szAreaCode; 585 CHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]; | 581 CHAR[RAS_MaxPhoneNumber + 1] szLocalPhoneNumber; 586 DWORD dwAlternateOffset; 582 DWORD dwAlternateOffset; 587 RASIPADDR ipaddr; 583 RASIPADDR ipaddr; 588 RASIPADDR ipaddrDns; 584 RASIPADDR ipaddrDns; 589 RASIPADDR ipaddrDnsAlt; 585 RASIPADDR ipaddrDnsAlt; 590 RASIPADDR ipaddrWins; 586 RASIPADDR ipaddrWins; 591 RASIPADDR ipaddrWinsAlt; 587 RASIPADDR ipaddrWinsAlt; 592 DWORD dwFrameSize; 588 DWORD dwFrameSize; 593 DWORD dwfNetProtocols; 589 DWORD dwfNetProtocols; 594 DWORD dwFramingProtocol; 590 DWORD dwFramingProtocol; 595 CHAR szScript[MAX_PATH]; | 591 CHAR[MAX_PATH] szScript; 596 CHAR szAutodialDll[MAX_PATH]; | 592 CHAR[MAX_PATH] szAutodialDll; 597 CHAR szAutodialFunc[MAX_PATH]; | 593 CHAR[MAX_PATH] szAutodialFunc; 598 CHAR szDeviceType[RAS_MaxDeviceType + 1]; | 594 CHAR[RAS_MaxDeviceType + 1] szDeviceType; 599 CHAR szDeviceName[RAS_MaxDeviceName + 1]; | 595 CHAR[RAS_MaxDeviceName + 1] szDeviceName; 600 CHAR szX25PadType[RAS_MaxPadType + 1]; | 596 CHAR[RAS_MaxPadType + 1] szX25PadType; 601 CHAR szX25Address[RAS_MaxX25Address + 1]; | 597 CHAR[RAS_MaxX25Address + 1] szX25Address; 602 CHAR szX25Facilities[RAS_MaxFacilities + 1]; | 598 CHAR[RAS_MaxFacilities + 1] szX25Facilities; 603 CHAR szX25UserData[RAS_MaxUserData + 1]; | 599 CHAR[RAS_MaxUserData + 1] szX25UserData; 604 DWORD dwChannels; 600 DWORD dwChannels; 605 DWORD dwReserved1; 601 DWORD dwReserved1; 606 DWORD dwReserved2; 602 DWORD dwReserved2; 607 static if (WINVER >= 0x0401) { | 603 static if (_WIN32_WINNT >= 0x401) { 608 DWORD dwSubEntries; 604 DWORD dwSubEntries; 609 DWORD dwDialMode; 605 DWORD dwDialMode; 610 DWORD dwDialExtraPercent; 606 DWORD dwDialExtraPercent; 611 DWORD dwDialExtraSampleSeconds; 607 DWORD dwDialExtraSampleSeconds; 612 DWORD dwHangUpExtraPercent; 608 DWORD dwHangUpExtraPercent; 613 DWORD dwHangUpExtraSampleSeconds; 609 DWORD dwHangUpExtraSampleSeconds; 614 DWORD dwIdleDisconnectSeconds; 610 DWORD dwIdleDisconnectSeconds; 615 } 611 } 616 static if (WINVER >= 0x0500) { | 612 static if (_WIN32_WINNT >= 0x500) { 617 DWORD dwType; 613 DWORD dwType; 618 DWORD dwEncryptionType; 614 DWORD dwEncryptionType; 619 DWORD dwCustomAuthKey; 615 DWORD dwCustomAuthKey; 620 GUID guidId; 616 GUID guidId; 621 CHAR szCustomDialDll[MAX_PATH]; | 617 CHAR[MAX_PATH] szCustomDialDll; 622 DWORD dwVpnStrategy; 618 DWORD dwVpnStrategy; 623 } 619 } 624 } 620 } 625 alias RASENTRYA* LPRASENTRYA; 621 alias RASENTRYA* LPRASENTRYA; 626 622 627 623 628 static if (WINVER >= 0x0401) { | 624 static if (_WIN32_WINNT >= 0x401) { 629 struct RASADPARAMS { 625 struct RASADPARAMS { 630 DWORD dwSize; 626 DWORD dwSize; 631 HWND hwndOwner; 627 HWND hwndOwner; 632 DWORD dwFlags; 628 DWORD dwFlags; 633 LONG xDlg; 629 LONG xDlg; 634 LONG yDlg; 630 LONG yDlg; 635 } 631 } 636 alias RASADPARAMS* LPRASADPARAMS; 632 alias RASADPARAMS* LPRASADPARAMS; 637 633 638 struct RASSUBENTRYW{ 634 struct RASSUBENTRYW{ 639 DWORD dwSize; 635 DWORD dwSize; 640 DWORD dwfFlags; 636 DWORD dwfFlags; 641 WCHAR szDeviceType[RAS_MaxDeviceType + 1]; | 637 WCHAR[RAS_MaxDeviceType + 1] szDeviceType; 642 WCHAR szDeviceName[RAS_MaxDeviceName + 1]; | 638 WCHAR[RAS_MaxDeviceName + 1] szDeviceName; 643 WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]; | 639 WCHAR[RAS_MaxPhoneNumber + 1] szLocalPhoneNumber; 644 DWORD dwAlternateOffset; 640 DWORD dwAlternateOffset; 645 } 641 } 646 alias RASSUBENTRYW* LPRASSUBENTRYW; 642 alias RASSUBENTRYW* LPRASSUBENTRYW; 647 643 648 struct RASSUBENTRYA{ 644 struct RASSUBENTRYA{ 649 DWORD dwSize; 645 DWORD dwSize; 650 DWORD dwfFlags; 646 DWORD dwfFlags; 651 CHAR szDeviceType[RAS_MaxDeviceType + 1]; | 647 CHAR[RAS_MaxDeviceType + 1] szDeviceType; 652 CHAR szDeviceName[RAS_MaxDeviceName + 1]; | 648 CHAR[RAS_MaxDeviceName + 1] szDeviceName; 653 CHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]; | 649 CHAR[RAS_MaxPhoneNumber + 1] szLocalPhoneNumber; 654 DWORD dwAlternateOffset; 650 DWORD dwAlternateOffset; 655 } 651 } 656 alias RASSUBENTRYA* LPRASSUBENTRYA; 652 alias RASSUBENTRYA* LPRASSUBENTRYA; 657 653 658 struct RASCREDENTIALSW{ 654 struct RASCREDENTIALSW{ 659 DWORD dwSize; 655 DWORD dwSize; 660 DWORD dwMask; 656 DWORD dwMask; 661 WCHAR szUserName[UNLEN + 1]; | 657 WCHAR[UNLEN + 1] szUserName; 662 WCHAR szPassword[PWLEN + 1]; | 658 WCHAR[PWLEN + 1] szPassword; 663 WCHAR szDomain[DNLEN + 1]; | 659 WCHAR[DNLEN + 1] szDomain; 664 } 660 } 665 alias RASCREDENTIALSW* LPRASCREDENTIALSW; 661 alias RASCREDENTIALSW* LPRASCREDENTIALSW; 666 662 667 struct RASCREDENTIALSA{ 663 struct RASCREDENTIALSA{ 668 DWORD dwSize; 664 DWORD dwSize; 669 DWORD dwMask; 665 DWORD dwMask; 670 CHAR szUserName[UNLEN + 1]; | 666 CHAR[UNLEN + 1] szUserName; 671 CHAR szPassword[PWLEN + 1]; | 667 CHAR[PWLEN + 1] szPassword; 672 CHAR szDomain[DNLEN + 1]; | 668 CHAR[DNLEN + 1] szDomain; 673 } 669 } 674 alias RASCREDENTIALSA* LPRASCREDENTIALSA; 670 alias RASCREDENTIALSA* LPRASCREDENTIALSA; 675 671 676 struct RASAUTODIALENTRYW{ 672 struct RASAUTODIALENTRYW{ 677 DWORD dwSize; 673 DWORD dwSize; 678 DWORD dwFlags; 674 DWORD dwFlags; 679 DWORD dwDialingLocation; 675 DWORD dwDialingLocation; 680 WCHAR szEntry[RAS_MaxEntryName + 1]; | 676 WCHAR[RAS_MaxEntryName + 1] szEntry; 681 } 677 } 682 alias RASAUTODIALENTRYW* LPRASAUTODIALENTRYW; 678 alias RASAUTODIALENTRYW* LPRASAUTODIALENTRYW; 683 679 684 struct RASAUTODIALENTRYA{ 680 struct RASAUTODIALENTRYA{ 685 DWORD dwSize; 681 DWORD dwSize; 686 DWORD dwFlags; 682 DWORD dwFlags; 687 DWORD dwDialingLocation; 683 DWORD dwDialingLocation; 688 CHAR szEntry[RAS_MaxEntryName + 1]; | 684 CHAR[RAS_MaxEntryName + 1] szEntry; 689 } 685 } 690 alias RASAUTODIALENTRYA* LPRASAUTODIALENTRYA; 686 alias RASAUTODIALENTRYA* LPRASAUTODIALENTRYA; 691 } 687 } 692 688 693 static if (WINVER >= 0x0500) { | 689 static if (_WIN32_WINNT >= 0x500) { 694 struct RASPPPCCP{ 690 struct RASPPPCCP{ 695 DWORD dwSize; 691 DWORD dwSize; 696 DWORD dwError; 692 DWORD dwError; 697 DWORD dwCompressionAlgorithm; 693 DWORD dwCompressionAlgorithm; 698 DWORD dwOptions; 694 DWORD dwOptions; 699 DWORD dwServerCompressionAlgorithm; 695 DWORD dwServerCompressionAlgorithm; 700 DWORD dwServerOptions; 696 DWORD dwServerOptions; 701 } 697 } 702 alias RASPPPCCP* LPRASPPPCCP; 698 alias RASPPPCCP* LPRASPPPCCP; 703 699 704 struct RASEAPUSERIDENTITYW{ 700 struct RASEAPUSERIDENTITYW{ 705 WCHAR szUserName[UNLEN + 1]; | 701 WCHAR[UNLEN + 1] szUserName; 706 DWORD dwSizeofEapInfo; 702 DWORD dwSizeofEapInfo; 707 BYTE pbEapInfo[1]; | 703 BYTE[1] pbEapInfo; 708 } 704 } 709 alias RASEAPUSERIDENTITYW* LPRASEAPUSERIDENTITYW; 705 alias RASEAPUSERIDENTITYW* LPRASEAPUSERIDENTITYW; 710 706 711 struct RASEAPUSERIDENTITYA{ 707 struct RASEAPUSERIDENTITYA{ 712 CHAR szUserName[UNLEN + 1]; | 708 CHAR[UNLEN + 1] szUserName; 713 DWORD dwSizeofEapInfo; 709 DWORD dwSizeofEapInfo; 714 BYTE pbEapInfo[1]; | 710 BYTE[1] pbEapInfo; 715 } 711 } 716 alias RASEAPUSERIDENTITYA* LPRASEAPUSERIDENTITYA; 712 alias RASEAPUSERIDENTITYA* LPRASEAPUSERIDENTITYA; 717 713 718 struct RAS_STATS{ 714 struct RAS_STATS{ 719 DWORD dwSize; 715 DWORD dwSize; 720 DWORD dwBytesXmited; 716 DWORD dwBytesXmited; 721 DWORD dwBytesRcved; 717 DWORD dwBytesRcved; ................................................................................................................................................................................ 747 alias RASPPPIPXW RASPPPIPX; 743 alias RASPPPIPXW RASPPPIPX; 748 alias RASPPPIPW RASPPPIP; 744 alias RASPPPIPW RASPPPIP; 749 alias RASPPPLCPW RASPPPLCP; 745 alias RASPPPLCPW RASPPPLCP; 750 alias RASSLIPW RASSLIP; 746 alias RASSLIPW RASSLIP; 751 alias RASDEVINFOW RASDEVINFO; 747 alias RASDEVINFOW RASDEVINFO; 752 alias RASENTRYNAMEW RASENTRYNAME; 748 alias RASENTRYNAMEW RASENTRYNAME; 753 749 754 static if (WINVER >= 0x0401) { | 750 static if (_WIN32_WINNT >= 0x401) { 755 alias RASSUBENTRYW RASSUBENTRY; 751 alias RASSUBENTRYW RASSUBENTRY; 756 alias RASCREDENTIALSW RASCREDENTIALS; 752 alias RASCREDENTIALSW RASCREDENTIALS; 757 alias RASAUTODIALENTRYW RASAUTODIALENTRY; 753 alias RASAUTODIALENTRYW RASAUTODIALENTRY; 758 } 754 } 759 755 760 static if (WINVER >= 0x0500) { | 756 static if (_WIN32_WINNT >= 0x500) { 761 alias RASEAPUSERIDENTITYW RASEAPUSERIDENTITY; 757 alias RASEAPUSERIDENTITYW RASEAPUSERIDENTITY; 762 } 758 } 763 759 764 } else { // ! defined UNICODE 760 } else { // ! defined UNICODE 765 761 766 alias RASCONNA RASCONN; 762 alias RASCONNA RASCONN; 767 alias RASENTRYA RASENTRY; 763 alias RASENTRYA RASENTRY; ................................................................................................................................................................................ 772 alias RASPPPIPXA RASPPPIPX; 768 alias RASPPPIPXA RASPPPIPX; 773 alias RASPPPIPA RASPPPIP; 769 alias RASPPPIPA RASPPPIP; 774 alias RASPPPLCPA RASPPPLCP; 770 alias RASPPPLCPA RASPPPLCP; 775 alias RASSLIPA RASSLIP; 771 alias RASSLIPA RASSLIP; 776 alias RASDEVINFOA RASDEVINFO; 772 alias RASDEVINFOA RASDEVINFO; 777 alias RASENTRYNAMEA RASENTRYNAME; 773 alias RASENTRYNAMEA RASENTRYNAME; 778 774 779 static if (WINVER >= 0x0401) { | 775 static if (_WIN32_WINNT >= 0x401) { 780 alias RASSUBENTRYA RASSUBENTRY; 776 alias RASSUBENTRYA RASSUBENTRY; 781 alias RASCREDENTIALSA RASCREDENTIALS; 777 alias RASCREDENTIALSA RASCREDENTIALS; 782 alias RASAUTODIALENTRYA RASAUTODIALENTRY; 778 alias RASAUTODIALENTRYA RASAUTODIALENTRY; 783 } 779 } 784 static if (WINVER >= 0x0500) { | 780 static if (_WIN32_WINNT >= 0x500) { 785 alias RASEAPUSERIDENTITYA RASEAPUSERIDENTITY; 781 alias RASEAPUSERIDENTITYA RASEAPUSERIDENTITY; 786 } 782 } 787 }// ! UNICODE 783 }// ! UNICODE 788 784 789 785 790 alias RASCONN* LPRASCONN; 786 alias RASCONN* LPRASCONN; 791 alias RASENTRY* LPRASENTRY; 787 alias RASENTRY* LPRASENTRY; ................................................................................................................................................................................ 796 alias RASPPPIPX* LPRASPPPIPX; 792 alias RASPPPIPX* LPRASPPPIPX; 797 alias RASPPPIP* LPRASPPPIP; 793 alias RASPPPIP* LPRASPPPIP; 798 alias RASPPPLCP* LPRASPPPLCP; 794 alias RASPPPLCP* LPRASPPPLCP; 799 alias RASSLIP* LPRASSLIP; 795 alias RASSLIP* LPRASSLIP; 800 alias RASDEVINFO* LPRASDEVINFO; 796 alias RASDEVINFO* LPRASDEVINFO; 801 alias RASENTRYNAME* LPRASENTRYNAME; 797 alias RASENTRYNAME* LPRASENTRYNAME; 802 798 803 static if (WINVER >= 0x0401) { | 799 static if (_WIN32_WINNT >= 0x401) { 804 alias RASSUBENTRY* LPRASSUBENTRY; 800 alias RASSUBENTRY* LPRASSUBENTRY; 805 alias RASCREDENTIALS* LPRASCREDENTIALS; 801 alias RASCREDENTIALS* LPRASCREDENTIALS; 806 alias RASAUTODIALENTRY* LPRASAUTODIALENTRY; 802 alias RASAUTODIALENTRY* LPRASAUTODIALENTRY; 807 } 803 } 808 static if (WINVER >= 0x0500) { | 804 static if (_WIN32_WINNT >= 0x500) { 809 alias RASEAPUSERIDENTITY* LPRASEAPUSERIDENTITY; 805 alias RASEAPUSERIDENTITY* LPRASEAPUSERIDENTITY; 810 } 806 } 811 807 812 /* Callback prototypes */ 808 /* Callback prototypes */ 813 deprecated { 809 deprecated { 814 alias BOOL function (HWND, LPSTR, DWORD, LPDWORD) ORASADFUNC; 810 alias BOOL function (HWND, LPSTR, DWORD, LPDWORD) ORASADFUNC; 815 } 811 } ................................................................................................................................................................................ 864 DWORD RasRenameEntryA (LPCSTR, LPCSTR, LPCSTR); 860 DWORD RasRenameEntryA (LPCSTR, LPCSTR, LPCSTR); 865 DWORD RasRenameEntryW (LPCWSTR, LPCWSTR, LPCWSTR); 861 DWORD RasRenameEntryW (LPCWSTR, LPCWSTR, LPCWSTR); 866 DWORD RasDeleteEntryA (LPCSTR, LPCSTR); 862 DWORD RasDeleteEntryA (LPCSTR, LPCSTR); 867 DWORD RasDeleteEntryW (LPCWSTR, LPCWSTR); 863 DWORD RasDeleteEntryW (LPCWSTR, LPCWSTR); 868 DWORD RasValidateEntryNameA (LPCSTR, LPCSTR); 864 DWORD RasValidateEntryNameA (LPCSTR, LPCSTR); 869 DWORD RasValidateEntryNameW (LPCWSTR, LPCWSTR); 865 DWORD RasValidateEntryNameW (LPCWSTR, LPCWSTR); 870 866 871 static if (WINVER >= 0x0401) { | 867 static if (_WIN32_WINNT >= 0x401) { 872 alias BOOL function (LPSTR, LPSTR, LPRASADPARAMS, LPDWORD) RASADFUNCA; 868 alias BOOL function (LPSTR, LPSTR, LPRASADPARAMS, LPDWORD) RASADFUNCA; 873 alias BOOL function (LPWSTR, LPWSTR, LPRASADPARAMS, LPDWORD) RASADFUNCW; 869 alias BOOL function (LPWSTR, LPWSTR, LPRASADPARAMS, LPDWORD) RASADFUNCW; 874 870 875 DWORD RasGetSubEntryHandleA (HRASCONN, DWORD, LPHRASCONN); 871 DWORD RasGetSubEntryHandleA (HRASCONN, DWORD, LPHRASCONN); 876 DWORD RasGetSubEntryHandleW (HRASCONN, DWORD, LPHRASCONN); 872 DWORD RasGetSubEntryHandleW (HRASCONN, DWORD, LPHRASCONN); 877 DWORD RasGetCredentialsA (LPCSTR, LPCSTR, LPRASCREDENTIALSA); 873 DWORD RasGetCredentialsA (LPCSTR, LPCSTR, LPRASCREDENTIALSA); 878 DWORD RasGetCredentialsW (LPCWSTR, LPCWSTR, LPRASCREDENTIALSW); 874 DWORD RasGetCredentialsW (LPCWSTR, LPCWSTR, LPRASCREDENTIALSW); ................................................................................................................................................................................ 904 DWORD RasSetAutodialEnableW (DWORD, BOOL); 900 DWORD RasSetAutodialEnableW (DWORD, BOOL); 905 DWORD RasGetAutodialParamA (DWORD, LPVOID, LPDWORD); 901 DWORD RasGetAutodialParamA (DWORD, LPVOID, LPDWORD); 906 DWORD RasGetAutodialParamW (DWORD, LPVOID, LPDWORD); 902 DWORD RasGetAutodialParamW (DWORD, LPVOID, LPDWORD); 907 DWORD RasSetAutodialParamA (DWORD, LPVOID, DWORD); 903 DWORD RasSetAutodialParamA (DWORD, LPVOID, DWORD); 908 DWORD RasSetAutodialParamW (DWORD, LPVOID, DWORD); 904 DWORD RasSetAutodialParamW (DWORD, LPVOID, DWORD); 909 } 905 } 910 906 911 static if (WINVER >= 0x0500) { | 907 static if (_WIN32_WINNT >= 0x500) { 912 alias DWORD function (HRASCONN) RasCustomHangUpFn; 908 alias DWORD function (HRASCONN) RasCustomHangUpFn; 913 alias DWORD function (LPCTSTR, LPCTSTR, DWORD) RasCustomDeleteEntryNoti 909 alias DWORD function (LPCTSTR, LPCTSTR, DWORD) RasCustomDeleteEntryNoti 914 alias DWORD function (HINSTANCE, LPRASDIALEXTENSIONS, 910 alias DWORD function (HINSTANCE, LPRASDIALEXTENSIONS, 915 LPCTSTR, LPRASDIALPARAMS, DWORD, LPVOID, LPHRASCONN, DWORD) RasCustomDia 911 LPCTSTR, LPRASDIALPARAMS, DWORD, LPVOID, LPHRASCONN, DWORD) RasCustomDia 916 912 917 DWORD RasInvokeEapUI (HRASCONN, DWORD, LPRASDIALEXTENSIONS, HWND); 913 DWORD RasInvokeEapUI (HRASCONN, DWORD, LPRASDIALEXTENSIONS, HWND); 918 DWORD RasGetLinkStatistics (HRASCONN, DWORD, RAS_STATS*); 914 DWORD RasGetLinkStatistics (HRASCONN, DWORD, RAS_STATS*); ................................................................................................................................................................................ 951 alias RasGetCountryInfoW RasGetCountryInfo; 947 alias RasGetCountryInfoW RasGetCountryInfo; 952 alias RasGetEntryPropertiesW RasGetEntryProperties; 948 alias RasGetEntryPropertiesW RasGetEntryProperties; 953 alias RasSetEntryPropertiesW RasSetEntryProperties; 949 alias RasSetEntryPropertiesW RasSetEntryProperties; 954 alias RasRenameEntryW RasRenameEntry; 950 alias RasRenameEntryW RasRenameEntry; 955 alias RasDeleteEntryW RasDeleteEntry; 951 alias RasDeleteEntryW RasDeleteEntry; 956 alias RasValidateEntryNameW RasValidateEntryName; 952 alias RasValidateEntryNameW RasValidateEntryName; 957 953 958 static if (WINVER >= 0x0401) { | 954 static if (_WIN32_WINNT >= 0x401) { 959 alias RASADFUNCW RASADFUNC; 955 alias RASADFUNCW RASADFUNC; 960 alias RasGetSubEntryHandleW RasGetSubEntryHandle; 956 alias RasGetSubEntryHandleW RasGetSubEntryHandle; 961 alias RasConnectionNotificationW RasConnectionNotification; 957 alias RasConnectionNotificationW RasConnectionNotification; 962 alias RasGetSubEntryPropertiesW RasGetSubEntryProperties; 958 alias RasGetSubEntryPropertiesW RasGetSubEntryProperties; 963 alias RasSetSubEntryPropertiesW RasSetSubEntryProperties; 959 alias RasSetSubEntryPropertiesW RasSetSubEntryProperties; 964 alias RasGetCredentialsW RasGetCredentials; 960 alias RasGetCredentialsW RasGetCredentials; 965 alias RasSetCredentialsW RasSetCredentials; 961 alias RasSetCredentialsW RasSetCredentials; ................................................................................................................................................................................ 968 alias RasEnumAutodialAddressesW RasEnumAutodialAddresses; 964 alias RasEnumAutodialAddressesW RasEnumAutodialAddresses; 969 alias RasGetAutodialEnableW RasGetAutodialEnable; 965 alias RasGetAutodialEnableW RasGetAutodialEnable; 970 alias RasSetAutodialEnableW RasSetAutodialEnable; 966 alias RasSetAutodialEnableW RasSetAutodialEnable; 971 alias RasGetAutodialParamW RasGetAutodialParam; 967 alias RasGetAutodialParamW RasGetAutodialParam; 972 alias RasSetAutodialParamW RasSetAutodialParam; 968 alias RasSetAutodialParamW RasSetAutodialParam; 973 } 969 } 974 970 975 static if (WINVER >= 0x0500) { | 971 static if (_WIN32_WINNT >= 0x500) { 976 alias RasGetEapUserDataW RasGetEapUserData; 972 alias RasGetEapUserDataW RasGetEapUserData; 977 alias RasSetEapUserDataW RasSetEapUserData; 973 alias RasSetEapUserDataW RasSetEapUserData; 978 alias RasGetCustomAuthDataW RasGetCustomAuthData; 974 alias RasGetCustomAuthDataW RasGetCustomAuthData; 979 alias RasSetCustomAuthDataW RasSetCustomAuthData; 975 alias RasSetCustomAuthDataW RasSetCustomAuthData; 980 alias RasGetEapUserIdentityW RasGetEapUserIdentity; 976 alias RasGetEapUserIdentityW RasGetEapUserIdentity; 981 alias RasFreeEapUserIdentityW RasFreeEapUserIdentity; 977 alias RasFreeEapUserIdentityW RasFreeEapUserIdentity; 982 } 978 } 983 979 984 } else { // ! defined UNICODE | 980 } else { // !Unicode 985 alias RasDialA RasDial; 981 alias RasDialA RasDial; 986 alias RasEnumConnectionsA RasEnumConnections; 982 alias RasEnumConnectionsA RasEnumConnections; 987 alias RasEnumEntriesA RasEnumEntries; 983 alias RasEnumEntriesA RasEnumEntries; 988 alias RasGetConnectStatusA RasGetConnectStatus; 984 alias RasGetConnectStatusA RasGetConnectStatus; 989 alias RasGetErrorStringA RasGetErrorString; 985 alias RasGetErrorStringA RasGetErrorString; 990 alias RasHangUpA RasHangUp; 986 alias RasHangUpA RasHangUp; 991 alias RasGetProjectionInfoA RasGetProjectionInfo; 987 alias RasGetProjectionInfoA RasGetProjectionInfo; ................................................................................................................................................................................ 997 alias RasGetCountryInfoA RasGetCountryInfo; 993 alias RasGetCountryInfoA RasGetCountryInfo; 998 alias RasGetEntryPropertiesA RasGetEntryProperties; 994 alias RasGetEntryPropertiesA RasGetEntryProperties; 999 alias RasSetEntryPropertiesA RasSetEntryProperties; 995 alias RasSetEntryPropertiesA RasSetEntryProperties; 1000 alias RasRenameEntryA RasRenameEntry; 996 alias RasRenameEntryA RasRenameEntry; 1001 alias RasDeleteEntryA RasDeleteEntry; 997 alias RasDeleteEntryA RasDeleteEntry; 1002 alias RasValidateEntryNameA RasValidateEntryName; 998 alias RasValidateEntryNameA RasValidateEntryName; 1003 999 1004 static if (WINVER >= 0x0401) { | 1000 static if (_WIN32_WINNT >= 0x401) { 1005 alias RASADFUNCA RASADFUNC; 1001 alias RASADFUNCA RASADFUNC; 1006 alias RasGetSubEntryHandleA RasGetSubEntryHandle; 1002 alias RasGetSubEntryHandleA RasGetSubEntryHandle; 1007 alias RasConnectionNotificationA RasConnectionNotification; 1003 alias RasConnectionNotificationA RasConnectionNotification; 1008 alias RasGetSubEntryPropertiesA RasGetSubEntryProperties; 1004 alias RasGetSubEntryPropertiesA RasGetSubEntryProperties; 1009 alias RasSetSubEntryPropertiesA RasSetSubEntryProperties; 1005 alias RasSetSubEntryPropertiesA RasSetSubEntryProperties; 1010 alias RasGetCredentialsA RasGetCredentials; 1006 alias RasGetCredentialsA RasGetCredentials; 1011 alias RasSetCredentialsA RasSetCredentials; 1007 alias RasSetCredentialsA RasSetCredentials; ................................................................................................................................................................................ 1014 alias RasEnumAutodialAddressesA RasEnumAutodialAddresses; 1010 alias RasEnumAutodialAddressesA RasEnumAutodialAddresses; 1015 alias RasGetAutodialEnableA RasGetAutodialEnable; 1011 alias RasGetAutodialEnableA RasGetAutodialEnable; 1016 alias RasSetAutodialEnableA RasSetAutodialEnable; 1012 alias RasSetAutodialEnableA RasSetAutodialEnable; 1017 alias RasGetAutodialParamA RasGetAutodialParam; 1013 alias RasGetAutodialParamA RasGetAutodialParam; 1018 alias RasSetAutodialParamA RasSetAutodialParam; 1014 alias RasSetAutodialParamA RasSetAutodialParam; 1019 } 1015 } 1020 1016 1021 static if (WINVER >= 0x0500) { | 1017 static if (_WIN32_WINNT >= 0x500) { 1022 alias RasGetEapUserDataA RasGetEapUserData; 1018 alias RasGetEapUserDataA RasGetEapUserData; 1023 alias RasSetEapUserDataA RasSetEapUserData; 1019 alias RasSetEapUserDataA RasSetEapUserData; 1024 alias RasGetCustomAuthDataA RasGetCustomAuthData; 1020 alias RasGetCustomAuthDataA RasGetCustomAuthData; 1025 alias RasSetCustomAuthDataA RasSetCustomAuthData; 1021 alias RasSetCustomAuthDataA RasSetCustomAuthData; 1026 alias RasGetEapUserIdentityA RasGetEapUserIdentity; 1022 alias RasGetEapUserIdentityA RasGetEapUserIdentity; 1027 alias RasFreeEapUserIdentityA RasFreeEapUserIdentity; 1023 alias RasFreeEapUserIdentityA RasFreeEapUserIdentity; 1028 } 1024 } 1029 } //#endif // ! UNICODE | 1025 } //#endif // !Unicode

Modified src/win32/rasdlg.d from [95419ef551ec8336] to [919a0473b75001a3].

Modified src/win32/raserror.d from [d12ed6abe667cce7] to [3cb4f7086b7eeef2].

Modified src/win32/rassapi.d from [c36a057a2e8d1a48] to [432dd5d7f14ce182].

194 WORD TotalPorts; 194 WORD TotalPorts; 195 WORD PortsInUse; 195 WORD PortsInUse; 196 DWORD RasVersion; 196 DWORD RasVersion; 197 } 197 } 198 alias RAS_SERVER_0* PRAS_SERVER_0; 198 alias RAS_SERVER_0* PRAS_SERVER_0; 199 199 200 extern (Windows) { 200 extern (Windows) { 201 DWORD RasAdminServerGetInfo(CPtr!(WCHAR), PRAS_SERVER_0); | 201 DWORD RasAdminServerGetInfo(const(WCHAR)*, PRAS_SERVER_0); 202 DWORD RasAdminGetUserAccountServer(CPtr!(WCHAR), CPtr!(WCHAR), LPWSTR); | 202 DWORD RasAdminGetUserAccountServer(const(WCHAR)*, const(WCHAR)*, LPWSTR) 203 DWORD RasAdminUserGetInfo(CPtr!(WCHAR), CPtr!(WCHAR), PRAS_USER_0); | 203 DWORD RasAdminUserGetInfo(const(WCHAR)*, const(WCHAR)*, PRAS_USER_0); 204 DWORD RasAdminUserSetInfo(CPtr!(WCHAR), CPtr!(WCHAR), PRAS_USER_0); | 204 DWORD RasAdminUserSetInfo(const(WCHAR)*, const(WCHAR)*, PRAS_USER_0); 205 DWORD RasAdminPortEnum(WCHAR*, PRAS_PORT_0*, WORD*); 205 DWORD RasAdminPortEnum(WCHAR*, PRAS_PORT_0*, WORD*); 206 DWORD RasAdminPortGetInfo(CPtr!(WCHAR), CPtr!(WCHAR), RAS_PORT_1*, | 206 DWORD RasAdminPortGetInfo(const(WCHAR)*, const(WCHAR)*, RAS_PORT_1*, 207 RAS_PORT_STATISTICS*, RAS_PARAMETERS**); 207 RAS_PORT_STATISTICS*, RAS_PARAMETERS**); 208 DWORD RasAdminPortClearStatistics(CPtr!(WCHAR), CPtr!(WCHAR)); | 208 DWORD RasAdminPortClearStatistics(const(WCHAR)*, const(WCHAR)*); 209 DWORD RasAdminPortDisconnect(CPtr!(WCHAR), CPtr!(WCHAR)); | 209 DWORD RasAdminPortDisconnect(const(WCHAR)*, const(WCHAR)*); 210 DWORD RasAdminFreeBuffer(PVOID); 210 DWORD RasAdminFreeBuffer(PVOID); 211 DWORD RasAdminGetErrorString(UINT, WCHAR*, DWORD); 211 DWORD RasAdminGetErrorString(UINT, WCHAR*, DWORD); 212 BOOL RasAdminAcceptNewConnection(RAS_PORT_1*, RAS_PORT_STATISTICS*, 212 BOOL RasAdminAcceptNewConnection(RAS_PORT_1*, RAS_PORT_STATISTICS*, 213 RAS_PARAMETERS*); 213 RAS_PARAMETERS*); 214 VOID RasAdminConnectionHangupNotification(RAS_PORT_1*, 214 VOID RasAdminConnectionHangupNotification(RAS_PORT_1*, 215 RAS_PORT_STATISTICS*, RAS_PARAMETERS*); 215 RAS_PORT_STATISTICS*, RAS_PARAMETERS*); 216 DWORD RasAdminGetIpAddressForUser (WCHAR*, WCHAR*, IPADDR*, BOOL*); 216 DWORD RasAdminGetIpAddressForUser (WCHAR*, WCHAR*, IPADDR*, BOOL*); 217 VOID RasAdminReleaseIpAddress (WCHAR*, WCHAR*,IPADDR*); 217 VOID RasAdminReleaseIpAddress (WCHAR*, WCHAR*,IPADDR*); 218 DWORD RasAdminGetUserParms(WCHAR*, PRAS_USER_0); 218 DWORD RasAdminGetUserParms(WCHAR*, PRAS_USER_0); 219 DWORD RasAdminSetUserParms(WCHAR*, DWORD, PRAS_USER_0); 219 DWORD RasAdminSetUserParms(WCHAR*, DWORD, PRAS_USER_0); 220 } 220 }

Added src/win32/readme.txt version [a7939fa4955a94f3]

> 1 +--------------------------------------+ > 2 | Translation of the Win32 API headers | > 3 +--------------------------------------+ > 4 > 5 This is a project to create a well-crafted translation of the Windows 32-bit API > 6 > 7 The project started off as an improvement of Y. Tomino's translation, but is now > 8 > 9 The official project page is at > 10 > 11 http://www.dsource.org/projects/bindings/wiki/WindowsApi > 12 > 13 If you wish to contribute to this project, please assign modules to yourself at > 14 > 15 Email me with comments/suggestions/bug reports: smjg@iname.com

Modified src/win32/reason.d from [6ebbc56617c07542] to [5ab8056091eb475c].

Modified src/win32/regstr.d from [ecf2fc3721a14d98] to [5642546bad4720e6].

Modified src/win32/richedit.d from [8cbb9c5888a9f01f] to [be981eb75dda2569].

281 281 282 const SCF_DEFAULT = 0; 282 const SCF_DEFAULT = 0; 283 const SCF_SELECTION = 1; 283 const SCF_SELECTION = 1; 284 const SCF_WORD = 2; 284 const SCF_WORD = 2; 285 const SCF_ALL = 4; 285 const SCF_ALL = 4; 286 const SCF_USEUIRULES = 8; 286 const SCF_USEUIRULES = 8; 287 287 > 288 alias DWORD TEXTMODE; 288 const TM_PLAINTEXT=1; 289 const TM_PLAINTEXT=1; 289 const TM_RICHTEXT=2; 290 const TM_RICHTEXT=2; 290 const TM_SINGLELEVELUNDO=4; 291 const TM_SINGLELEVELUNDO=4; 291 const TM_MULTILEVELUNDO=8; 292 const TM_MULTILEVELUNDO=8; 292 const TM_SINGLECODEPAGE=16; 293 const TM_SINGLECODEPAGE=16; 293 const TM_MULTICODEPAGE=32; 294 const TM_MULTICODEPAGE=32; 294 295 295 const GT_DEFAULT=0; 296 const GT_DEFAULT=0; 296 const GT_USECRLF=1; 297 const GT_USECRLF=1; 297 298 298 const yHeightCharPtsMost=1638; 299 const yHeightCharPtsMost=1638; 299 const lDefaultTab=720; 300 const lDefaultTab=720; 300 301 > 302 alias DWORD UNDONAMEID; > 303 const UID_UNKNOWN = 0; > 304 const UID_TYPING = 1; > 305 const UID_DELETE = 2; > 306 const UID_DRAGDROP = 3; > 307 const UID_CUT = 4; > 308 const UID_PASTE = 5; > 309 301 struct CHARFORMATA { 310 struct CHARFORMATA { 302 UINT cbSize = this.sizeof; 311 UINT cbSize = this.sizeof; 303 DWORD dwMask; 312 DWORD dwMask; 304 DWORD dwEffects; 313 DWORD dwEffects; 305 LONG yHeight; 314 LONG yHeight; 306 LONG yOffset; 315 LONG yOffset; 307 COLORREF crTextColor; 316 COLORREF crTextColor; 308 BYTE bCharSet; 317 BYTE bCharSet; 309 BYTE bPitchAndFamily; 318 BYTE bPitchAndFamily; 310 char szFaceName[LF_FACESIZE]; | 319 char[LF_FACESIZE] szFaceName; 311 } 320 } 312 struct CHARFORMATW { 321 struct CHARFORMATW { 313 UINT cbSize = this.sizeof; 322 UINT cbSize = this.sizeof; 314 DWORD dwMask; 323 DWORD dwMask; 315 DWORD dwEffects; 324 DWORD dwEffects; 316 LONG yHeight; 325 LONG yHeight; 317 LONG yOffset; 326 LONG yOffset; 318 COLORREF crTextColor; 327 COLORREF crTextColor; 319 BYTE bCharSet; 328 BYTE bCharSet; 320 BYTE bPitchAndFamily; 329 BYTE bPitchAndFamily; 321 WCHAR szFaceName[LF_FACESIZE]; | 330 WCHAR[LF_FACESIZE] szFaceName; 322 } 331 } 323 332 324 struct CHARFORMAT2A { 333 struct CHARFORMAT2A { 325 UINT cbSize = this.sizeof; 334 UINT cbSize = this.sizeof; 326 DWORD dwMask; 335 DWORD dwMask; 327 DWORD dwEffects; 336 DWORD dwEffects; 328 LONG yHeight; 337 LONG yHeight; 329 LONG yOffset; 338 LONG yOffset; 330 COLORREF crTextColor; 339 COLORREF crTextColor; 331 BYTE bCharSet; 340 BYTE bCharSet; 332 BYTE bPitchAndFamily; 341 BYTE bPitchAndFamily; 333 char szFaceName[LF_FACESIZE]; | 342 char[LF_FACESIZE] szFaceName; 334 WORD wWeight; 343 WORD wWeight; 335 SHORT sSpacing; 344 SHORT sSpacing; 336 COLORREF crBackColor; 345 COLORREF crBackColor; 337 LCID lcid; 346 LCID lcid; 338 DWORD dwReserved; 347 DWORD dwReserved; 339 SHORT sStyle; 348 SHORT sStyle; 340 WORD wKerning; 349 WORD wKerning; ................................................................................................................................................................................ 348 DWORD dwMask; 357 DWORD dwMask; 349 DWORD dwEffects; 358 DWORD dwEffects; 350 LONG yHeight; 359 LONG yHeight; 351 LONG yOffset; 360 LONG yOffset; 352 COLORREF crTextColor; 361 COLORREF crTextColor; 353 BYTE bCharSet; 362 BYTE bCharSet; 354 BYTE bPitchAndFamily; 363 BYTE bPitchAndFamily; 355 WCHAR szFaceName[LF_FACESIZE]; | 364 WCHAR[LF_FACESIZE] szFaceName; 356 WORD wWeight; 365 WORD wWeight; 357 SHORT sSpacing; 366 SHORT sSpacing; 358 COLORREF crBackColor; 367 COLORREF crBackColor; 359 LCID lcid; 368 LCID lcid; 360 DWORD dwReserved; 369 DWORD dwReserved; 361 SHORT sStyle; 370 SHORT sStyle; 362 WORD wKerning; 371 WORD wKerning; ................................................................................................................................................................................ 472 WORD wNumbering; 481 WORD wNumbering; 473 WORD wReserved; 482 WORD wReserved; 474 LONG dxStartIndent; 483 LONG dxStartIndent; 475 LONG dxRightIndent; 484 LONG dxRightIndent; 476 LONG dxOffset; 485 LONG dxOffset; 477 WORD wAlignment; 486 WORD wAlignment; 478 SHORT cTabCount; 487 SHORT cTabCount; 479 LONG rgxTabs[MAX_TAB_STOPS]; | 488 LONG[MAX_TAB_STOPS] rgxTabs; 480 } 489 } 481 490 482 struct PARAFORMAT2 { 491 struct PARAFORMAT2 { 483 UINT cbSize = this.sizeof; 492 UINT cbSize = this.sizeof; 484 DWORD dwMask; 493 DWORD dwMask; 485 WORD wNumbering; 494 WORD wNumbering; 486 WORD wEffects; 495 WORD wEffects; 487 LONG dxStartIndent; 496 LONG dxStartIndent; 488 LONG dxRightIndent; 497 LONG dxRightIndent; 489 LONG dxOffset; 498 LONG dxOffset; 490 WORD wAlignment; 499 WORD wAlignment; 491 SHORT cTabCount; 500 SHORT cTabCount; 492 LONG rgxTabs[MAX_TAB_STOPS]; | 501 LONG[MAX_TAB_STOPS] rgxTabs; 493 LONG dySpaceBefore; 502 LONG dySpaceBefore; 494 LONG dySpaceAfter; 503 LONG dySpaceAfter; 495 LONG dyLineSpacing; 504 LONG dyLineSpacing; 496 SHORT sStype; 505 SHORT sStype; 497 BYTE bLineSpacingRule; 506 BYTE bLineSpacingRule; 498 BYTE bOutlineLevel; 507 BYTE bOutlineLevel; 499 WORD wShadingWeight; 508 WORD wShadingWeight; ................................................................................................................................................................................ 538 } 547 } 539 548 540 struct GETTEXTEX { 549 struct GETTEXTEX { 541 DWORD cb; 550 DWORD cb; 542 DWORD flags; 551 DWORD flags; 543 UINT codepage; 552 UINT codepage; 544 LPCSTR lpDefaultChar; 553 LPCSTR lpDefaultChar; 545 LPBOOL lpUsedDefaultChar; | 554 LPBOOL lpUsedDefChar; 546 } 555 } 547 556 548 extern (Windows) { 557 extern (Windows) { 549 alias LONG function(char*,LONG,BYTE,INT) EDITWORDBREAKPROCEX; 558 alias LONG function(char*,LONG,BYTE,INT) EDITWORDBREAKPROCEX; 550 } 559 } 551 560 552 /* Defines for EM_SETTYPOGRAPHYOPTIONS */ 561 /* Defines for EM_SETTYPOGRAPHYOPTIONS */

Modified src/win32/richole.d from [b40faba978847e1c] to [92f6c63b4156f1a9].

80 HRESULT HandsOffStorage(LONG); 80 HRESULT HandsOffStorage(LONG); 81 HRESULT SaveCompleted(LONG, LPSTORAGE); 81 HRESULT SaveCompleted(LONG, LPSTORAGE); 82 HRESULT InPlaceDeactivate(); 82 HRESULT InPlaceDeactivate(); 83 HRESULT ContextSensitiveHelp(BOOL); 83 HRESULT ContextSensitiveHelp(BOOL); 84 HRESULT GetClipboardData(CHARRANGE*, DWORD, LPDATAOBJECT*); 84 HRESULT GetClipboardData(CHARRANGE*, DWORD, LPDATAOBJECT*); 85 HRESULT ImportDataObject(LPDATAOBJECT, CLIPFORMAT, HGLOBAL); 85 HRESULT ImportDataObject(LPDATAOBJECT, CLIPFORMAT, HGLOBAL); 86 }; 86 }; 87 alias IRichEditOle* LPRICHEDITOLE; | 87 alias IRichEditOle LPRICHEDITOLE; 88 88 89 interface IRichEditOleCallback : IUnknown { 89 interface IRichEditOleCallback : IUnknown { 90 HRESULT GetNewStorage(LPSTORAGE*); 90 HRESULT GetNewStorage(LPSTORAGE*); 91 HRESULT GetInPlaceContext(LPOLEINPLACEFRAME*, LPOLEINPLACEUIWINDOW*, LPO 91 HRESULT GetInPlaceContext(LPOLEINPLACEFRAME*, LPOLEINPLACEUIWINDOW*, LPO 92 HRESULT ShowContainerUI(BOOL); 92 HRESULT ShowContainerUI(BOOL); 93 HRESULT QueryInsertObject(LPCLSID, LPSTORAGE, LONG); 93 HRESULT QueryInsertObject(LPCLSID, LPSTORAGE, LONG); 94 HRESULT DeleteObject(LPOLEOBJECT); 94 HRESULT DeleteObject(LPOLEOBJECT); 95 HRESULT QueryAcceptData(LPDATAOBJECT, CLIPFORMAT*, DWORD, BOOL, HGLOBAL) 95 HRESULT QueryAcceptData(LPDATAOBJECT, CLIPFORMAT*, DWORD, BOOL, HGLOBAL) 96 HRESULT ContextSensitiveHelp(BOOL); 96 HRESULT ContextSensitiveHelp(BOOL); 97 HRESULT GetClipboardData(CHARRANGE*, DWORD, LPDATAOBJECT*); 97 HRESULT GetClipboardData(CHARRANGE*, DWORD, LPDATAOBJECT*); 98 HRESULT GetDragDropEffect(BOOL, DWORD, PDWORD); 98 HRESULT GetDragDropEffect(BOOL, DWORD, PDWORD); 99 HRESULT GetContextMenu(WORD, LPOLEOBJECT, CHARRANGE*, HMENU*); 99 HRESULT GetContextMenu(WORD, LPOLEOBJECT, CHARRANGE*, HMENU*); 100 }; 100 }; 101 alias IRichEditOleCallback* LPRICHEDITOLECALLBACK; | 101 alias IRichEditOleCallback LPRICHEDITOLECALLBACK;

Modified src/win32/rpc.d from [744671b954e4e438] to [03fdad9b5bd4d6ab].

Modified src/win32/rpcdce.d from [ed6eabc89b35f750] to [13d7798ff7743b2f].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.rpcdce; 10 module win32.rpcdce; 11 pragma(lib, "Rpcrt4.lib"); | 11 pragma(lib, "Rpcrt4"); 12 12 13 // TODO: I think MinGW got this wrong. RPC_UNICODE_SUPPORTED should be 13 // TODO: I think MinGW got this wrong. RPC_UNICODE_SUPPORTED should be 14 // replaced aliases for version(Unicode) 14 // replaced aliases for version(Unicode) 15 15 16 public import win32.rpcdcep; 16 public import win32.rpcdcep; 17 private import win32.basetyps, win32.w32api, win32.windef; 17 private import win32.basetyps, win32.w32api, win32.windef; 18 18 ................................................................................................................................................................................ 113 const RPC_C_AUTHZ_DEFAULT=0xFFFFFFFF; 113 const RPC_C_AUTHZ_DEFAULT=0xFFFFFFFF; 114 114 115 alias I_RPC_HANDLE RPC_BINDING_HANDLE; 115 alias I_RPC_HANDLE RPC_BINDING_HANDLE; 116 alias RPC_BINDING_HANDLE handle_t; 116 alias RPC_BINDING_HANDLE handle_t; 117 117 118 struct RPC_BINDING_VECTOR { 118 struct RPC_BINDING_VECTOR { 119 uint Count; 119 uint Count; 120 RPC_BINDING_HANDLE BindingH[1]; | 120 RPC_BINDING_HANDLE[1] BindingH; 121 } 121 } 122 122 123 alias RPC_BINDING_HANDLE rpc_binding_handle_t; 123 alias RPC_BINDING_HANDLE rpc_binding_handle_t; 124 alias RPC_BINDING_VECTOR rpc_binding_vector_t; 124 alias RPC_BINDING_VECTOR rpc_binding_vector_t; 125 125 126 126 127 struct UUID_VECTOR { 127 struct UUID_VECTOR { 128 uint Count; 128 uint Count; 129 UUID* Uuid[1]; | 129 UUID*[1] Uuid; 130 } 130 } 131 131 132 alias void* RPC_IF_HANDLE; 132 alias void* RPC_IF_HANDLE; 133 133 134 struct RPC_IF_ID { 134 struct RPC_IF_ID { 135 UUID Uuid; 135 UUID Uuid; 136 ushort VersMajor; 136 ushort VersMajor; ................................................................................................................................................................................ 154 uint[1] Stats; 154 uint[1] Stats; 155 } 155 } 156 156 157 struct RPC_IF_ID_VECTOR { 157 struct RPC_IF_ID_VECTOR { 158 uint Count; 158 uint Count; 159 RPC_IF_ID*[1] IfId; 159 RPC_IF_ID*[1] IfId; 160 } 160 } 161 alias HANDLE RPC_AUTH_IDENTITY_HANDLE, RPC_AUTHZ_HANDLE; | 161 mixin DECLARE_HANDLE!("RPC_AUTH_IDENTITY_HANDLE"); > 162 mixin DECLARE_HANDLE!("RPC_AUTHZ_HANDLE"); 162 163 163 struct RPC_SECURITY_QOS { 164 struct RPC_SECURITY_QOS { 164 uint Version; 165 uint Version; 165 uint Capabilities; 166 uint Capabilities; 166 uint IdentityTracking; 167 uint IdentityTracking; 167 uint ImpersonationType; 168 uint ImpersonationType; 168 } 169 } ................................................................................................................................................................................ 198 } 199 } 199 alias RPC_CLIENT_INFORMATION1* PRPC_CLIENT_INFORMATION1; 200 alias RPC_CLIENT_INFORMATION1* PRPC_CLIENT_INFORMATION1; 200 alias I_RPC_HANDLE* RPC_EP_INQ_HANDLE; 201 alias I_RPC_HANDLE* RPC_EP_INQ_HANDLE; 201 extern (Windows) { 202 extern (Windows) { 202 alias int function(RPC_BINDING_HANDLE, uint, RPC_STATUS*) RPC_MGMT_AUTHO 203 alias int function(RPC_BINDING_HANDLE, uint, RPC_STATUS*) RPC_MGMT_AUTHO 203 } 204 } 204 205 205 static if(_WIN32_WINNT_ONLY) { < 206 < 207 struct RPC_PROTSEQ_VECTORA { | 206 struct RPC_PROTSEQ_VECTORA { 208 uint Count; | 207 uint Count; 209 ubyte*[1] Protseq; | 208 ubyte*[1] Protseq; 210 } | 209 } 211 210 212 struct RPC_PROTSEQ_VECTORW { | 211 struct RPC_PROTSEQ_VECTORW { 213 uint Count; | 212 uint Count; 214 ushort*[1] Protseq; | 213 ushort*[1] Protseq; 215 } | 214 } 216 215 217 extern (Windows) { | 216 extern (Windows) { 218 RPC_STATUS RpcBindingFromStringBindingA(char*, RPC_BINDING_HANDL | 217 RPC_STATUS RpcBindingFromStringBindingA(char*, RPC_BINDING_HANDLE*); 219 RPC_STATUS RpcBindingFromStringBindingW(wchar*, RPC_BINDING_HAND | 218 RPC_STATUS RpcBindingFromStringBindingW(wchar*, RPC_BINDING_HANDLE*); 220 RPC_STATUS RpcBindingToStringBindingA(RPC_BINDING_HANDLE, char** | 219 RPC_STATUS RpcBindingToStringBindingA(RPC_BINDING_HANDLE, char**); 221 RPC_STATUS RpcBindingToStringBindingW(RPC_BINDING_HANDLE, wchar* | 220 RPC_STATUS RpcBindingToStringBindingW(RPC_BINDING_HANDLE, wchar**); 222 RPC_STATUS RpcStringBindingComposeA(char*, char*, char*, char*, | 221 RPC_STATUS RpcStringBindingComposeA(char*, char*, char*, char*, char*, c 223 RPC_STATUS RpcStringBindingComposeW(wchar*, wchar*, wchar*, wcha | 222 RPC_STATUS RpcStringBindingComposeW(wchar*, wchar*, wchar*, wchar*, wcha 224 RPC_STATUS RpcStringBindingParseA(char*, char**, char**, char**, | 223 RPC_STATUS RpcStringBindingParseA(char*, char**, char**, char**, char**, 225 RPC_STATUS RpcStringBindingParseW(wchar*, wchar**, wchar**, wcha | 224 RPC_STATUS RpcStringBindingParseW(wchar*, wchar**, wchar**, wchar**, wch 226 RPC_STATUS RpcStringFreeA(char**); | 225 RPC_STATUS RpcStringFreeA(char**); 227 RPC_STATUS RpcStringFreeW(wchar**); | 226 RPC_STATUS RpcStringFreeW(wchar**); 228 RPC_STATUS RpcNetworkIsProtseqValidA(char*); | 227 RPC_STATUS RpcNetworkIsProtseqValidA(char*); 229 RPC_STATUS RpcNetworkIsProtseqValidW(wchar*); | 228 RPC_STATUS RpcNetworkIsProtseqValidW(wchar*); 230 RPC_STATUS RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA**); | 229 RPC_STATUS RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA**); 231 RPC_STATUS RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW**); | 230 RPC_STATUS RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW**); 232 RPC_STATUS RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA**); | 231 RPC_STATUS RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA**); 233 RPC_STATUS RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW**); | 232 RPC_STATUS RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW**); 234 RPC_STATUS RpcServerUseProtseqA(char*, uint, void*); | 233 RPC_STATUS RpcServerUseProtseqA(char*, uint, void*); 235 RPC_STATUS RpcServerUseProtseqW(wchar*, uint, void*); | 234 RPC_STATUS RpcServerUseProtseqW(wchar*, uint, void*); 236 RPC_STATUS RpcServerUseProtseqExA(char*, uint MaxCalls, void*, P | 235 RPC_STATUS RpcServerUseProtseqExA(char*, uint MaxCalls, void*, PRPC_POLI 237 RPC_STATUS RpcServerUseProtseqExW(wchar*, uint, void*, PRPC_POLI | 236 RPC_STATUS RpcServerUseProtseqExW(wchar*, uint, void*, PRPC_POLICY); 238 RPC_STATUS RpcServerUseProtseqEpA(char*, uint, char*, void*); | 237 RPC_STATUS RpcServerUseProtseqEpA(char*, uint, char*, void*); 239 RPC_STATUS RpcServerUseProtseqEpExA(char*, uint, char*, void*, P | 238 RPC_STATUS RpcServerUseProtseqEpExA(char*, uint, char*, void*, PRPC_POLI 240 RPC_STATUS RpcServerUseProtseqEpW(wchar*, uint, wchar*, void*); | 239 RPC_STATUS RpcServerUseProtseqEpW(wchar*, uint, wchar*, void*); 241 RPC_STATUS RpcServerUseProtseqEpExW(wchar*, uint, wchar*, void*, | 240 RPC_STATUS RpcServerUseProtseqEpExW(wchar*, uint, wchar*, void*, PRPC_PO 242 RPC_STATUS RpcServerUseProtseqIfA(char*, uint, RPC_IF_HANDLE, vo | 241 RPC_STATUS RpcServerUseProtseqIfA(char*, uint, RPC_IF_HANDLE, void*); 243 RPC_STATUS RpcServerUseProtseqIfExA(char*, uint, RPC_IF_HANDLE, | 242 RPC_STATUS RpcServerUseProtseqIfExA(char*, uint, RPC_IF_HANDLE, void*, P 244 RPC_STATUS RpcServerUseProtseqIfW(wchar*, uint, RPC_IF_HANDLE, v | 243 RPC_STATUS RpcServerUseProtseqIfW(wchar*, uint, RPC_IF_HANDLE, void*); 245 RPC_STATUS RpcServerUseProtseqIfExW(wchar*, uint, RPC_IF_HANDLE, | 244 RPC_STATUS RpcServerUseProtseqIfExW(wchar*, uint, RPC_IF_HANDLE, void*, 246 RPC_STATUS RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE, uint, | 245 RPC_STATUS RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE, uint, char**); 247 RPC_STATUS RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE, uint, | 246 RPC_STATUS RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE, uint, wchar**) 248 RPC_STATUS RpcServerInqDefaultPrincNameA(uint, char**); | 247 RPC_STATUS RpcServerInqDefaultPrincNameA(uint, char**); 249 RPC_STATUS RpcServerInqDefaultPrincNameW(uint, wchar**); | 248 RPC_STATUS RpcServerInqDefaultPrincNameW(uint, wchar**); 250 RPC_STATUS RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE, uint, c | 249 RPC_STATUS RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE, uint, char**); 251 RPC_STATUS RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE, uint, w | 250 RPC_STATUS RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE, uint, wchar**); 252 RPC_STATUS RpcBindingInqAuthClientA(RPC_BINDING_HANDLE, RPC_AUTH | 251 RPC_STATUS RpcBindingInqAuthClientA(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE 253 RPC_STATUS RpcBindingInqAuthClientW(RPC_BINDING_HANDLE, RPC_AUTH | 252 RPC_STATUS RpcBindingInqAuthClientW(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE 254 RPC_STATUS RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE, char**, ui | 253 RPC_STATUS RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE, char**, uint*, uin 255 RPC_STATUS RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE, wchar**, u | 254 RPC_STATUS RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE, wchar**, uint*, ui 256 RPC_STATUS RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE, char*, uin | 255 RPC_STATUS RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE, char*, uint, uint, 257 RPC_STATUS RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE, char*, u | 256 RPC_STATUS RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE, char*, uint, uin 258 RPC_STATUS RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE, wchar*, ui | 257 RPC_STATUS RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE, wchar*, uint, uint 259 RPC_STATUS RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE, wchar*, | 258 RPC_STATUS RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE, wchar*, uint, ui 260 RPC_STATUS RpcBindingInqAuthInfoExA(RPC_BINDING_HANDLE, char**, | 259 RPC_STATUS RpcBindingInqAuthInfoExA(RPC_BINDING_HANDLE, char**, uint*, u 261 RPC_STATUS RpcBindingInqAuthInfoExW(RPC_BINDING_HANDLE, wchar**, | 260 RPC_STATUS RpcBindingInqAuthInfoExW(RPC_BINDING_HANDLE, wchar**, uint*, 262 alias void function(void*, wchar*, uint, void**, RPC_STATUS*) RP | 261 alias void function(void*, wchar*, uint, void**, RPC_STATUS*) RPC_AUTH_K 263 RPC_STATUS RpcServerRegisterAuthInfoA(char*, uint, RPC_AUTH_KEY_ | 262 RPC_STATUS RpcServerRegisterAuthInfoA(char*, uint, RPC_AUTH_KEY_RETRIEVA 264 RPC_STATUS RpcServerRegisterAuthInfoW(wchar*, uint, RPC_AUTH_KEY | 263 RPC_STATUS RpcServerRegisterAuthInfoW(wchar*, uint, RPC_AUTH_KEY_RETRIEV 265 RPC_STATUS UuidToStringA(UUID*, char**); | 264 RPC_STATUS UuidToStringA(UUID*, char**); 266 RPC_STATUS UuidFromStringA(char*, UUID*); | 265 RPC_STATUS UuidFromStringA(char*, UUID*); 267 RPC_STATUS UuidToStringW(UUID*, wchar**); | 266 RPC_STATUS UuidToStringW(UUID*, wchar**); 268 RPC_STATUS UuidFromStringW(wchar*, UUID*); | 267 RPC_STATUS UuidFromStringW(wchar*, UUID*); 269 RPC_STATUS RpcEpRegisterNoReplaceA(RPC_IF_HANDLE, RPC_BINDING_VE | 268 RPC_STATUS RpcEpRegisterNoReplaceA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, U 270 RPC_STATUS RpcEpRegisterNoReplaceW(RPC_IF_HANDLE, RPC_BINDING_VE | 269 RPC_STATUS RpcEpRegisterNoReplaceW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, U 271 RPC_STATUS RpcEpRegisterA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UU | 270 RPC_STATUS RpcEpRegisterA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTO 272 RPC_STATUS RpcEpRegisterW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UU | 271 RPC_STATUS RpcEpRegisterW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTO 273 RPC_STATUS DceErrorInqTextA(RPC_STATUS, char*); | 272 RPC_STATUS DceErrorInqTextA(RPC_STATUS, char*); 274 RPC_STATUS DceErrorInqTextW(RPC_STATUS, wchar*); | 273 RPC_STATUS DceErrorInqTextW(RPC_STATUS, wchar*); 275 RPC_STATUS RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE, RPC_IF_ID*, R | 274 RPC_STATUS RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDI 276 RPC_STATUS RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE, RPC_IF_ID*, R | 275 RPC_STATUS RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDI 277 276 278 // MinGW erroneously had these in rpc.h | 277 // MinGW erroneously had these in rpc.h 279 RPC_STATUS RpcImpersonateClient(RPC_BINDING_HANDLE); | 278 RPC_STATUS RpcImpersonateClient(RPC_BINDING_HANDLE); 280 RPC_STATUS RpcRevertToSelf(); | 279 RPC_STATUS RpcRevertToSelf(); 281 } | 280 } 282 281 283 version(Unicode) { | 282 version (Unicode) { 284 alias RPC_PROTSEQ_VECTORW RPC_PROTSEQ_VECTOR; | 283 alias RPC_PROTSEQ_VECTORW RPC_PROTSEQ_VECTOR; 285 alias SEC_WINNT_AUTH_IDENTITY_W SEC_WINNT_AUTH_IDENTITY; | 284 alias SEC_WINNT_AUTH_IDENTITY_W SEC_WINNT_AUTH_IDENTITY; 286 alias PSEC_WINNT_AUTH_IDENTITY_W PSEC_WINNT_AUTH_IDENTITY; | 285 alias PSEC_WINNT_AUTH_IDENTITY_W PSEC_WINNT_AUTH_IDENTITY; 287 alias RpcMgmtEpEltInqNextW RpcMgmtEpEltInqNext; | 286 alias RpcMgmtEpEltInqNextW RpcMgmtEpEltInqNext; 288 alias RpcBindingFromStringBindingW RpcBindingFromStringBinding; | 287 alias RpcBindingFromStringBindingW RpcBindingFromStringBinding; 289 alias RpcBindingToStringBindingW RpcBindingToStringBinding; | 288 alias RpcBindingToStringBindingW RpcBindingToStringBinding; 290 alias RpcStringBindingComposeW RpcStringBindingCompose; | 289 alias RpcStringBindingComposeW RpcStringBindingCompose; 291 alias RpcStringBindingParseW RpcStringBindingParse; | 290 alias RpcStringBindingParseW RpcStringBindingParse; 292 alias RpcStringFreeW RpcStringFree; | 291 alias RpcStringFreeW RpcStringFree; 293 alias RpcNetworkIsProtseqValidW RpcNetworkIsProtseqValid; | 292 alias RpcNetworkIsProtseqValidW RpcNetworkIsProtseqValid; 294 alias RpcNetworkInqProtseqsW RpcNetworkInqProtseqs; | 293 alias RpcNetworkInqProtseqsW RpcNetworkInqProtseqs; 295 alias RpcProtseqVectorFreeW RpcProtseqVectorFree; | 294 alias RpcProtseqVectorFreeW RpcProtseqVectorFree; 296 alias RpcServerUseProtseqW RpcServerUseProtseq; | 295 alias RpcServerUseProtseqW RpcServerUseProtseq; 297 alias RpcServerUseProtseqExW RpcServerUseProtseqEx; | 296 alias RpcServerUseProtseqExW RpcServerUseProtseqEx; 298 alias RpcServerUseProtseqEpW RpcServerUseProtseqEp; | 297 alias RpcServerUseProtseqEpW RpcServerUseProtseqEp; 299 alias RpcServerUseProtseqEpExW RpcServerUseProtseqEpEx; | 298 alias RpcServerUseProtseqEpExW RpcServerUseProtseqEpEx; 300 alias RpcServerUseProtseqIfW RpcServerUseProtseqIf; | 299 alias RpcServerUseProtseqIfW RpcServerUseProtseqIf; 301 alias RpcServerUseProtseqIfExW RpcServerUseProtseqIfEx; | 300 alias RpcServerUseProtseqIfExW RpcServerUseProtseqIfEx; 302 alias RpcMgmtInqServerPrincNameW RpcMgmtInqServerPrincName; | 301 alias RpcMgmtInqServerPrincNameW RpcMgmtInqServerPrincName; 303 alias RpcServerInqDefaultPrincNameW RpcServerInqDefaultPrincName | 302 alias RpcServerInqDefaultPrincNameW RpcServerInqDefaultPrincName; 304 alias RpcNsBindingInqEntryNameW RpcNsBindingInqEntryName; | 303 alias RpcNsBindingInqEntryNameW RpcNsBindingInqEntryName; 305 alias RpcBindingInqAuthClientW RpcBindingInqAuthClient; | 304 alias RpcBindingInqAuthClientW RpcBindingInqAuthClient; 306 alias RpcBindingInqAuthInfoW RpcBindingInqAuthInfo; | 305 alias RpcBindingInqAuthInfoW RpcBindingInqAuthInfo; 307 alias RpcBindingSetAuthInfoW RpcBindingSetAuthInfo; | 306 alias RpcBindingSetAuthInfoW RpcBindingSetAuthInfo; 308 alias RpcServerRegisterAuthInfoW RpcServerRegisterAuthInfo; | 307 alias RpcServerRegisterAuthInfoW RpcServerRegisterAuthInfo; 309 alias RpcBindingInqAuthInfoExW RpcBindingInqAuthInfoEx; | 308 alias RpcBindingInqAuthInfoExW RpcBindingInqAuthInfoEx; 310 alias RpcBindingSetAuthInfoExW RpcBindingSetAuthInfoEx; | 309 alias RpcBindingSetAuthInfoExW RpcBindingSetAuthInfoEx; 311 alias UuidFromStringW UuidFromString; | 310 alias UuidFromStringW UuidFromString; 312 alias UuidToStringW UuidToString; | 311 alias UuidToStringW UuidToString; 313 alias RpcEpRegisterNoReplaceW RpcEpRegisterNoReplace; | 312 alias RpcEpRegisterNoReplaceW RpcEpRegisterNoReplace; 314 alias RpcEpRegisterW RpcEpRegister; | 313 alias RpcEpRegisterW RpcEpRegister; 315 alias DceErrorInqTextW DceErrorInqText; | 314 alias DceErrorInqTextW DceErrorInqText; 316 } else { // Ansi | 315 } else { // Ansi 317 alias RPC_PROTSEQ_VECTORA RPC_PROTSEQ_VECTOR; | 316 alias RPC_PROTSEQ_VECTORA RPC_PROTSEQ_VECTOR; 318 alias SEC_WINNT_AUTH_IDENTITY_A SEC_WINNT_AUTH_IDENTITY; | 317 alias SEC_WINNT_AUTH_IDENTITY_A SEC_WINNT_AUTH_IDENTITY; 319 alias PSEC_WINNT_AUTH_IDENTITY_A PSEC_WINNT_AUTH_IDENTITY; | 318 alias PSEC_WINNT_AUTH_IDENTITY_A PSEC_WINNT_AUTH_IDENTITY; 320 alias RpcMgmtEpEltInqNextA RpcMgmtEpEltInqNext; | 319 alias RpcMgmtEpEltInqNextA RpcMgmtEpEltInqNext; 321 alias RpcBindingFromStringBindingA RpcBindingFromStringBinding; | 320 alias RpcBindingFromStringBindingA RpcBindingFromStringBinding; 322 alias RpcBindingToStringBindingA RpcBindingToStringBinding; | 321 alias RpcBindingToStringBindingA RpcBindingToStringBinding; 323 alias RpcStringBindingComposeA RpcStringBindingCompose; | 322 alias RpcStringBindingComposeA RpcStringBindingCompose; 324 alias RpcStringBindingParseA RpcStringBindingParse; | 323 alias RpcStringBindingParseA RpcStringBindingParse; 325 alias RpcStringFreeA RpcStringFree; | 324 alias RpcStringFreeA RpcStringFree; 326 alias RpcNetworkIsProtseqValidA RpcNetworkIsProtseqValid; | 325 alias RpcNetworkIsProtseqValidA RpcNetworkIsProtseqValid; 327 alias RpcNetworkInqProtseqsA RpcNetworkInqProtseqs; | 326 alias RpcNetworkInqProtseqsA RpcNetworkInqProtseqs; 328 alias RpcProtseqVectorFreeA RpcProtseqVectorFree; | 327 alias RpcProtseqVectorFreeA RpcProtseqVectorFree; 329 alias RpcServerUseProtseqA RpcServerUseProtseq; | 328 alias RpcServerUseProtseqA RpcServerUseProtseq; 330 alias RpcServerUseProtseqExA RpcServerUseProtseqEx; | 329 alias RpcServerUseProtseqExA RpcServerUseProtseqEx; 331 alias RpcServerUseProtseqEpA RpcServerUseProtseqEp; | 330 alias RpcServerUseProtseqEpA RpcServerUseProtseqEp; 332 alias RpcServerUseProtseqEpExA RpcServerUseProtseqEpEx; | 331 alias RpcServerUseProtseqEpExA RpcServerUseProtseqEpEx; 333 alias RpcServerUseProtseqIfA RpcServerUseProtseqIf; | 332 alias RpcServerUseProtseqIfA RpcServerUseProtseqIf; 334 alias RpcServerUseProtseqIfExA RpcServerUseProtseqIfEx; | 333 alias RpcServerUseProtseqIfExA RpcServerUseProtseqIfEx; 335 alias RpcMgmtInqServerPrincNameA RpcMgmtInqServerPrincName; | 334 alias RpcMgmtInqServerPrincNameA RpcMgmtInqServerPrincName; 336 alias RpcServerInqDefaultPrincNameA RpcServerInqDefaultPrincName | 335 alias RpcServerInqDefaultPrincNameA RpcServerInqDefaultPrincName; 337 alias RpcNsBindingInqEntryNameA RpcNsBindingInqEntryName; | 336 alias RpcNsBindingInqEntryNameA RpcNsBindingInqEntryName; 338 alias RpcBindingInqAuthClientA RpcBindingInqAuthClient; | 337 alias RpcBindingInqAuthClientA RpcBindingInqAuthClient; 339 alias RpcBindingInqAuthInfoA RpcBindingInqAuthInfo; | 338 alias RpcBindingInqAuthInfoA RpcBindingInqAuthInfo; 340 alias RpcBindingSetAuthInfoA RpcBindingSetAuthInfo; | 339 alias RpcBindingSetAuthInfoA RpcBindingSetAuthInfo; 341 alias RpcServerRegisterAuthInfoA RpcServerRegisterAuthInfo; | 340 alias RpcServerRegisterAuthInfoA RpcServerRegisterAuthInfo; 342 alias RpcBindingInqAuthInfoExA RpcBindingInqAuthInfoEx; | 341 alias RpcBindingInqAuthInfoExA RpcBindingInqAuthInfoEx; 343 alias RpcBindingSetAuthInfoExA RpcBindingSetAuthInfoEx; | 342 alias RpcBindingSetAuthInfoExA RpcBindingSetAuthInfoEx; 344 alias UuidFromStringA UuidFromString; | 343 alias UuidFromStringA UuidFromString; 345 alias UuidToStringA UuidToString; | 344 alias UuidToStringA UuidToString; 346 alias RpcEpRegisterNoReplaceA RpcEpRegisterNoReplace; | 345 alias RpcEpRegisterNoReplaceA RpcEpRegisterNoReplace; 347 alias RpcEpRegisterA RpcEpRegister; | 346 alias RpcEpRegisterA RpcEpRegister; 348 alias DceErrorInqTextA DceErrorInqText; | 347 alias DceErrorInqTextA DceErrorInqText; 349 } //#endif // UNICODE | 348 } //#endif // UNICODE 350 < 351 } else { // _WIN32_WINNT_ONLY < 352 < 353 struct RPC_PROTSEQ_VECTOR { < 354 uint Count; < 355 ubyte* Protseq[1]; < 356 } < 357 // versions without Unicode. < 358 RPC_STATUS RpcBindingFromStringBinding(char*, RPC_BINDING_HANDLE*); < 359 RPC_STATUS RpcBindingToStringBinding(RPC_BINDING_HANDLE, char**); < 360 RPC_STATUS RpcStringBindingCompose(char*, char*, char*, char*, char*, ch < 361 RPC_STATUS RpcStringBindingParse(char*, char**, char**, char**, char**, < 362 RPC_STATUS RpcStringFree(char**); < 363 RPC_STATUS RpcNetworkIsProtseqValid(char*); < 364 RPC_STATUS RpcNetworkInqProtseqs(RPC_PROTSEQ_VECTOR**); < 365 RPC_STATUS RpcServerInqBindings(RPC_BINDING_VECTOR**); < 366 RPC_STATUS RpcServerUseProtseq(char*, uint, void*); < 367 RPC_STATUS RpcServerUseProtseqEx(char*, uint, void*, PRPC_POLICY); < 368 RPC_STATUS RpcServerUseProtseqEp(char*, uint, char*, void*); < 369 RPC_STATUS RpcServerUseProtseqEpEx(char*, uint, char*, void*, PRPC_POLIC < 370 RPC_STATUS RpcServerUseProtseqIf(char*, uint, RPC_IF_HANDLE, void*); < 371 RPC_STATUS RpcServerUseProtseqIfEx(char*, uint, RPC_IF_HANDLE, void*, PR < 372 RPC_STATUS RpcMgmtInqServerPrincName(RPC_BINDING_HANDLE, uint, char**); < 373 RPC_STATUS RpcServerInqDefaultPrincName(uint, char**); < 374 RPC_STATUS RpcNsBindingInqEntryName(RPC_BINDING_HANDLE, uint, char**); < 375 RPC_STATUS RpcBindingInqAuthClient(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE* < 376 RPC_STATUS RpcBindingInqAuthInfo(RPC_BINDING_HANDLE, char**, uint*, uint < 377 RPC_STATUS RpcBindingSetAuthInfo(RPC_BINDING_HANDLE, char*, uint, uint, < 378 alias void function(void*, char*, uint, void**, RPC_STATUS*) RPC_AUTH_KE < 379 RPC_STATUS RpcServerRegisterAuthInfo(char*, uint, RPC_AUTH_KEY_RETRIEVAL < 380 RPC_STATUS UuidToString(UUID*, char**); < 381 RPC_STATUS UuidFromString(char*, UUID*); < 382 RPC_STATUS RpcEpRegisterNoReplace(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UU < 383 RPC_STATUS RpcEpRegister(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR < 384 RPC_STATUS DceErrorInqText(RPC_STATUS, char*); < 385 RPC_STATUS RpcMgmtEpEltInqNext(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDIN < 386 }// _WIN32_WINNT_ONLY < 387 349 388 350 389 RPC_STATUS RpcBindingCopy(RPC_BINDING_HANDLE, RPC_BINDING_HANDLE*); 351 RPC_STATUS RpcBindingCopy(RPC_BINDING_HANDLE, RPC_BINDING_HANDLE*); 390 RPC_STATUS RpcBindingFree(RPC_BINDING_HANDLE*); 352 RPC_STATUS RpcBindingFree(RPC_BINDING_HANDLE*); 391 RPC_STATUS RpcBindingInqObject(RPC_BINDING_HANDLE, UUID*); 353 RPC_STATUS RpcBindingInqObject(RPC_BINDING_HANDLE, UUID*); 392 RPC_STATUS RpcBindingReset(RPC_BINDING_HANDLE); 354 RPC_STATUS RpcBindingReset(RPC_BINDING_HANDLE); 393 RPC_STATUS RpcBindingSetObject(RPC_BINDING_HANDLE, UUID*); 355 RPC_STATUS RpcBindingSetObject(RPC_BINDING_HANDLE, UUID*); ................................................................................................................................................................................ 440 RPC_STATUS RpcMgmtEpUnregister(RPC_BINDING_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDL 402 RPC_STATUS RpcMgmtEpUnregister(RPC_BINDING_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDL 441 RPC_STATUS RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN); 403 RPC_STATUS RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN); 442 RPC_STATUS RpcMgmtInqParameter(uint, uint*); 404 RPC_STATUS RpcMgmtInqParameter(uint, uint*); 443 RPC_STATUS RpcMgmtSetParameter(uint, uint); 405 RPC_STATUS RpcMgmtSetParameter(uint, uint); 444 RPC_STATUS RpcMgmtBindingInqParameter(RPC_BINDING_HANDLE, uint, uint*); 406 RPC_STATUS RpcMgmtBindingInqParameter(RPC_BINDING_HANDLE, uint, uint*); 445 RPC_STATUS RpcMgmtBindingSetParameter(RPC_BINDING_HANDLE, uint, uint); 407 RPC_STATUS RpcMgmtBindingSetParameter(RPC_BINDING_HANDLE, uint, uint); 446 408 447 static if (_WIN32_WINNT >= 0x0500) { | 409 static if (_WIN32_WINNT >= 0x500) { 448 RPC_STATUS UuidCreateSequential(UUID*); 410 RPC_STATUS UuidCreateSequential(UUID*); 449 } 411 }

Modified src/win32/rpcdce2.d from [d3ce7b71ab1b6ffb] to [7597e66a5d41bac6].

Modified src/win32/rpcdcep.d from [fac68aa535f8bb3c] to [c14904c7a961f355].

9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.rpcdcep; 10 module win32.rpcdcep; 11 11 12 private import win32.basetyps; 12 private import win32.basetyps; 13 private import win32.w32api; 13 private import win32.w32api; 14 private import win32.windef; 14 private import win32.windef; 15 15 16 alias HANDLE I_RPC_HANDLE; | 16 mixin DECLARE_HANDLE!("I_RPC_HANDLE"); 17 alias long RPC_STATUS; 17 alias long RPC_STATUS; 18 18 19 const RPC_NCA_FLAGS_DEFAULT=0; 19 const RPC_NCA_FLAGS_DEFAULT=0; 20 const RPC_NCA_FLAGS_IDEMPOTENT=1; 20 const RPC_NCA_FLAGS_IDEMPOTENT=1; 21 const RPC_NCA_FLAGS_BROADCAST=2; 21 const RPC_NCA_FLAGS_BROADCAST=2; 22 const RPC_NCA_FLAGS_MAYBE=4; 22 const RPC_NCA_FLAGS_MAYBE=4; 23 const RPCFLG_ASYNCHRONOUS=0x40000000; 23 const RPCFLG_ASYNCHRONOUS=0x40000000; ................................................................................................................................................................................ 75 uint Length; 75 uint Length; 76 RPC_SYNTAX_IDENTIFIER InterfaceId; 76 RPC_SYNTAX_IDENTIFIER InterfaceId; 77 RPC_SYNTAX_IDENTIFIER TransferSyntax; 77 RPC_SYNTAX_IDENTIFIER TransferSyntax; 78 PRPC_DISPATCH_TABLE DispatchTable; 78 PRPC_DISPATCH_TABLE DispatchTable; 79 uint RpcProtseqEndpointCount; 79 uint RpcProtseqEndpointCount; 80 PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; 80 PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; 81 void* DefaultManagerEpv; 81 void* DefaultManagerEpv; 82 CPtr!(void) InterpreterInfo; | 82 const(void)* InterpreterInfo; 83 } 83 } 84 alias RPC_SERVER_INTERFACE* PRPC_SERVER_INTERFACE; 84 alias RPC_SERVER_INTERFACE* PRPC_SERVER_INTERFACE; 85 85 86 struct RPC_CLIENT_INTERFACE { 86 struct RPC_CLIENT_INTERFACE { 87 uint Length; 87 uint Length; 88 RPC_SYNTAX_IDENTIFIER InterfaceId; 88 RPC_SYNTAX_IDENTIFIER InterfaceId; 89 RPC_SYNTAX_IDENTIFIER TransferSyntax; 89 RPC_SYNTAX_IDENTIFIER TransferSyntax; 90 PRPC_DISPATCH_TABLE DispatchTable; 90 PRPC_DISPATCH_TABLE DispatchTable; 91 uint RpcProtseqEndpointCount; 91 uint RpcProtseqEndpointCount; 92 PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; 92 PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; 93 uint Reserved; 93 uint Reserved; 94 CPtr!(void) InterpreterInfo; | 94 const(void)* InterpreterInfo; 95 } 95 } 96 alias RPC_CLIENT_INTERFACE* PRPC_CLIENT_INTERFACE; 96 alias RPC_CLIENT_INTERFACE* PRPC_CLIENT_INTERFACE; 97 97 98 alias void* I_RPC_MUTEX; | 98 alias TypeDef!(void*) I_RPC_MUTEX; 99 99 100 struct RPC_TRANSFER_SYNTAX { 100 struct RPC_TRANSFER_SYNTAX { 101 GUID Uuid; 101 GUID Uuid; 102 ushort VersMajor; 102 ushort VersMajor; 103 ushort VersMinor; 103 ushort VersMinor; 104 } 104 } 105 alias RPC_STATUS function(void*, void*, void*) RPC_BLOCKING_FN; 105 alias RPC_STATUS function(void*, void*, void*) RPC_BLOCKING_FN; ................................................................................................................................................................................ 118 void I_RpcFree(void*); 118 void I_RpcFree(void*); 119 void I_RpcPauseExecution(uint); 119 void I_RpcPauseExecution(uint); 120 int I_RpcMonitorAssociation(HANDLE, PRPC_RUNDOWN, void*); 120 int I_RpcMonitorAssociation(HANDLE, PRPC_RUNDOWN, void*); 121 int I_RpcStopMonitorAssociation(HANDLE); 121 int I_RpcStopMonitorAssociation(HANDLE); 122 HANDLE I_RpcGetCurrentCallHandle(); 122 HANDLE I_RpcGetCurrentCallHandle(); 123 int I_RpcGetAssociationContext(void**); 123 int I_RpcGetAssociationContext(void**); 124 int I_RpcSetAssociationContext(void*); 124 int I_RpcSetAssociationContext(void*); 125 < 126 static if (_WIN32_WINNT_ONLY) { < 127 int I_RpcNsBindingSetEntryName(HANDLE, uint, wchar*); | 125 int I_RpcNsBindingSetEntryName(HANDLE, uint, wchar*); 128 int I_RpcBindingInqDynamicEndpoint(HANDLE, wchar**); | 126 int I_RpcBindingInqDynamicEndpoint(HANDLE, wchar**); 129 } else { < 130 int I_RpcNsBindingSetEntryName(HANDLE, uint, char*); < 131 int I_RpcBindingInqDynamicEndpoint(HANDLE, char**); < 132 } < 133 < 134 int I_RpcBindingInqTransportType(HANDLE, uint*); | 127 int I_RpcBindingInqTransportType(HANDLE, uint*); 135 int I_RpcIfInqTransferSyntaxes(HANDLE, RPC_TRANSFER_SYNTAX*, uint, | 128 int I_RpcIfInqTransferSyntaxes(HANDLE, RPC_TRANSFER_SYNTAX*, uint, 136 uint*); | 129 uint*); 137 int I_UuidCreate(GUID*); | 130 int I_UuidCreate(GUID*); 138 int I_RpcBindingCopy(HANDLE, HANDLE*); | 131 int I_RpcBindingCopy(HANDLE, HANDLE*); 139 int I_RpcBindingIsClientLocal(HANDLE, uint*); | 132 int I_RpcBindingIsClientLocal(HANDLE, uint*); 140 void I_RpcSsDontSerializeContext(); | 133 void I_RpcSsDontSerializeContext(); 141 int I_RpcServerRegisterForwardFunction(int function (GUID*, | 134 int I_RpcServerRegisterForwardFunction(int function (GUID*, 142 RPC_VERSION*, GUID*, ubyte*, void**)); | 135 RPC_VERSION*, GUID*, ubyte*, void**)); 143 int I_RpcConnectionInqSockBuffSize(uint*, uint*); | 136 int I_RpcConnectionInqSockBuffSize(uint*, uint*); 144 int I_RpcConnectionSetSockBuffSize(uint, uint); | 137 int I_RpcConnectionSetSockBuffSize(uint, uint); 145 int I_RpcBindingSetAsync(HANDLE, RPC_BLOCKING_FN); | 138 int I_RpcBindingSetAsync(HANDLE, RPC_BLOCKING_FN); 146 int I_RpcAsyncSendReceive(RPC_MESSAGE*, void*); | 139 int I_RpcAsyncSendReceive(RPC_MESSAGE*, void*); 147 int I_RpcGetThreadWindowHandle(void**); | 140 int I_RpcGetThreadWindowHandle(void**); 148 int I_RpcServerThreadPauseListening(); | 141 int I_RpcServerThreadPauseListening(); 149 int I_RpcServerThreadContinueListening(); | 142 int I_RpcServerThreadContinueListening(); 150 int I_RpcServerUnregisterEndpointA(ubyte*, ubyte*); | 143 int I_RpcServerUnregisterEndpointA(ubyte*, ubyte*); 151 int I_RpcServerUnregisterEndpointW(ushort*, ushort*); | 144 int I_RpcServerUnregisterEndpointW(ushort*, ushort*); 152 } 145 } 153 146 154 version(Unicode) { 147 version(Unicode) { 155 alias I_RpcServerUnregisterEndpointW I_RpcServerUnregisterEndpoint; 148 alias I_RpcServerUnregisterEndpointW I_RpcServerUnregisterEndpoint; 156 } else { 149 } else { 157 alias I_RpcServerUnregisterEndpointA I_RpcServerUnregisterEndpoint; 150 alias I_RpcServerUnregisterEndpointA I_RpcServerUnregisterEndpoint; 158 } 151 }

Modified src/win32/rpcndr.d from [8b8a4b41425c59e6] to [a54264ccdca8c643].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.rpcndr; 10 module win32.rpcndr; 11 pragma(lib, "rpcrt4.lib"); | 11 pragma(lib, "rpcrt4"); 12 12 13 /* Translation notes: 13 /* Translation notes: 14 RPC_CLIENT_ALLOC*, RPC_CLIENT_FREE* were replaced with PRPC_CLIENT_ALLOC, PRPC_ 14 RPC_CLIENT_ALLOC*, RPC_CLIENT_FREE* were replaced with PRPC_CLIENT_ALLOC, PRPC_ 15 */ 15 */ 16 16 17 // TODO: Bitfields in MIDL_STUB_MESSAGE. 17 // TODO: Bitfields in MIDL_STUB_MESSAGE. 18 // Macros need to be converted. 18 // Macros need to be converted. ................................................................................................................................................................................ 95 //MACRO #define NdrFieldOffset(s,f) (long)(& (((s *)0)->f)) 95 //MACRO #define NdrFieldOffset(s,f) (long)(& (((s *)0)->f)) 96 //MACRO #define NdrFieldPad(s,f,p,t) (NdrFieldOffset(s,f) - NdrFieldOffset(s,p) 96 //MACRO #define NdrFieldPad(s,f,p,t) (NdrFieldOffset(s,f) - NdrFieldOffset(s,p) 97 //MACRO #define NdrFcShort(s) (unsigned char)(s & 0xff), (unsigned char)(s >> 8) 97 //MACRO #define NdrFcShort(s) (unsigned char)(s & 0xff), (unsigned char)(s >> 8) 98 //MACRO #define NdrFcLong(s) (unsigned char)(s & 0xff), (unsigned char)((s & 0x0 98 //MACRO #define NdrFcLong(s) (unsigned char)(s & 0xff), (unsigned char)((s & 0x0 99 99 100 alias void * NDR_CCONTEXT; 100 alias void * NDR_CCONTEXT; 101 struct tagNDR_SCONTEXT { 101 struct tagNDR_SCONTEXT { 102 void *pad[2]; | 102 void*[2] pad; 103 void *userContext; 103 void *userContext; 104 } 104 } 105 alias tagNDR_SCONTEXT * NDR_SCONTEXT; 105 alias tagNDR_SCONTEXT * NDR_SCONTEXT; 106 106 107 struct SCONTEXT_QUEUE { 107 struct SCONTEXT_QUEUE { 108 uint NumberOfObjects; 108 uint NumberOfObjects; 109 NDR_SCONTEXT *ArrayOfObjects; 109 NDR_SCONTEXT *ArrayOfObjects; ................................................................................................................................................................................ 113 struct _MIDL_STUB_MESSAGE; 113 struct _MIDL_STUB_MESSAGE; 114 struct _MIDL_STUB_DESC; 114 struct _MIDL_STUB_DESC; 115 struct _FULL_PTR_XLAT_TABLES; 115 struct _FULL_PTR_XLAT_TABLES; 116 116 117 alias ubyte *RPC_BUFPTR; 117 alias ubyte *RPC_BUFPTR; 118 alias uint RPC_LENGTH; 118 alias uint RPC_LENGTH; 119 119 120 alias CPtr!(char) PFORMAT_STRING; | 120 alias const(char)* PFORMAT_STRING; 121 121 122 struct ARRAY_INFO { 122 struct ARRAY_INFO { 123 int Dimension; 123 int Dimension; 124 uint *BufferConformanceMark; 124 uint *BufferConformanceMark; 125 uint *BufferVarianceMark; 125 uint *BufferVarianceMark; 126 uint *MaxCountArray; 126 uint *MaxCountArray; 127 uint *OffsetArray; 127 uint *OffsetArray; ................................................................................................................................................................................ 185 uint ActualCount; 185 uint ActualCount; 186 void* function (uint) pfnAllocate; 186 void* function (uint) pfnAllocate; 187 void function (void*) pfnFree; 187 void function (void*) pfnFree; 188 ubyte * StackTop; 188 ubyte * StackTop; 189 ubyte * pPresentedType; 189 ubyte * pPresentedType; 190 ubyte * pTransmitType; 190 ubyte * pTransmitType; 191 handle_t SavedHandle; 191 handle_t SavedHandle; 192 CPtr!(_MIDL_STUB_DESC) StubDesc; | 192 const(_MIDL_STUB_DESC)* StubDesc; 193 _FULL_PTR_XLAT_TABLES *FullPtrXlatTables; 193 _FULL_PTR_XLAT_TABLES *FullPtrXlatTables; 194 uint FullPtrRefId; 194 uint FullPtrRefId; 195 int fCheckBounds; 195 int fCheckBounds; 196 // FIXME: 196 // FIXME: 197 byte bit_fields_for_D; // FIXME: Bitfields 197 byte bit_fields_for_D; // FIXME: Bitfields 198 // int fInDontFree :1; 198 // int fInDontFree :1; 199 // int fDontCallFreeInst :1; 199 // int fDontCallFreeInst :1; 200 // int fInOnlyParam :1; 200 // int fInOnlyParam :1; 201 // int fHasReturn :1; 201 // int fHasReturn :1; 202 uint dwDestContext; 202 uint dwDestContext; 203 void* pvDestContext; 203 void* pvDestContext; 204 NDR_SCONTEXT * SavedContextHandles; 204 NDR_SCONTEXT * SavedContextHandles; 205 int ParamNumber; 205 int ParamNumber; 206 IRpcChannelBuffer * pRpcChannelBuffer; | 206 IRpcChannelBuffer pRpcChannelBuffer; 207 PARRAY_INFO pArrayInfo; 207 PARRAY_INFO pArrayInfo; 208 uint * SizePtrCountArray; 208 uint * SizePtrCountArray; 209 uint * SizePtrOffsetArray; 209 uint * SizePtrOffsetArray; 210 uint * SizePtrLengthArray; 210 uint * SizePtrLengthArray; 211 void* pArgQueue; 211 void* pArgQueue; 212 uint dwStubPhase; 212 uint dwStubPhase; 213 uint w2kReserved[5]; | 213 uint[5] w2kReserved; 214 } 214 } 215 alias MIDL_STUB_MESSAGE * PMIDL_STUB_MESSAGE; 215 alias MIDL_STUB_MESSAGE * PMIDL_STUB_MESSAGE; 216 216 217 extern (Windows) { 217 extern (Windows) { 218 alias void* function (void*) GENERIC_BINDING_ROUTINE; 218 alias void* function (void*) GENERIC_BINDING_ROUTINE; 219 alias void function (void*,ubyte*) GENERIC_UNBIND_ROUTINE; 219 alias void function (void*,ubyte*) GENERIC_UNBIND_ROUTINE; 220 alias uint function (uint *,uint,void *) USER_MARSHAL_SIZING_ROUTINE; 220 alias uint function (uint *,uint,void *) USER_MARSHAL_SIZING_ROUTINE; ................................................................................................................................................................................ 289 void function (void*) pfnFree; 289 void function (void*) pfnFree; 290 union _IMPLICIT_HANDLE_INFO { 290 union _IMPLICIT_HANDLE_INFO { 291 handle_t *pAutoHandle; 291 handle_t *pAutoHandle; 292 handle_t *pPrimitiveHandle; 292 handle_t *pPrimitiveHandle; 293 PGENERIC_BINDING_INFO pGenericBindingInfo; 293 PGENERIC_BINDING_INFO pGenericBindingInfo; 294 } 294 } 295 _IMPLICIT_HANDLE_INFO IMPLICIT_HANDLE_INFO; 295 _IMPLICIT_HANDLE_INFO IMPLICIT_HANDLE_INFO; 296 CPtr!(NDR_RUNDOWN) apfnNdrRundownRoutines; | 296 const(NDR_RUNDOWN)* apfnNdrRundownRoutines; 297 CPtr!(GENERIC_BINDING_ROUTINE_PAIR) aGenericBindingRoutinePairs; | 297 const(GENERIC_BINDING_ROUTINE_PAIR)* aGenericBindingRoutinePairs; 298 CPtr!(EXPR_EVAL) apfnExprEval; | 298 const(EXPR_EVAL)* apfnExprEval; 299 CPtr!(XMIT_ROUTINE_QUINTUPLE) aXmitQuintuple; | 299 const(XMIT_ROUTINE_QUINTUPLE)* aXmitQuintuple; 300 CPtr!(char) *pFormatTypes; | 300 const(char)* *pFormatTypes; 301 int fCheckBounds; 301 int fCheckBounds; 302 uint Version; 302 uint Version; 303 MALLOC_FREE_STRUCT *pMallocFreeStruct; 303 MALLOC_FREE_STRUCT *pMallocFreeStruct; 304 int MIDLVersion; 304 int MIDLVersion; 305 CPtr!(COMM_FAULT_OFFSETS) CommFaultOffsets; | 305 const(COMM_FAULT_OFFSETS)* CommFaultOffsets; 306 CPtr!(USER_MARSHAL_ROUTINE_QUADRUPLE) aUserMarshalQuadruple; | 306 const(USER_MARSHAL_ROUTINE_QUADRUPLE)* aUserMarshalQuadruple; 307 CPtr!(NDR_NOTIFY_ROUTINE) NotifyRoutineTable; | 307 const(NDR_NOTIFY_ROUTINE)* NotifyRoutineTable; 308 ULONG_PTR mFlags; 308 ULONG_PTR mFlags; 309 CPtr!(NDR_CS_ROUTINES) CsRoutineTables; | 309 const(NDR_CS_ROUTINES)* CsRoutineTables; 310 void *Reserved4; 310 void *Reserved4; 311 ULONG_PTR Reserved5; 311 ULONG_PTR Reserved5; 312 } 312 } 313 alias CPtr!(MIDL_STUB_DESC) PMIDL_STUB_DESC; | 313 alias const(MIDL_STUB_DESC)* PMIDL_STUB_DESC; 314 314 315 alias void * PMIDL_XMIT_TYPE; 315 alias void * PMIDL_XMIT_TYPE; 316 316 317 struct MIDL_FORMAT_STRING { 317 struct MIDL_FORMAT_STRING { 318 short Pad; 318 short Pad; 319 ubyte Format[1]; | 319 ubyte[1] Format; 320 } 320 } 321 321 322 struct MIDL_SERVER_INFO { 322 struct MIDL_SERVER_INFO { 323 PMIDL_STUB_DESC pStubDesc; 323 PMIDL_STUB_DESC pStubDesc; 324 CPtr!(SERVER_ROUTINE) DispatchTable; | 324 const(SERVER_ROUTINE)* DispatchTable; 325 PFORMAT_STRING ProcString; 325 PFORMAT_STRING ProcString; 326 CPtr!(ushort) FmtStringOffset; | 326 const(ushort)* FmtStringOffset; 327 CPtr!(STUB_THUNK) ThunkTable; | 327 const(STUB_THUNK)* ThunkTable; 328 } 328 } 329 alias MIDL_SERVER_INFO * PMIDL_SERVER_INFO; 329 alias MIDL_SERVER_INFO * PMIDL_SERVER_INFO; 330 330 331 struct MIDL_STUBLESS_PROXY_INFO { 331 struct MIDL_STUBLESS_PROXY_INFO { 332 PMIDL_STUB_DESC pStubDesc; 332 PMIDL_STUB_DESC pStubDesc; 333 PFORMAT_STRING ProcFormatString; 333 PFORMAT_STRING ProcFormatString; 334 CPtr!(ushort) FormatStringOffset; | 334 const(ushort)* FormatStringOffset; 335 } 335 } 336 alias MIDL_STUBLESS_PROXY_INFO *PMIDL_STUBLESS_PROXY_INFO; 336 alias MIDL_STUBLESS_PROXY_INFO *PMIDL_STUBLESS_PROXY_INFO; 337 337 338 union CLIENT_CALL_RETURN { 338 union CLIENT_CALL_RETURN { 339 void *Pointer; 339 void *Pointer; 340 int Simple; 340 int Simple; 341 } 341 } ................................................................................................................................................................................ 380 PROXY_CALCSIZE, 380 PROXY_CALCSIZE, 381 PROXY_GETBUFFER, 381 PROXY_GETBUFFER, 382 PROXY_MARSHAL, 382 PROXY_MARSHAL, 383 PROXY_SENDRECEIVE, 383 PROXY_SENDRECEIVE, 384 PROXY_UNMARSHAL 384 PROXY_UNMARSHAL 385 } 385 } 386 386 387 alias void * RPC_SS_THREAD_HANDLE; | 387 alias TypeDef!(void *) RPC_SS_THREAD_HANDLE; 388 388 389 extern (Windows) { 389 extern (Windows) { 390 alias void function (void*) NDR_RUNDOWN; 390 alias void function (void*) NDR_RUNDOWN; 391 alias void function (_MIDL_STUB_MESSAGE*) EXPR_EVAL; 391 alias void function (_MIDL_STUB_MESSAGE*) EXPR_EVAL; 392 alias void function(PMIDL_STUB_MESSAGE) XMIT_HELPER_ROUTINE; 392 alias void function(PMIDL_STUB_MESSAGE) XMIT_HELPER_ROUTINE; 393 alias void function (RPC_BINDING_HANDLE,uint,uint,IDL_CS_CONVERT*,uint*,error_st 393 alias void function (RPC_BINDING_HANDLE,uint,uint,IDL_CS_CONVERT*,uint*,error_st 394 alias void function (RPC_BINDING_HANDLE,uint,uint,IDL_CS_CONVERT*,uint*,error_st 394 alias void function (RPC_BINDING_HANDLE,uint,uint,IDL_CS_CONVERT*,uint*,error_st ................................................................................................................................................................................ 510 ubyte * NdrNsGetBuffer(PMIDL_STUB_MESSAGE,uint,RPC_BINDING_HANDLE); 510 ubyte * NdrNsGetBuffer(PMIDL_STUB_MESSAGE,uint,RPC_BINDING_HANDLE); 511 ubyte * NdrSendReceive(PMIDL_STUB_MESSAGE,ubyte*); 511 ubyte * NdrSendReceive(PMIDL_STUB_MESSAGE,ubyte*); 512 ubyte * NdrNsSendReceive(PMIDL_STUB_MESSAGE,ubyte*,RPC_BINDING_HANDLE*); 512 ubyte * NdrNsSendReceive(PMIDL_STUB_MESSAGE,ubyte*,RPC_BINDING_HANDLE*); 513 void NdrFreeBuffer(PMIDL_STUB_MESSAGE); 513 void NdrFreeBuffer(PMIDL_STUB_MESSAGE); 514 514 515 CLIENT_CALL_RETURN NdrClientCall(PMIDL_STUB_DESC,PFORMAT_STRING,...); 515 CLIENT_CALL_RETURN NdrClientCall(PMIDL_STUB_DESC,PFORMAT_STRING,...); 516 516 517 int NdrStubCall(IRpcStubBuffer*, IRpcChannelBuffer*,PRPC_MESSAGE,uint*); | 517 int NdrStubCall(IRpcStubBuffer, IRpcChannelBuffer,PRPC_MESSAGE,uint*); 518 void NdrServerCall(PRPC_MESSAGE); 518 void NdrServerCall(PRPC_MESSAGE); 519 int NdrServerUnmarshall(IRpcChannelBuffer*, PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMI | 519 int NdrServerUnmarshall(IRpcChannelBuffer, PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMID 520 void NdrServerMarshall(IRpcStubBuffer*, IRpcChannelBuffer*,PMIDL_STUB_MESSAGE,P | 520 void NdrServerMarshall(IRpcStubBuffer, IRpcChannelBuffer,PMIDL_STUB_MESSAGE,PFO 521 RPC_STATUS NdrMapCommAndFaultStatus(PMIDL_STUB_MESSAGE,uint*,uint*,RPC_STATUS); 521 RPC_STATUS NdrMapCommAndFaultStatus(PMIDL_STUB_MESSAGE,uint*,uint*,RPC_STATUS); 522 int NdrSH_UPDecision(PMIDL_STUB_MESSAGE,ubyte**,RPC_BUFPTR); 522 int NdrSH_UPDecision(PMIDL_STUB_MESSAGE,ubyte**,RPC_BUFPTR); 523 int NdrSH_TLUPDecision(PMIDL_STUB_MESSAGE,ubyte**); 523 int NdrSH_TLUPDecision(PMIDL_STUB_MESSAGE,ubyte**); 524 int NdrSH_TLUPDecisionBuffer(PMIDL_STUB_MESSAGE,ubyte**); 524 int NdrSH_TLUPDecisionBuffer(PMIDL_STUB_MESSAGE,ubyte**); 525 int NdrSH_IfAlloc(PMIDL_STUB_MESSAGE,ubyte**,uint); 525 int NdrSH_IfAlloc(PMIDL_STUB_MESSAGE,ubyte**,uint); 526 int NdrSH_IfAllocRef(PMIDL_STUB_MESSAGE,ubyte**,uint); 526 int NdrSH_IfAllocRef(PMIDL_STUB_MESSAGE,ubyte**,uint); 527 int NdrSH_IfAllocSet(PMIDL_STUB_MESSAGE,ubyte**,uint); 527 int NdrSH_IfAllocSet(PMIDL_STUB_MESSAGE,ubyte**,uint);

Modified src/win32/rpcnsi.d from [3c5ab0849ccdf24f] to [e6f2e848af2bbb85].

5 * RPC Name Service (RpcNs APIs) * 5 * RPC Name Service (RpcNs APIs) * 6 * * 6 * * 7 * Translated from MinGW Windows headers * 7 * Translated from MinGW Windows headers * 8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.rpcnsi; 11 module win32.rpcnsi; 12 pragma(lib, "rpcns4.lib"); | 12 pragma(lib, "rpcns4"); 13 13 14 private import win32.basetyps, win32.rpcdcep, win32.rpcnsi, win32.rpcdce, 14 private import win32.basetyps, win32.rpcdcep, win32.rpcnsi, win32.rpcdce, 15 win32.w32api; 15 win32.w32api; 16 private import win32.windef; // for HANDLE 16 private import win32.windef; // for HANDLE 17 17 18 alias HANDLE RPC_NS_HANDLE; | 18 mixin DECLARE_HANDLE!("RPC_NS_HANDLE"); 19 19 20 const RPC_C_NS_SYNTAX_DEFAULT=0; 20 const RPC_C_NS_SYNTAX_DEFAULT=0; 21 const RPC_C_NS_SYNTAX_DCE=3; 21 const RPC_C_NS_SYNTAX_DCE=3; 22 const RPC_C_PROFILE_DEFAULT_ELT=0; 22 const RPC_C_PROFILE_DEFAULT_ELT=0; 23 const RPC_C_PROFILE_ALL_ELT=1; 23 const RPC_C_PROFILE_ALL_ELT=1; 24 const RPC_C_PROFILE_MATCH_BY_IF=2; 24 const RPC_C_PROFILE_MATCH_BY_IF=2; 25 const RPC_C_PROFILE_MATCH_BY_MBR=3; 25 const RPC_C_PROFILE_MATCH_BY_MBR=3; ................................................................................................................................................................................ 62 RPC_STATUS RpcNsMgmtInqExpAge(uint*); 62 RPC_STATUS RpcNsMgmtInqExpAge(uint*); 63 RPC_STATUS RpcNsMgmtSetExpAge(uint); 63 RPC_STATUS RpcNsMgmtSetExpAge(uint); 64 RPC_STATUS RpcNsBindingImportNext(RPC_NS_HANDLE, RPC_BINDING_HANDLE*); 64 RPC_STATUS RpcNsBindingImportNext(RPC_NS_HANDLE, RPC_BINDING_HANDLE*); 65 RPC_STATUS RpcNsBindingImportDone(RPC_NS_HANDLE*); 65 RPC_STATUS RpcNsBindingImportDone(RPC_NS_HANDLE*); 66 RPC_STATUS RpcNsBindingSelect(RPC_BINDING_VECTOR*, RPC_BINDING_HANDLE*); 66 RPC_STATUS RpcNsBindingSelect(RPC_BINDING_VECTOR*, RPC_BINDING_HANDLE*); 67 } 67 } 68 68 69 // For the cases where Win95, 98, ME have no _W versions, and we must alias to < 70 // _A even for version(Unicode). < 71 69 72 version (Unicode) { 70 version (Unicode) { 73 static if (_WIN32_WINNT_ONLY) { < 74 const bool _WIN32_USE_UNICODE = true; < 75 } else { < 76 const bool _WIN32_USE_UNICODE = false; < 77 } < 78 } else { 71 } else { 79 const bool _WIN32_USE_UNICODE = false; < 80 } < 81 < 82 static if (!_WIN32_USE_UNICODE) { < 83 RPC_STATUS RpcNsEntryObjectInqBeginA(uint, ubyte*, RPC_NS_HANDLE*); 72 RPC_STATUS RpcNsEntryObjectInqBeginA(uint, ubyte*, RPC_NS_HANDLE*); 84 RPC_STATUS RpcNsBindingImportBeginA(uint, ubyte*, RPC_IF_HANDLE, UUID*, 73 RPC_STATUS RpcNsBindingImportBeginA(uint, ubyte*, RPC_IF_HANDLE, UUID*, 85 RPC_NS_HANDLE*); 74 RPC_NS_HANDLE*); 86 } 75 } 87 76 88 static if (_WIN32_WINNT_ONLY) { < 89 RPC_STATUS RpcNsBindingExportW(uint, ushort*, RPC_IF_HANDLE, | 77 RPC_STATUS RpcNsBindingExportW(uint, ushort*, RPC_IF_HANDLE, 90 RPC_BINDING_VECTOR*, UUID_VECTOR*); | 78 RPC_BINDING_VECTOR*, UUID_VECTOR*); 91 RPC_STATUS RpcNsBindingUnexportW(uint, ushort*, RPC_IF_HANDLE, | 79 RPC_STATUS RpcNsBindingUnexportW(uint, ushort*, RPC_IF_HANDLE, 92 UUID_VECTOR*); | 80 UUID_VECTOR*); 93 RPC_STATUS RpcNsBindingLookupBeginW(uint, ushort*, RPC_IF_HANDLE, UUID*, | 81 RPC_STATUS RpcNsBindingLookupBeginW(uint, ushort*, RPC_IF_HANDLE, UUID*, 94 uint, RPC_NS_HANDLE*); | 82 uint, RPC_NS_HANDLE*); 95 RPC_STATUS RpcNsGroupDeleteW(uint, ushort*); | 83 RPC_STATUS RpcNsGroupDeleteW(uint, ushort*); 96 RPC_STATUS RpcNsGroupMbrAddW(uint, ushort*, uint, ushort*); | 84 RPC_STATUS RpcNsGroupMbrAddW(uint, ushort*, uint, ushort*); 97 RPC_STATUS RpcNsGroupMbrRemoveW(uint, ushort*, uint, ushort*); | 85 RPC_STATUS RpcNsGroupMbrRemoveW(uint, ushort*, uint, ushort*); 98 RPC_STATUS RpcNsGroupMbrInqBeginW(uint, ushort*, uint, RPC_NS_HANDLE*); | 86 RPC_STATUS RpcNsGroupMbrInqBeginW(uint, ushort*, uint, RPC_NS_HANDLE*); 99 RPC_STATUS RpcNsGroupMbrInqNextW(RPC_NS_HANDLE, ushort**); | 87 RPC_STATUS RpcNsGroupMbrInqNextW(RPC_NS_HANDLE, ushort**); 100 RPC_STATUS RpcNsProfileDeleteW(uint, ushort*); | 88 RPC_STATUS RpcNsProfileDeleteW(uint, ushort*); 101 RPC_STATUS RpcNsProfileEltAddW(uint, ushort*, RPC_IF_ID*, uint, ushort*, | 89 RPC_STATUS RpcNsProfileEltAddW(uint, ushort*, RPC_IF_ID*, uint, ushort*, 102 uint, ushort*); | 90 uint, ushort*); 103 RPC_STATUS RpcNsProfileEltRemoveW(uint, ushort*, RPC_IF_ID*, uint, | 91 RPC_STATUS RpcNsProfileEltRemoveW(uint, ushort*, RPC_IF_ID*, uint, 104 ushort*); | 92 ushort*); 105 RPC_STATUS RpcNsProfileEltInqBeginW(uint, ushort*, uint, RPC_IF_ID*, | 93 RPC_STATUS RpcNsProfileEltInqBeginW(uint, ushort*, uint, RPC_IF_ID*, 106 uint, uint, ushort*, RPC_NS_HANDLE*); | 94 uint, uint, ushort*, RPC_NS_HANDLE*); 107 RPC_STATUS RpcNsProfileEltInqNextW(RPC_NS_HANDLE, RPC_IF_ID*, ushort**, | 95 RPC_STATUS RpcNsProfileEltInqNextW(RPC_NS_HANDLE, RPC_IF_ID*, ushort**, 108 uint*, ushort**); | 96 uint*, ushort**); 109 RPC_STATUS RpcNsEntryObjectInqBeginW(uint, ushort*, RPC_NS_HANDLE*); | 97 RPC_STATUS RpcNsEntryObjectInqBeginW(uint, ushort*, RPC_NS_HANDLE*); 110 RPC_STATUS RpcNsEntryExpandNameW(uint, ushort*, ushort**); | 98 RPC_STATUS RpcNsEntryExpandNameW(uint, ushort*, ushort**); 111 RPC_STATUS RpcNsMgmtBindingUnexportW(uint, ushort*, RPC_IF_ID*, uint, | 99 RPC_STATUS RpcNsMgmtBindingUnexportW(uint, ushort*, RPC_IF_ID*, uint, 112 UUID_VECTOR*); | 100 UUID_VECTOR*); 113 RPC_STATUS RpcNsMgmtEntryCreateW(uint, ushort*); | 101 RPC_STATUS RpcNsMgmtEntryCreateW(uint, ushort*); 114 RPC_STATUS RpcNsMgmtEntryDeleteW(uint, ushort*); | 102 RPC_STATUS RpcNsMgmtEntryDeleteW(uint, ushort*); 115 RPC_STATUS RpcNsMgmtEntryInqIfIdsW(uint, ushort , RPC_IF_ID_VECTOR**); | 103 RPC_STATUS RpcNsMgmtEntryInqIfIdsW(uint, ushort , RPC_IF_ID_VECTOR**); 116 RPC_STATUS RpcNsBindingImportBeginW(uint, ushort*, RPC_IF_HANDLE, UUID*, | 104 RPC_STATUS RpcNsBindingImportBeginW(uint, ushort*, RPC_IF_HANDLE, UUID*, 117 RPC_NS_HANDLE*); | 105 RPC_NS_HANDLE*); 118 } // _WIN32_WINNT_ONLY < 119 106 120 static if (_WIN32_USE_UNICODE) { | 107 version (Unicode) { 121 alias RpcNsBindingLookupBeginW RpcNsBindingLookupBegin; 108 alias RpcNsBindingLookupBeginW RpcNsBindingLookupBegin; 122 alias RpcNsBindingImportBeginW RpcNsBindingImportBegin; 109 alias RpcNsBindingImportBeginW RpcNsBindingImportBegin; 123 alias RpcNsBindingExportW RpcNsBindingExport; 110 alias RpcNsBindingExportW RpcNsBindingExport; 124 alias RpcNsBindingUnexportW RpcNsBindingUnexport; 111 alias RpcNsBindingUnexportW RpcNsBindingUnexport; 125 alias RpcNsGroupDeleteW RpcNsGroupDelete; 112 alias RpcNsGroupDeleteW RpcNsGroupDelete; 126 alias RpcNsGroupMbrAddW RpcNsGroupMbrAdd; 113 alias RpcNsGroupMbrAddW RpcNsGroupMbrAdd; 127 alias RpcNsGroupMbrRemoveW RpcNsGroupMbrRemove; 114 alias RpcNsGroupMbrRemoveW RpcNsGroupMbrRemove;

Modified src/win32/rpcnsip.d from [a36abd154cf4e5b1] to [4db958676c29a949].

Modified src/win32/rpcnterr.d from [63a9f93c83055c7e] to [73049331b65677f8].

Modified src/win32/schannel.d from [e98e6679e02fb18d] to [532366dbd71dc510].

Modified src/win32/secext.d from [ceb5b518aee9d6cf] to [4ff4b2ce63f9b1ac].

5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 // Don't include this file directly, use win32.security instead. 10 // Don't include this file directly, use win32.security instead. 11 module win32.secext; 11 module win32.secext; 12 pragma(lib, "secur32.lib"); | 12 pragma(lib, "secur32"); 13 13 14 private import win32.w32api, win32.windef; 14 private import win32.w32api, win32.windef; 15 15 16 static assert (_WIN32_WINNT >= 0x0501, | 16 static assert (_WIN32_WINNT >= 0x501, 17 "SecExt is only available on WindowsXP and later"); 17 "SecExt is only available on WindowsXP and later"); 18 18 19 enum EXTENDED_NAME_FORMAT { 19 enum EXTENDED_NAME_FORMAT { 20 NameUnknown, 20 NameUnknown, 21 NameFullyQualifiedDN, 21 NameFullyQualifiedDN, 22 NameSamCompatible, 22 NameSamCompatible, 23 NameDisplay, // = 3 23 NameDisplay, // = 3

Added src/win32/security.d version [d10f1b4b67bc11ee]

> 1 /***********************************************************************\ > 2 * security.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Translated from MinGW Windows headers * > 7 * by Ellery Newcomer * > 8 * * > 9 * Placed into public domain * > 10 \***********************************************************************/ > 11 module win32.security; > 12 > 13 enum :SECURITY_STATUS{ > 14 SEC_E_OK = 0, > 15 SEC_E_CERT_EXPIRED = (-2146893016), > 16 SEC_E_INCOMPLETE_MESSAGE = (-2146893032), > 17 SEC_E_INSUFFICIENT_MEMORY = (-2146893056), > 18 SEC_E_INTERNAL_ERROR = (-2146893052), > 19 SEC_E_INVALID_HANDLE = (-2146893055), > 20 SEC_E_INVALID_TOKEN = (-2146893048), > 21 SEC_E_LOGON_DENIED = (-2146893044), > 22 SEC_E_NO_AUTHENTICATING_AUTHORITY = (-2146893039), > 23 SEC_E_NO_CREDENTIALS = (-2146893042), > 24 SEC_E_TARGET_UNKNOWN = (-2146893053), > 25 SEC_E_UNSUPPORTED_FUNCTION = (-2146893054), > 26 SEC_E_UNTRUSTED_ROOT = (-2146893019), > 27 SEC_E_WRONG_PRINCIPAL = (-2146893022), > 28 SEC_E_SECPKG_NOT_FOUND = (-2146893051), > 29 SEC_E_QOP_NOT_SUPPORTED = (-2146893046), > 30 SEC_E_UNKNOWN_CREDENTIALS = (-2146893043), > 31 SEC_E_NOT_OWNER = (-2146893050), > 32 } > 33 enum :SECURITY_STATUS { > 34 SEC_I_RENEGOTIATE = 590625, > 35 SEC_I_COMPLETE_AND_CONTINUE = 590612, > 36 SEC_I_COMPLETE_NEEDED = 590611, > 37 SEC_I_CONTINUE_NEEDED = 590610, > 38 SEC_I_INCOMPLETE_CREDENTIALS = 590624, > 39 } > 40 > 41 /* always a char */ > 42 alias char SEC_CHAR; > 43 alias wchar SEC_WCHAR; > 44 > 45 alias int SECURITY_STATUS; > 46

Modified src/win32/servprov.d from [3e46ab1399af3137] to [339bbba305edec50].

Modified src/win32/setupapi.d from [aed39609d10f2169] to [cd6d5cae7d4d0ede].

5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * by Vladimir Vlasov * 7 * by Vladimir Vlasov * 8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.setupapi; 11 module win32.setupapi; 12 pragma(lib, "setupapi.lib"); | 12 pragma(lib, "setupapi"); 13 13 14 private import win32.basetyps, win32.commctrl, win32.prsht, win32.w32api, 14 private import win32.basetyps, win32.commctrl, win32.prsht, win32.w32api, 15 win32.winreg, win32.windef; 15 win32.winreg, win32.windef; 16 private import win32.winbase; // for SYSTEMTIME 16 private import win32.winbase; // for SYSTEMTIME 17 17 18 /*static if(_WIN32_WINNT < _WIN32_WINDOWS) { 18 /*static if(_WIN32_WINNT < _WIN32_WINDOWS) { 19 const UINT _SETUPAPI_VER = _WIN32_WINNT; // SetupAPI version follows Win 19 const UINT _SETUPAPI_VER = _WIN32_WINNT; // SetupAPI version follows Win ................................................................................................................................................................................ 38 } else { 38 } else { 39 const UINT USE_SP_DRVINFO_DATA_V1 = 1; 39 const UINT USE_SP_DRVINFO_DATA_V1 = 1; 40 }*/ 40 }*/ 41 /+ 41 /+ 42 const UINT _SETUPAPI_VER = 0x0400; // Earliest SetupAPI version 42 const UINT _SETUPAPI_VER = 0x0400; // Earliest SetupAPI version 43 const UINT USE_SP_DRVINFO_DATA_V1 = 1; 43 const UINT USE_SP_DRVINFO_DATA_V1 = 1; 44 +/ 44 +/ 45 const UINT _SETUPAPI_VER = WINVER; | 45 const UINT _SETUPAPI_VER = _WIN32_WINNT; 46 const bool USE_SP_DRVINFO_DATA_V1 = !_WIN32_WINNT_ONLY || _WIN32_WINNT < 0x500; | 46 const bool USE_SP_DRVINFO_DATA_V1 = _WIN32_WINNT < 0x500; 47 47 48 enum : uint { 48 enum : uint { 49 LINE_LEN = 256, 49 LINE_LEN = 256, 50 MAX_INF_STRING_LENGTH = 4096, 50 MAX_INF_STRING_LENGTH = 4096, 51 MAX_TITLE_LEN = 60, 51 MAX_TITLE_LEN = 60, 52 MAX_INSTRUCTION_LEN = 256, 52 MAX_INSTRUCTION_LEN = 256, 53 MAX_LABEL_LEN = 30, 53 MAX_LABEL_LEN = 30, ................................................................................................................................................................................ 852 SRCLIST_SUBDIRS = 0x00000100, 852 SRCLIST_SUBDIRS = 0x00000100, 853 SRCLIST_APPEND = 0x00000200, 853 SRCLIST_APPEND = 0x00000200, 854 SRCLIST_NOSTRIPPLATFORM = 0x00000400 854 SRCLIST_NOSTRIPPLATFORM = 0x00000400 855 } 855 } 856 856 857 alias PVOID HINF; 857 alias PVOID HINF; 858 alias PVOID HDSKSPC; 858 alias PVOID HDSKSPC; 859 alias HANDLE HDEVINFO; | 859 mixin DECLARE_HANDLE!("HDEVINFO"); 860 alias PVOID HSPFILEQ; 860 alias PVOID HSPFILEQ; 861 alias PVOID HSPFILELOG; 861 alias PVOID HSPFILELOG; 862 862 863 enum SetupFileLogInfo { 863 enum SetupFileLogInfo { 864 SetupFileLogSourceFilename, 864 SetupFileLogSourceFilename, 865 SetupFileLogChecksum, 865 SetupFileLogChecksum, 866 SetupFileLogDiskTagfile, 866 SetupFileLogDiskTagfile, ................................................................................................................................................................................ 878 UINT Line; 878 UINT Line; 879 } 879 } 880 alias INFCONTEXT* PINFCONTEXT; 880 alias INFCONTEXT* PINFCONTEXT; 881 881 882 struct SP_INF_INFORMATION { 882 struct SP_INF_INFORMATION { 883 DWORD InfStyle; 883 DWORD InfStyle; 884 DWORD InfCount; 884 DWORD InfCount; 885 BYTE _VersionData[1]; | 885 BYTE[1] _VersionData; 886 BYTE* VersionData() { return _VersionData.ptr; } 886 BYTE* VersionData() { return _VersionData.ptr; } 887 } 887 } 888 alias SP_INF_INFORMATION* PSP_INF_INFORMATION; 888 alias SP_INF_INFORMATION* PSP_INF_INFORMATION; 889 889 890 struct SP_ALTPLATFORM_INFO { 890 struct SP_ALTPLATFORM_INFO { 891 DWORD cbSize = SP_ALTPLATFORM_INFO.sizeof; 891 DWORD cbSize = SP_ALTPLATFORM_INFO.sizeof; 892 DWORD Platform; 892 DWORD Platform; ................................................................................................................................................................................ 895 WORD ProcessorArchitecture; 895 WORD ProcessorArchitecture; 896 WORD Reserved; 896 WORD Reserved; 897 } 897 } 898 alias SP_ALTPLATFORM_INFO* PSP_ALTPLATFORM_INFO; 898 alias SP_ALTPLATFORM_INFO* PSP_ALTPLATFORM_INFO; 899 899 900 struct SP_ORIGINAL_FILE_INFO_A { 900 struct SP_ORIGINAL_FILE_INFO_A { 901 DWORD cbSize = SP_ORIGINAL_FILE_INFO_A.sizeof; 901 DWORD cbSize = SP_ORIGINAL_FILE_INFO_A.sizeof; 902 CHAR OriginalInfName[MAX_PATH]; | 902 CHAR[MAX_PATH] OriginalInfName; 903 CHAR OriginalCatalogName[MAX_PATH]; | 903 CHAR[MAX_PATH] OriginalCatalogName; 904 } 904 } 905 alias SP_ORIGINAL_FILE_INFO_A* PSP_ORIGINAL_FILE_INFO_A; 905 alias SP_ORIGINAL_FILE_INFO_A* PSP_ORIGINAL_FILE_INFO_A; 906 906 907 struct SP_ORIGINAL_FILE_INFO_W { 907 struct SP_ORIGINAL_FILE_INFO_W { 908 DWORD cbSize = SP_ORIGINAL_FILE_INFO_W.sizeof; 908 DWORD cbSize = SP_ORIGINAL_FILE_INFO_W.sizeof; 909 WCHAR OriginalInfName[MAX_PATH]; | 909 WCHAR[MAX_PATH] OriginalInfName; 910 WCHAR OriginalCatalogName[MAX_PATH]; | 910 WCHAR[MAX_PATH] OriginalCatalogName; 911 } 911 } 912 alias SP_ORIGINAL_FILE_INFO_W* PSP_ORIGINAL_FILE_INFO_W; 912 alias SP_ORIGINAL_FILE_INFO_W* PSP_ORIGINAL_FILE_INFO_W; 913 913 914 struct FILEPATHS_A { 914 struct FILEPATHS_A { 915 PCSTR Target; 915 PCSTR Target; 916 PCSTR Source; 916 PCSTR Source; 917 UINT Win32Error; 917 UINT Win32Error; ................................................................................................................................................................................ 968 struct FILE_IN_CABINET_INFO_A { 968 struct FILE_IN_CABINET_INFO_A { 969 PCSTR NameInCabinet; 969 PCSTR NameInCabinet; 970 DWORD FileSize; 970 DWORD FileSize; 971 DWORD Win32Error; 971 DWORD Win32Error; 972 WORD DosDate; 972 WORD DosDate; 973 WORD DosTime; 973 WORD DosTime; 974 WORD DosAttribs; 974 WORD DosAttribs; 975 CHAR FullTargetName[MAX_PATH]; | 975 CHAR[MAX_PATH] FullTargetName; 976 } 976 } 977 alias FILE_IN_CABINET_INFO_A* PFILE_IN_CABINET_INFO_A; 977 alias FILE_IN_CABINET_INFO_A* PFILE_IN_CABINET_INFO_A; 978 978 979 struct FILE_IN_CABINET_INFO_W { 979 struct FILE_IN_CABINET_INFO_W { 980 PCWSTR NameInCabinet; 980 PCWSTR NameInCabinet; 981 DWORD FileSize; 981 DWORD FileSize; 982 DWORD Win32Error; 982 DWORD Win32Error; 983 WORD DosDate; 983 WORD DosDate; 984 WORD DosTime; 984 WORD DosTime; 985 WORD DosAttribs; 985 WORD DosAttribs; 986 WCHAR FullTargetName[MAX_PATH]; | 986 WCHAR[MAX_PATH] FullTargetName; 987 } 987 } 988 alias FILE_IN_CABINET_INFO_W* PFILE_IN_CABINET_INFO_W; 988 alias FILE_IN_CABINET_INFO_W* PFILE_IN_CABINET_INFO_W; 989 989 990 struct SP_FILE_COPY_PARAMS_A { 990 struct SP_FILE_COPY_PARAMS_A { 991 DWORD cbSize = SP_FILE_COPY_PARAMS_A.sizeof; 991 DWORD cbSize = SP_FILE_COPY_PARAMS_A.sizeof; 992 HSPFILEQ QueueHandle; 992 HSPFILEQ QueueHandle; 993 PCSTR SourceRootPath; 993 PCSTR SourceRootPath; ................................................................................................................................................................................ 1035 } 1035 } 1036 alias SP_DEVICE_INTERFACE_DATA* PSP_DEVICE_INTERFACE_DATA; 1036 alias SP_DEVICE_INTERFACE_DATA* PSP_DEVICE_INTERFACE_DATA; 1037 deprecated alias SP_DEVICE_INTERFACE_DATA SP_INTERFACE_DEVICE_DATA; 1037 deprecated alias SP_DEVICE_INTERFACE_DATA SP_INTERFACE_DEVICE_DATA; 1038 deprecated alias SP_DEVICE_INTERFACE_DATA* PSP_INTERFACE_DEVICE_DATA; 1038 deprecated alias SP_DEVICE_INTERFACE_DATA* PSP_INTERFACE_DEVICE_DATA; 1039 1039 1040 struct SP_DEVICE_INTERFACE_DETAIL_DATA_A { 1040 struct SP_DEVICE_INTERFACE_DETAIL_DATA_A { 1041 DWORD cbSize = SP_DEVICE_INTERFACE_DETAIL_DATA_A.sizeof; 1041 DWORD cbSize = SP_DEVICE_INTERFACE_DETAIL_DATA_A.sizeof; 1042 CHAR _DevicePath[1]; | 1042 CHAR[1] _DevicePath; 1043 CHAR* DevicePath() { return _DevicePath.ptr; } 1043 CHAR* DevicePath() { return _DevicePath.ptr; } 1044 } 1044 } 1045 alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_DEVICE_INTERFACE_DETAIL_DATA_A; 1045 alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_DEVICE_INTERFACE_DETAIL_DATA_A; 1046 1046 1047 struct SP_DEVICE_INTERFACE_DETAIL_DATA_W { 1047 struct SP_DEVICE_INTERFACE_DETAIL_DATA_W { 1048 DWORD cbSize = SP_DEVICE_INTERFACE_DETAIL_DATA_W.sizeof; 1048 DWORD cbSize = SP_DEVICE_INTERFACE_DETAIL_DATA_W.sizeof; 1049 WCHAR _DevicePath[1]; | 1049 WCHAR[1] _DevicePath; 1050 WCHAR* DevicePath() { return _DevicePath.ptr; } 1050 WCHAR* DevicePath() { return _DevicePath.ptr; } 1051 } 1051 } 1052 alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_DEVICE_INTERFACE_DETAIL_DATA_W; 1052 alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_DEVICE_INTERFACE_DETAIL_DATA_W; 1053 1053 1054 deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DA 1054 deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DA 1055 deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_INTERFACE_DEVICE_DETAIL_ 1055 deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_INTERFACE_DEVICE_DETAIL_ 1056 deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DA 1056 deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DA 1057 deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_INTERFACE_DEVICE_DETAIL_ 1057 deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_INTERFACE_DEVICE_DETAIL_ 1058 1058 1059 struct SP_DEVINFO_LIST_DETAIL_DATA_A { 1059 struct SP_DEVINFO_LIST_DETAIL_DATA_A { 1060 DWORD cbSize = SP_DEVINFO_LIST_DETAIL_DATA_A.sizeof; 1060 DWORD cbSize = SP_DEVINFO_LIST_DETAIL_DATA_A.sizeof; 1061 GUID ClassGuid; 1061 GUID ClassGuid; 1062 HANDLE RemoteMachineHandle; 1062 HANDLE RemoteMachineHandle; 1063 CHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH]; | 1063 CHAR[SP_MAX_MACHINENAME_LENGTH] RemoteMachineName; 1064 } 1064 } 1065 alias SP_DEVINFO_LIST_DETAIL_DATA_A* PSP_DEVINFO_LIST_DETAIL_DATA_A; 1065 alias SP_DEVINFO_LIST_DETAIL_DATA_A* PSP_DEVINFO_LIST_DETAIL_DATA_A; 1066 1066 1067 struct SP_DEVINFO_LIST_DETAIL_DATA_W { 1067 struct SP_DEVINFO_LIST_DETAIL_DATA_W { 1068 DWORD cbSize = SP_DEVINFO_LIST_DETAIL_DATA_W.sizeof; 1068 DWORD cbSize = SP_DEVINFO_LIST_DETAIL_DATA_W.sizeof; 1069 GUID ClassGuid; 1069 GUID ClassGuid; 1070 HANDLE RemoteMachineHandle; 1070 HANDLE RemoteMachineHandle; 1071 WCHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH]; | 1071 WCHAR[SP_MAX_MACHINENAME_LENGTH] RemoteMachineName; 1072 } 1072 } 1073 alias SP_DEVINFO_LIST_DETAIL_DATA_W* PSP_DEVINFO_LIST_DETAIL_DATA_W; 1073 alias SP_DEVINFO_LIST_DETAIL_DATA_W* PSP_DEVINFO_LIST_DETAIL_DATA_W; 1074 1074 1075 extern(Windows) alias UINT function(PVOID,UINT,UINT_PTR,UINT_PTR) PSP_FILE_CALLB | 1075 extern(Windows) alias UINT function(PVOID, UINT, UINT_PTR, UINT_PTR) PSP_FILE_CA 1076 extern(Windows) alias UINT function(PVOID,UINT,UINT_PTR,UINT_PTR) PSP_FILE_CALLB | 1076 extern(Windows) alias UINT function(PVOID, UINT, UINT_PTR, UINT_PTR) PSP_FILE_CA 1077 1077 1078 struct SP_DEVINSTALL_PARAMS_A { 1078 struct SP_DEVINSTALL_PARAMS_A { 1079 DWORD cbSize = SP_DEVINSTALL_PARAMS_A.sizeof; 1079 DWORD cbSize = SP_DEVINSTALL_PARAMS_A.sizeof; 1080 DWORD Flags; 1080 DWORD Flags; 1081 DWORD FlagsEx; 1081 DWORD FlagsEx; 1082 HWND hwndParent; 1082 HWND hwndParent; 1083 PSP_FILE_CALLBACK_A InstallMsgHandler; 1083 PSP_FILE_CALLBACK_A InstallMsgHandler; 1084 PVOID InstallMsgHandlerContext; 1084 PVOID InstallMsgHandlerContext; 1085 HSPFILEQ FileQueue; 1085 HSPFILEQ FileQueue; 1086 ULONG_PTR ClassInstallReserved; 1086 ULONG_PTR ClassInstallReserved; 1087 DWORD Reserved; 1087 DWORD Reserved; 1088 CHAR DriverPath[MAX_PATH]; | 1088 CHAR[MAX_PATH] DriverPath; 1089 } 1089 } 1090 alias SP_DEVINSTALL_PARAMS_A* PSP_DEVINSTALL_PARAMS_A; 1090 alias SP_DEVINSTALL_PARAMS_A* PSP_DEVINSTALL_PARAMS_A; 1091 1091 1092 struct SP_DEVINSTALL_PARAMS_W { 1092 struct SP_DEVINSTALL_PARAMS_W { 1093 DWORD cbSize = SP_DEVINSTALL_PARAMS_W.sizeof; 1093 DWORD cbSize = SP_DEVINSTALL_PARAMS_W.sizeof; 1094 DWORD Flags; 1094 DWORD Flags; 1095 DWORD FlagsEx; 1095 DWORD FlagsEx; 1096 HWND hwndParent; 1096 HWND hwndParent; 1097 PSP_FILE_CALLBACK_W InstallMsgHandler; 1097 PSP_FILE_CALLBACK_W InstallMsgHandler; 1098 PVOID InstallMsgHandlerContext; 1098 PVOID InstallMsgHandlerContext; 1099 HSPFILEQ FileQueue; 1099 HSPFILEQ FileQueue; 1100 ULONG_PTR ClassInstallReserved; 1100 ULONG_PTR ClassInstallReserved; 1101 DWORD Reserved; 1101 DWORD Reserved; 1102 WCHAR DriverPath[MAX_PATH]; | 1102 WCHAR[MAX_PATH] DriverPath; 1103 } 1103 } 1104 alias SP_DEVINSTALL_PARAMS_W* PSP_DEVINSTALL_PARAMS_W; 1104 alias SP_DEVINSTALL_PARAMS_W* PSP_DEVINSTALL_PARAMS_W; 1105 1105 1106 struct SP_CLASSINSTALL_HEADER { 1106 struct SP_CLASSINSTALL_HEADER { 1107 DWORD cbSize = SP_CLASSINSTALL_HEADER.sizeof; 1107 DWORD cbSize = SP_CLASSINSTALL_HEADER.sizeof; 1108 DI_FUNCTION InstallFunction; 1108 DI_FUNCTION InstallFunction; 1109 } 1109 } ................................................................................................................................................................................ 1141 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1141 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1142 DWORD Scope; 1142 DWORD Scope; 1143 DWORD HwProfile; 1143 DWORD HwProfile; 1144 } 1144 } 1145 alias SP_UNREMOVEDEVICE_PARAMS* PSP_UNREMOVEDEVICE_PARAMS; 1145 alias SP_UNREMOVEDEVICE_PARAMS* PSP_UNREMOVEDEVICE_PARAMS; 1146 1146 1147 struct SP_SELECTDEVICE_PARAMS_A { 1147 struct SP_SELECTDEVICE_PARAMS_A { 1148 SP_CLASSINSTALL_HEADER ClassInstallHeader; | 1148 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1149 CHAR Title[MAX_TITLE_LEN]; | 1149 CHAR[MAX_TITLE_LEN] Title; 1150 CHAR Instructions[MAX_INSTRUCTION_LEN]; | 1150 CHAR[MAX_INSTRUCTION_LEN] Instructions; 1151 CHAR ListLabel[MAX_LABEL_LEN]; | 1151 CHAR[MAX_LABEL_LEN] ListLabel; 1152 CHAR SubTitle[MAX_SUBTITLE_LEN]; | 1152 CHAR[MAX_SUBTITLE_LEN] SubTitle; 1153 BYTE Reserved[2]; | 1153 BYTE[2] Reserved; 1154 } 1154 } 1155 alias SP_SELECTDEVICE_PARAMS_A* PSP_SELECTDEVICE_PARAMS_A; 1155 alias SP_SELECTDEVICE_PARAMS_A* PSP_SELECTDEVICE_PARAMS_A; 1156 1156 1157 struct SP_SELECTDEVICE_PARAMS_W { 1157 struct SP_SELECTDEVICE_PARAMS_W { 1158 SP_CLASSINSTALL_HEADER ClassInstallHeader; | 1158 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1159 WCHAR Title[MAX_TITLE_LEN]; | 1159 WCHAR[MAX_TITLE_LEN] Title; 1160 WCHAR Instructions[MAX_INSTRUCTION_LEN]; | 1160 WCHAR[MAX_INSTRUCTION_LEN] Instructions; 1161 WCHAR ListLabel[MAX_LABEL_LEN]; | 1161 WCHAR[MAX_LABEL_LEN] ListLabel; 1162 WCHAR SubTitle[MAX_SUBTITLE_LEN]; | 1162 WCHAR[MAX_SUBTITLE_LEN] SubTitle; 1163 } 1163 } 1164 alias SP_SELECTDEVICE_PARAMS_W* PSP_SELECTDEVICE_PARAMS_W; 1164 alias SP_SELECTDEVICE_PARAMS_W* PSP_SELECTDEVICE_PARAMS_W; 1165 1165 1166 extern(Windows) alias BOOL function(PVOID,DWORD) PDETECT_PROGRESS_NOTIFY; | 1166 extern(Windows) alias BOOL function(PVOID, DWORD) PDETECT_PROGRESS_NOTIFY; 1167 1167 1168 struct SP_DETECTDEVICE_PARAMS { 1168 struct SP_DETECTDEVICE_PARAMS { 1169 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1169 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1170 PDETECT_PROGRESS_NOTIFY DetectProgressNotify; 1170 PDETECT_PROGRESS_NOTIFY DetectProgressNotify; 1171 PVOID ProgressNotifyParam; 1171 PVOID ProgressNotifyParam; 1172 } 1172 } 1173 alias SP_DETECTDEVICE_PARAMS* PSP_DETECTDEVICE_PARAMS; 1173 alias SP_DETECTDEVICE_PARAMS* PSP_DETECTDEVICE_PARAMS; 1174 1174 1175 struct SP_INSTALLWIZARD_DATA { 1175 struct SP_INSTALLWIZARD_DATA { 1176 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1176 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1177 DWORD Flags; 1177 DWORD Flags; 1178 HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES]; | 1178 HPROPSHEETPAGE[MAX_INSTALLWIZARD_DYNAPAGES] DynamicPages; 1179 DWORD NumDynamicPages; 1179 DWORD NumDynamicPages; 1180 DWORD DynamicPageFlags; 1180 DWORD DynamicPageFlags; 1181 DWORD PrivateFlags; 1181 DWORD PrivateFlags; 1182 LPARAM PrivateData; 1182 LPARAM PrivateData; 1183 HWND hwndWizardDlg; 1183 HWND hwndWizardDlg; 1184 } 1184 } 1185 alias SP_INSTALLWIZARD_DATA* PSP_INSTALLWIZARD_DATA; 1185 alias SP_INSTALLWIZARD_DATA* PSP_INSTALLWIZARD_DATA; 1186 1186 1187 struct SP_NEWDEVICEWIZARD_DATA { 1187 struct SP_NEWDEVICEWIZARD_DATA { 1188 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1188 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1189 DWORD Flags; 1189 DWORD Flags; 1190 HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES]; | 1190 HPROPSHEETPAGE[MAX_INSTALLWIZARD_DYNAPAGES] DynamicPages; 1191 DWORD NumDynamicPages; 1191 DWORD NumDynamicPages; 1192 HWND hwndWizardDlg; 1192 HWND hwndWizardDlg; 1193 } 1193 } 1194 alias SP_NEWDEVICEWIZARD_DATA* PSP_NEWDEVICEWIZARD_DATA; 1194 alias SP_NEWDEVICEWIZARD_DATA* PSP_NEWDEVICEWIZARD_DATA; 1195 alias SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA; 1195 alias SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA; 1196 alias SP_NEWDEVICEWIZARD_DATA* PSP_ADDPROPERTYPAGE_DATA; 1196 alias SP_NEWDEVICEWIZARD_DATA* PSP_ADDPROPERTYPAGE_DATA; 1197 1197 1198 struct SP_TROUBLESHOOTER_PARAMS_A { 1198 struct SP_TROUBLESHOOTER_PARAMS_A { 1199 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1199 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1200 CHAR ChmFile[MAX_PATH]; | 1200 CHAR[MAX_PATH] ChmFile; 1201 CHAR HtmlTroubleShooter[MAX_PATH]; | 1201 CHAR[MAX_PATH] HtmlTroubleShooter; 1202 } 1202 } 1203 alias SP_TROUBLESHOOTER_PARAMS_A* PSP_TROUBLESHOOTER_PARAMS_A; 1203 alias SP_TROUBLESHOOTER_PARAMS_A* PSP_TROUBLESHOOTER_PARAMS_A; 1204 1204 1205 struct SP_TROUBLESHOOTER_PARAMS_W { 1205 struct SP_TROUBLESHOOTER_PARAMS_W { 1206 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1206 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1207 WCHAR ChmFile[MAX_PATH]; | 1207 WCHAR[MAX_PATH] ChmFile; 1208 WCHAR HtmlTroubleShooter[MAX_PATH]; | 1208 WCHAR[MAX_PATH] HtmlTroubleShooter; 1209 } 1209 } 1210 alias SP_TROUBLESHOOTER_PARAMS_W* PSP_TROUBLESHOOTER_PARAMS_W; 1210 alias SP_TROUBLESHOOTER_PARAMS_W* PSP_TROUBLESHOOTER_PARAMS_W; 1211 1211 1212 struct SP_POWERMESSAGEWAKE_PARAMS_A { 1212 struct SP_POWERMESSAGEWAKE_PARAMS_A { 1213 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1213 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1214 CHAR PowerMessageWake[LINE_LEN*2]; | 1214 CHAR[LINE_LEN*2] PowerMessageWake; 1215 } 1215 } 1216 alias SP_POWERMESSAGEWAKE_PARAMS_A* PSP_POWERMESSAGEWAKE_PARAMS_A; 1216 alias SP_POWERMESSAGEWAKE_PARAMS_A* PSP_POWERMESSAGEWAKE_PARAMS_A; 1217 1217 1218 struct SP_POWERMESSAGEWAKE_PARAMS_W { 1218 struct SP_POWERMESSAGEWAKE_PARAMS_W { 1219 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1219 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1220 WCHAR PowerMessageWake[LINE_LEN*2]; | 1220 WCHAR[LINE_LEN*2] PowerMessageWake; 1221 } 1221 } 1222 alias SP_POWERMESSAGEWAKE_PARAMS_W* PSP_POWERMESSAGEWAKE_PARAMS_W; 1222 alias SP_POWERMESSAGEWAKE_PARAMS_W* PSP_POWERMESSAGEWAKE_PARAMS_W; 1223 1223 1224 struct SP_DRVINFO_DATA_V2_A { 1224 struct SP_DRVINFO_DATA_V2_A { 1225 DWORD cbSize = SP_DRVINFO_DATA_V2_A.sizeof; | 1225 DWORD cbSize = SP_DRVINFO_DATA_V2_A.sizeof; 1226 DWORD DriverType; | 1226 DWORD DriverType; 1227 ULONG_PTR Reserved; | 1227 ULONG_PTR Reserved; 1228 CHAR Description[LINE_LEN]; | 1228 CHAR[LINE_LEN] Description; 1229 CHAR MfgName[LINE_LEN]; | 1229 CHAR[LINE_LEN] MfgName; 1230 CHAR ProviderName[LINE_LEN]; | 1230 CHAR[LINE_LEN] ProviderName; 1231 FILETIME DriverDate; | 1231 FILETIME DriverDate; 1232 DWORDLONG DriverVersion; | 1232 DWORDLONG DriverVersion; 1233 } 1233 } 1234 alias SP_DRVINFO_DATA_V2_A* PSP_DRVINFO_DATA_V2_A; 1234 alias SP_DRVINFO_DATA_V2_A* PSP_DRVINFO_DATA_V2_A; 1235 1235 1236 struct SP_DRVINFO_DATA_V2_W { 1236 struct SP_DRVINFO_DATA_V2_W { 1237 DWORD cbSize = SP_DRVINFO_DATA_V2_A.sizeof; | 1237 DWORD cbSize = SP_DRVINFO_DATA_V2_A.sizeof; 1238 DWORD DriverType; | 1238 DWORD DriverType; 1239 ULONG_PTR Reserved; | 1239 ULONG_PTR Reserved; 1240 WCHAR Description[LINE_LEN]; | 1240 WCHAR[LINE_LEN] Description; 1241 WCHAR MfgName[LINE_LEN]; | 1241 WCHAR[LINE_LEN] MfgName; 1242 WCHAR ProviderName[LINE_LEN]; | 1242 WCHAR[LINE_LEN] ProviderName; 1243 FILETIME DriverDate; | 1243 FILETIME DriverDate; 1244 DWORDLONG DriverVersion; | 1244 DWORDLONG DriverVersion; 1245 } 1245 } 1246 alias SP_DRVINFO_DATA_V2_W* PSP_DRVINFO_DATA_V2_W; 1246 alias SP_DRVINFO_DATA_V2_W* PSP_DRVINFO_DATA_V2_W; 1247 1247 1248 struct SP_DRVINFO_DATA_V1_A { 1248 struct SP_DRVINFO_DATA_V1_A { 1249 DWORD cbSize = SP_DRVINFO_DATA_V1_A.sizeof; | 1249 DWORD cbSize = SP_DRVINFO_DATA_V1_A.sizeof; 1250 DWORD DriverType; | 1250 DWORD DriverType; 1251 ULONG_PTR Reserved; | 1251 ULONG_PTR Reserved; 1252 CHAR Description[LINE_LEN]; | 1252 CHAR[LINE_LEN] Description; 1253 CHAR MfgName[LINE_LEN]; | 1253 CHAR[LINE_LEN] MfgName; 1254 CHAR ProviderName[LINE_LEN]; | 1254 CHAR[LINE_LEN] ProviderName; 1255 } 1255 } 1256 alias SP_DRVINFO_DATA_V1_A* PSP_DRVINFO_DATA_V1_A; 1256 alias SP_DRVINFO_DATA_V1_A* PSP_DRVINFO_DATA_V1_A; 1257 1257 1258 struct SP_DRVINFO_DATA_V1_W { 1258 struct SP_DRVINFO_DATA_V1_W { 1259 DWORD cbSize = SP_DRVINFO_DATA_V1_W.sizeof; | 1259 DWORD cbSize = SP_DRVINFO_DATA_V1_W.sizeof; 1260 DWORD DriverType; | 1260 DWORD DriverType; 1261 ULONG_PTR Reserved; | 1261 ULONG_PTR Reserved; 1262 WCHAR Description[LINE_LEN]; | 1262 WCHAR[LINE_LEN] Description; 1263 WCHAR MfgName[LINE_LEN]; | 1263 WCHAR[LINE_LEN] MfgName; 1264 WCHAR ProviderName[LINE_LEN]; | 1264 WCHAR[LINE_LEN] ProviderName; 1265 } 1265 } 1266 alias SP_DRVINFO_DATA_V1_W* PSP_DRVINFO_DATA_V1_W; 1266 alias SP_DRVINFO_DATA_V1_W* PSP_DRVINFO_DATA_V1_W; 1267 1267 1268 version (Unicode) { 1268 version (Unicode) { 1269 alias SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_V1; 1269 alias SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_V1; 1270 alias SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_V2; 1270 alias SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_V2; 1271 } else { 1271 } else { ................................................................................................................................................................................ 1287 alias SP_DRVINFO_DATA_V2_A* PSP_DRVINFO_DATA_A; 1287 alias SP_DRVINFO_DATA_V2_A* PSP_DRVINFO_DATA_A; 1288 alias SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W; 1288 alias SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W; 1289 alias SP_DRVINFO_DATA_V2_W* PSP_DRVINFO_DATA_W; 1289 alias SP_DRVINFO_DATA_V2_W* PSP_DRVINFO_DATA_W; 1290 alias SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA; 1290 alias SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA; 1291 alias SP_DRVINFO_DATA_V2* PSP_DRVINFO_DATA; 1291 alias SP_DRVINFO_DATA_V2* PSP_DRVINFO_DATA; 1292 } 1292 } 1293 1293 1294 extern(Windows) alias DWORD function(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINFO_DATA, | 1294 extern(Windows) alias DWORD function(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINFO_DAT 1295 1295 1296 struct SP_DRVINFO_DETAIL_DATA_A { 1296 struct SP_DRVINFO_DETAIL_DATA_A { 1297 DWORD cbSize = SP_DRVINFO_DETAIL_DATA_A.sizeof; | 1297 DWORD cbSize = SP_DRVINFO_DETAIL_DATA_A.sizeof; 1298 FILETIME InfDate; | 1298 FILETIME InfDate; 1299 DWORD CompatIDsOffset; | 1299 DWORD CompatIDsOffset; 1300 DWORD CompatIDsLength; | 1300 DWORD CompatIDsLength; 1301 ULONG_PTR Reserved; | 1301 ULONG_PTR Reserved; 1302 CHAR SectionName[LINE_LEN]; | 1302 CHAR[LINE_LEN] SectionName; 1303 CHAR InfFileName[MAX_PATH]; | 1303 CHAR[MAX_PATH] InfFileName; 1304 CHAR DrvDescription[LINE_LEN]; | 1304 CHAR[LINE_LEN] DrvDescription; 1305 CHAR _HardwareID[1]; | 1305 CHAR[1] _HardwareID; 1306 CHAR* HardwareID() { return _HardwareID.ptr; } | 1306 CHAR* HardwareID() { return _HardwareID.ptr; } 1307 } 1307 } 1308 alias SP_DRVINFO_DETAIL_DATA_A* PSP_DRVINFO_DETAIL_DATA_A; 1308 alias SP_DRVINFO_DETAIL_DATA_A* PSP_DRVINFO_DETAIL_DATA_A; 1309 1309 1310 struct SP_DRVINFO_DETAIL_DATA_W { 1310 struct SP_DRVINFO_DETAIL_DATA_W { 1311 DWORD cbSize = SP_DRVINFO_DETAIL_DATA_W.sizeof; | 1311 DWORD cbSize = SP_DRVINFO_DETAIL_DATA_W.sizeof; 1312 FILETIME InfDate; | 1312 FILETIME InfDate; 1313 DWORD CompatIDsOffset; | 1313 DWORD CompatIDsOffset; 1314 DWORD CompatIDsLength; | 1314 DWORD CompatIDsLength; 1315 ULONG_PTR Reserved; | 1315 ULONG_PTR Reserved; 1316 WCHAR SectionName[LINE_LEN]; | 1316 WCHAR[LINE_LEN] SectionName; 1317 WCHAR InfFileName[MAX_PATH]; | 1317 WCHAR[MAX_PATH] InfFileName; 1318 WCHAR DrvDescription[LINE_LEN]; | 1318 WCHAR[LINE_LEN] DrvDescription; 1319 WCHAR _HardwareID[1]; | 1319 WCHAR[1] _HardwareID; 1320 WCHAR* HardwareID() { return _HardwareID.ptr; } | 1320 WCHAR* HardwareID() { return _HardwareID.ptr; } 1321 } 1321 } 1322 alias SP_DRVINFO_DETAIL_DATA_W* PSP_DRVINFO_DETAIL_DATA_W; 1322 alias SP_DRVINFO_DETAIL_DATA_W* PSP_DRVINFO_DETAIL_DATA_W; 1323 1323 1324 struct SP_DRVINSTALL_PARAMS { 1324 struct SP_DRVINSTALL_PARAMS { 1325 DWORD cbSize = SP_DRVINSTALL_PARAMS.sizeof; 1325 DWORD cbSize = SP_DRVINSTALL_PARAMS.sizeof; 1326 DWORD Rank; 1326 DWORD Rank; 1327 DWORD Flags; 1327 DWORD Flags; ................................................................................................................................................................................ 1350 HDEVINFO DeviceInfoSet; 1350 HDEVINFO DeviceInfoSet; 1351 PSP_DEVINFO_DATA DeviceInfoData; 1351 PSP_DEVINFO_DATA DeviceInfoData; 1352 } 1352 } 1353 alias SP_PROPSHEETPAGE_REQUEST* PSP_PROPSHEETPAGE_REQUEST; 1353 alias SP_PROPSHEETPAGE_REQUEST* PSP_PROPSHEETPAGE_REQUEST; 1354 1354 1355 struct SP_BACKUP_QUEUE_PARAMS_A { 1355 struct SP_BACKUP_QUEUE_PARAMS_A { 1356 DWORD cbSize = SP_BACKUP_QUEUE_PARAMS_A.sizeof; 1356 DWORD cbSize = SP_BACKUP_QUEUE_PARAMS_A.sizeof; 1357 CHAR FullInfPath[MAX_PATH]; | 1357 CHAR[MAX_PATH] FullInfPath; 1358 INT FilenameOffset; | 1358 INT FilenameOffset; 1359 } 1359 } 1360 alias SP_BACKUP_QUEUE_PARAMS_A* PSP_BACKUP_QUEUE_PARAMS_A; 1360 alias SP_BACKUP_QUEUE_PARAMS_A* PSP_BACKUP_QUEUE_PARAMS_A; 1361 1361 1362 struct SP_BACKUP_QUEUE_PARAMS_W { 1362 struct SP_BACKUP_QUEUE_PARAMS_W { 1363 DWORD cbSize = SP_BACKUP_QUEUE_PARAMS_W.sizeof; 1363 DWORD cbSize = SP_BACKUP_QUEUE_PARAMS_W.sizeof; 1364 WCHAR FullInfPath[MAX_PATH]; | 1364 WCHAR[MAX_PATH] FullInfPath; 1365 INT FilenameOffset; | 1365 INT FilenameOffset; 1366 } 1366 } 1367 alias SP_BACKUP_QUEUE_PARAMS_W* PSP_BACKUP_QUEUE_PARAMS_W; 1367 alias SP_BACKUP_QUEUE_PARAMS_W* PSP_BACKUP_QUEUE_PARAMS_W; 1368 1368 1369 version (Unicode) { 1369 version (Unicode) { 1370 alias SP_ORIGINAL_FILE_INFO_W SP_ORIGINAL_FILE_INFO; 1370 alias SP_ORIGINAL_FILE_INFO_W SP_ORIGINAL_FILE_INFO; 1371 alias SP_ORIGINAL_FILE_INFO_W* PSP_ORIGINAL_FILE_INFO; 1371 alias SP_ORIGINAL_FILE_INFO_W* PSP_ORIGINAL_FILE_INFO; 1372 alias FILEPATHS_W FILEPATHS; 1372 alias FILEPATHS_W FILEPATHS; ................................................................................................................................................................................ 1431 alias SP_DRVINFO_DETAIL_DATA_A SP_DRVINFO_DETAIL_DATA; 1431 alias SP_DRVINFO_DETAIL_DATA_A SP_DRVINFO_DETAIL_DATA; 1432 alias SP_DRVINFO_DETAIL_DATA_A* PSP_DRVINFO_DETAIL_DATA; 1432 alias SP_DRVINFO_DETAIL_DATA_A* PSP_DRVINFO_DETAIL_DATA; 1433 alias SP_BACKUP_QUEUE_PARAMS_A SP_BACKUP_QUEUE_PARAMS; 1433 alias SP_BACKUP_QUEUE_PARAMS_A SP_BACKUP_QUEUE_PARAMS; 1434 alias SP_BACKUP_QUEUE_PARAMS_A* PSP_BACKUP_QUEUE_PARAMS; 1434 alias SP_BACKUP_QUEUE_PARAMS_A* PSP_BACKUP_QUEUE_PARAMS; 1435 } 1435 } 1436 1436 1437 extern (Windows) { 1437 extern (Windows) { 1438 BOOL SetupAddInstallSectionToDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,PVOI | 1438 BOOL SetupAddInstallSectionToDiskSpaceListA(HDSKSPC, HINF, HINF, PCSTR, 1439 BOOL SetupAddInstallSectionToDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,PVO | 1439 BOOL SetupAddInstallSectionToDiskSpaceListW(HDSKSPC, HINF, HINF, PCWSTR, 1440 BOOL SetupAddSectionToDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,UINT,PVOID, | 1440 BOOL SetupAddSectionToDiskSpaceListA(HDSKSPC, HINF, HINF, PCSTR, UINT, P 1441 BOOL SetupAddSectionToDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,UINT,PVOID | 1441 BOOL SetupAddSectionToDiskSpaceListW(HDSKSPC, HINF, HINF, PCWSTR, UINT, 1442 BOOL SetupAddToDiskSpaceListA(HDSKSPC,PCSTR,LONGLONG,UINT,PVOID,UINT); | 1442 BOOL SetupAddToDiskSpaceListA(HDSKSPC, PCSTR, LONGLONG, UINT, PVOID, UIN 1443 BOOL SetupAddToDiskSpaceListW(HDSKSPC,PCWSTR,LONGLONG,UINT,PVOID,UINT); | 1443 BOOL SetupAddToDiskSpaceListW(HDSKSPC, PCWSTR, LONGLONG, UINT, PVOID, UI 1444 BOOL SetupAddToSourceListA(DWORD,PCSTR); | 1444 BOOL SetupAddToSourceListA(DWORD, PCSTR); 1445 BOOL SetupAddToSourceListW(DWORD,PCWSTR); | 1445 BOOL SetupAddToSourceListW(DWORD, PCWSTR); 1446 BOOL SetupQuerySourceListA(DWORD,PCSTR**List,PUINT); | 1446 BOOL SetupQuerySourceListA(DWORD, PCSTR**List, PUINT); 1447 BOOL SetupQuerySourceListW(DWORD,PCWSTR**List,PUINT); | 1447 BOOL SetupQuerySourceListW(DWORD, PCWSTR**List, PUINT); 1448 BOOL SetupFreeSourceListA(PCSTR**List,UINT); | 1448 BOOL SetupFreeSourceListA(PCSTR**List, UINT); 1449 BOOL SetupFreeSourceListW(PCWSTR**List,UINT); | 1449 BOOL SetupFreeSourceListW(PCWSTR**List, UINT); 1450 BOOL SetupAdjustDiskSpaceListA(HDSKSPC,LPCSTR,LONGLONG,PVOID,UINT); | 1450 BOOL SetupAdjustDiskSpaceListA(HDSKSPC, LPCSTR, LONGLONG, PVOID, UINT); 1451 BOOL SetupAdjustDiskSpaceListW(HDSKSPC,LPCWSTR,LONGLONG,PVOID,UINT); | 1451 BOOL SetupAdjustDiskSpaceListW(HDSKSPC, LPCWSTR, LONGLONG, PVOID, UINT); 1452 UINT SetupBackupErrorA(HWND,PCSTR,PCSTR,PCSTR,UINT,DWORD); | 1452 UINT SetupBackupErrorA(HWND, PCSTR, PCSTR, PCSTR, UINT, DWORD); 1453 UINT SetupBackupErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD); | 1453 UINT SetupBackupErrorW(HWND, PCWSTR, PCWSTR, PCWSTR, UINT, DWORD); 1454 BOOL SetupCancelTemporary(); 1454 BOOL SetupCancelTemporary(); 1455 BOOL SetupCloseFileQueue(HSPFILEQ); 1455 BOOL SetupCloseFileQueue(HSPFILEQ); 1456 VOID SetupCloseInfFile(HINF); 1456 VOID SetupCloseInfFile(HINF); 1457 VOID SetupCloseLog(); 1457 VOID SetupCloseLog(); 1458 BOOL SetupCommitFileQueueA(HWND,HSPFILEQ,PSP_FILE_CALLBACK_A,PVOID); | 1458 BOOL SetupCommitFileQueueA(HWND, HSPFILEQ, PSP_FILE_CALLBACK_A, PVOID); 1459 BOOL SetupCommitFileQueueW(HWND,HSPFILEQ,PSP_FILE_CALLBACK_W,PVOID); | 1459 BOOL SetupCommitFileQueueW(HWND, HSPFILEQ, PSP_FILE_CALLBACK_W, PVOID); 1460 UINT SetupCopyErrorA(HWND,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,UINT,DWORD,PSTR, | 1460 UINT SetupCopyErrorA(HWND, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, UINT, DWOR 1461 UINT SetupCopyErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD, | 1461 UINT SetupCopyErrorW(HWND, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, UINT, 1462 BOOL SetupCopyOEMInfA(PCSTR,PCSTR,DWORD,DWORD,PSTR,DWORD,PDWORD,PSTR*); | 1462 BOOL SetupCopyOEMInfA(PCSTR, PCSTR, DWORD, DWORD, PSTR, DWORD, PDWORD, P 1463 BOOL SetupCopyOEMInfW(PCWSTR,PCWSTR,DWORD,DWORD,PWSTR,DWORD,PDWORD,PWSTR | 1463 BOOL SetupCopyOEMInfW(PCWSTR, PCWSTR, DWORD, DWORD, PWSTR, DWORD, PDWORD 1464 HDSKSPC SetupCreateDiskSpaceListA(PVOID,DWORD,UINT); | 1464 HDSKSPC SetupCreateDiskSpaceListA(PVOID, DWORD, UINT); 1465 HDSKSPC SetupCreateDiskSpaceListW(PVOID,DWORD,UINT); | 1465 HDSKSPC SetupCreateDiskSpaceListW(PVOID, DWORD, UINT); 1466 DWORD SetupDecompressOrCopyFileA(PCSTR,PCSTR,PUINT); | 1466 DWORD SetupDecompressOrCopyFileA(PCSTR, PCSTR, PUINT); 1467 DWORD SetupDecompressOrCopyFileW(PCWSTR,PCWSTR,PUINT); | 1467 DWORD SetupDecompressOrCopyFileW(PCWSTR, PCWSTR, PUINT); 1468 UINT SetupDefaultQueueCallbackA(PVOID,UINT,UINT_PTR,UINT_PTR); | 1468 UINT SetupDefaultQueueCallbackA(PVOID, UINT, UINT_PTR, UINT_PTR); 1469 UINT SetupDefaultQueueCallbackW(PVOID,UINT,UINT_PTR,UINT_PTR); | 1469 UINT SetupDefaultQueueCallbackW(PVOID, UINT, UINT_PTR, UINT_PTR); 1470 UINT SetupDeleteErrorA(HWND,PCSTR,PCSTR,UINT,DWORD); | 1470 UINT SetupDeleteErrorA(HWND, PCSTR, PCSTR, UINT, DWORD); 1471 UINT SetupDeleteErrorW(HWND,PCWSTR,PCWSTR,UINT,DWORD); | 1471 UINT SetupDeleteErrorW(HWND, PCWSTR, PCWSTR, UINT, DWORD); 1472 BOOL SetupDestroyDiskSpaceList(HDSKSPC); 1472 BOOL SetupDestroyDiskSpaceList(HDSKSPC); 1473 BOOL SetupDiAskForOEMDisk(HDEVINFO,PSP_DEVINFO_DATA); | 1473 BOOL SetupDiAskForOEMDisk(HDEVINFO, PSP_DEVINFO_DATA); 1474 BOOL SetupDiBuildClassInfoList(DWORD,LPGUID,DWORD,PDWORD); | 1474 BOOL SetupDiBuildClassInfoList(DWORD, LPGUID, DWORD, PDWORD); 1475 BOOL SetupDiBuildClassInfoListExA(DWORD,LPGUID,DWORD,PDWORD,PCSTR,PVOID) | 1475 BOOL SetupDiBuildClassInfoListExA(DWORD, LPGUID, DWORD, PDWORD, PCSTR, P 1476 BOOL SetupDiBuildClassInfoListExW(DWORD,LPGUID,DWORD,PDWORD,PCWSTR,PVOID | 1476 BOOL SetupDiBuildClassInfoListExW(DWORD, LPGUID, DWORD, PDWORD, PCWSTR, 1477 BOOL SetupDiBuildDriverInfoList(HDEVINFO,PSP_DEVINFO_DATA,DWORD); | 1477 BOOL SetupDiBuildDriverInfoList(HDEVINFO, PSP_DEVINFO_DATA, DWORD); 1478 BOOL SetupDiCallClassInstaller(DI_FUNCTION,HDEVINFO,PSP_DEVINFO_DATA); | 1478 BOOL SetupDiCallClassInstaller(DI_FUNCTION, HDEVINFO, PSP_DEVINFO_DATA); 1479 BOOL SetupDiCancelDriverInfoSearch(HDEVINFO); 1479 BOOL SetupDiCancelDriverInfoSearch(HDEVINFO); 1480 BOOL SetupDiChangeState(HDEVINFO,PSP_DEVINFO_DATA); | 1480 BOOL SetupDiChangeState(HDEVINFO, PSP_DEVINFO_DATA); 1481 BOOL SetupDiClassGuidsFromNameA(PCSTR,LPGUID,DWORD,PDWORD); | 1481 BOOL SetupDiClassGuidsFromNameA(PCSTR, LPGUID, DWORD, PDWORD); 1482 BOOL SetupDiClassGuidsFromNameW(PCWSTR,LPGUID,DWORD,PDWORD); | 1482 BOOL SetupDiClassGuidsFromNameW(PCWSTR, LPGUID, DWORD, PDWORD); 1483 BOOL SetupDiClassGuidsFromNameExA(PCSTR,LPGUID,DWORD,PDWORD,PCSTR,PVOID) | 1483 BOOL SetupDiClassGuidsFromNameExA(PCSTR, LPGUID, DWORD, PDWORD, PCSTR, P 1484 BOOL SetupDiClassGuidsFromNameExW(PCWSTR,LPGUID,DWORD,PDWORD,PCWSTR,PVOI | 1484 BOOL SetupDiClassGuidsFromNameExW(PCWSTR, LPGUID, DWORD, PDWORD, PCWSTR, 1485 BOOL SetupDiClassNameFromGuidA(CPtr!(GUID),PSTR,DWORD,PDWORD); | 1485 BOOL SetupDiClassNameFromGuidA(const(GUID)*, PSTR, DWORD, PDWORD); 1486 BOOL SetupDiClassNameFromGuidW(CPtr!(GUID),PWSTR,DWORD,PDWORD); | 1486 BOOL SetupDiClassNameFromGuidW(const(GUID)*, PWSTR, DWORD, PDWORD); 1487 BOOL SetupDiClassNameFromGuidExA(CPtr!(GUID),PSTR,DWORD,PDWORD,PCSTR,PVO | 1487 BOOL SetupDiClassNameFromGuidExA(const(GUID)*, PSTR, DWORD, PDWORD, PCST 1488 BOOL SetupDiClassNameFromGuidExW(CPtr!(GUID),PWSTR,DWORD,PDWORD,PCWSTR,P | 1488 BOOL SetupDiClassNameFromGuidExW(const(GUID)*, PWSTR, DWORD, PDWORD, PCW 1489 BOOL SetupDiCreateDeviceInfoA(HDEVINFO,PCSTR,CPtr!(GUID),PCSTR,HWND,DWOR | 1489 BOOL SetupDiCreateDeviceInfoA(HDEVINFO, PCSTR, const(GUID)*, PCSTR, HWND 1490 BOOL SetupDiCreateDeviceInfoW(HDEVINFO,PCWSTR,CPtr!(GUID),PCWSTR,HWND,DW | 1490 BOOL SetupDiCreateDeviceInfoW(HDEVINFO, PCWSTR, const(GUID)*, PCWSTR, HW 1491 HDEVINFO SetupDiCreateDeviceInfoList(CPtr!(GUID),HWND); | 1491 HDEVINFO SetupDiCreateDeviceInfoList(const(GUID)*, HWND); 1492 HDEVINFO SetupDiCreateDeviceInfoListExA(CPtr!(GUID),HWND,PCSTR,PVOID); | 1492 HDEVINFO SetupDiCreateDeviceInfoListExA(const(GUID)*, HWND, PCSTR, PVOID 1493 HDEVINFO SetupDiCreateDeviceInfoListExW(CPtr!(GUID),HWND,PCWSTR,PVOID); | 1493 HDEVINFO SetupDiCreateDeviceInfoListExW(const(GUID)*, HWND, PCWSTR, PVOI 1494 BOOL SetupDiCreateDeviceInterfaceA(HDEVINFO,PSP_DEVINFO_DATA,CPtr!(GUID) | 1494 BOOL SetupDiCreateDeviceInterfaceA(HDEVINFO, PSP_DEVINFO_DATA, const(GUI 1495 BOOL SetupDiCreateDeviceInterfaceW(HDEVINFO,PSP_DEVINFO_DATA,CPtr!(GUID) | 1495 BOOL SetupDiCreateDeviceInterfaceW(HDEVINFO, PSP_DEVINFO_DATA, const(GUI 1496 HKEY SetupDiCreateDeviceInterfaceRegKeyA(HDEVINFO,PSP_DEVICE_INTERFACE_D | 1496 HKEY SetupDiCreateDeviceInterfaceRegKeyA(HDEVINFO, PSP_DEVICE_INTERFACE_ 1497 HKEY SetupDiCreateDeviceInterfaceRegKeyW(HDEVINFO,PSP_DEVICE_INTERFACE_D | 1497 HKEY SetupDiCreateDeviceInterfaceRegKeyW(HDEVINFO, PSP_DEVICE_INTERFACE_ 1498 HKEY SetupDiCreateDevRegKeyA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD | 1498 HKEY SetupDiCreateDevRegKeyA(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, D 1499 HKEY SetupDiCreateDevRegKeyW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD | 1499 HKEY SetupDiCreateDevRegKeyW(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, D 1500 BOOL SetupDiDeleteDeviceInfo(HDEVINFO,PSP_DEVINFO_DATA); | 1500 BOOL SetupDiDeleteDeviceInfo(HDEVINFO, PSP_DEVINFO_DATA); 1501 BOOL SetupDiDeleteDeviceInterfaceData(HDEVINFO,PSP_DEVICE_INTERFACE_DATA | 1501 BOOL SetupDiDeleteDeviceInterfaceData(HDEVINFO, PSP_DEVICE_INTERFACE_DAT 1502 BOOL SetupDiDeleteDeviceInterfaceRegKey(HDEVINFO,PSP_DEVICE_INTERFACE_DA | 1502 BOOL SetupDiDeleteDeviceInterfaceRegKey(HDEVINFO, PSP_DEVICE_INTERFACE_D 1503 BOOL SetupDiDeleteDevRegKey(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD) | 1503 BOOL SetupDiDeleteDevRegKey(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, DW 1504 BOOL SetupDiDestroyClassImageList(PSP_CLASSIMAGELIST_DATA); 1504 BOOL SetupDiDestroyClassImageList(PSP_CLASSIMAGELIST_DATA); 1505 BOOL SetupDiDestroyDeviceInfoList(HDEVINFO); 1505 BOOL SetupDiDestroyDeviceInfoList(HDEVINFO); 1506 BOOL SetupDiDestroyDriverInfoList(HDEVINFO,PSP_DEVINFO_DATA,DWORD); | 1506 BOOL SetupDiDestroyDriverInfoList(HDEVINFO, PSP_DEVINFO_DATA, DWORD); 1507 INT SetupDiDrawMiniIcon(HDC,RECT,INT,DWORD); | 1507 INT SetupDiDrawMiniIcon(HDC, RECT, INT, DWORD); 1508 BOOL SetupDiEnumDeviceInfo(HDEVINFO,DWORD,PSP_DEVINFO_DATA); | 1508 BOOL SetupDiEnumDeviceInfo(HDEVINFO, DWORD, PSP_DEVINFO_DATA); 1509 BOOL SetupDiEnumDeviceInterfaces(HDEVINFO,PSP_DEVINFO_DATA,CPtr!(GUID),D | 1509 BOOL SetupDiEnumDeviceInterfaces(HDEVINFO, PSP_DEVINFO_DATA, const(GUID) 1510 BOOL SetupDiEnumDriverInfoA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,PSP_DR | 1510 BOOL SetupDiEnumDriverInfoA(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, PS 1511 BOOL SetupDiEnumDriverInfoW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,PSP_DR | 1511 BOOL SetupDiEnumDriverInfoW(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, PS 1512 BOOL SetupDiGetActualSectionToInstallA(HINF,PCSTR,PSTR,DWORD,PDWORD,PSTR | 1512 BOOL SetupDiGetActualSectionToInstallA(HINF, PCSTR, PSTR, DWORD, PDWORD, 1513 BOOL SetupDiGetActualSectionToInstallW(HINF,PCWSTR,PWSTR,DWORD,PDWORD,PW | 1513 BOOL SetupDiGetActualSectionToInstallW(HINF, PCWSTR, PWSTR, DWORD, PDWOR 1514 BOOL SetupDiGetClassBitmapIndex(CPtr!(GUID),PINT); | 1514 BOOL SetupDiGetClassBitmapIndex(const(GUID)*, PINT); 1515 BOOL SetupDiGetClassDescriptionA(CPtr!(GUID),PSTR,DWORD,PDWORD); | 1515 BOOL SetupDiGetClassDescriptionA(const(GUID)*, PSTR, DWORD, PDWORD); 1516 BOOL SetupDiGetClassDescriptionW(CPtr!(GUID),PWSTR,DWORD,PDWORD); | 1516 BOOL SetupDiGetClassDescriptionW(const(GUID)*, PWSTR, DWORD, PDWORD); 1517 BOOL SetupDiGetClassDescriptionExA(CPtr!(GUID),PSTR,DWORD,PDWORD,PCSTR,P | 1517 BOOL SetupDiGetClassDescriptionExA(const(GUID)*, PSTR, DWORD, PDWORD, PC 1518 BOOL SetupDiGetClassDescriptionExW(CPtr!(GUID),PWSTR,DWORD,PDWORD,PCWSTR | 1518 BOOL SetupDiGetClassDescriptionExW(const(GUID)*, PWSTR, DWORD, PDWORD, P 1519 BOOL SetupDiGetClassDevPropertySheetsA(HDEVINFO,PSP_DEVINFO_DATA,LPPROPS | 1519 BOOL SetupDiGetClassDevPropertySheetsA(HDEVINFO, PSP_DEVINFO_DATA, LPPRO 1520 BOOL SetupDiGetClassDevPropertySheetsW(HDEVINFO,PSP_DEVINFO_DATA,LPPROPS | 1520 BOOL SetupDiGetClassDevPropertySheetsW(HDEVINFO, PSP_DEVINFO_DATA, LPPRO 1521 HDEVINFO SetupDiGetClassDevsA(CPtr!(GUID),PCSTR,HWND,DWORD); | 1521 HDEVINFO SetupDiGetClassDevsA(const(GUID)*, PCSTR, HWND, DWORD); 1522 HDEVINFO SetupDiGetClassDevsW(CPtr!(GUID),PCWSTR,HWND,DWORD); | 1522 HDEVINFO SetupDiGetClassDevsW(const(GUID)*, PCWSTR, HWND, DWORD); 1523 HDEVINFO SetupDiGetClassDevsExA(CPtr!(GUID),PCSTR,HWND,DWORD,HDEVINFO,PC | 1523 HDEVINFO SetupDiGetClassDevsExA(const(GUID)*, PCSTR, HWND, DWORD, HDEVIN 1524 HDEVINFO SetupDiGetClassDevsExW(CPtr!(GUID),PCWSTR,HWND,DWORD,HDEVINFO,P | 1524 HDEVINFO SetupDiGetClassDevsExW(const(GUID)*, PCWSTR, HWND, DWORD, HDEVI 1525 BOOL SetupDiGetClassImageIndex(PSP_CLASSIMAGELIST_DATA,CPtr!(GUID),PINT) | 1525 BOOL SetupDiGetClassImageIndex(PSP_CLASSIMAGELIST_DATA, const(GUID)*, PI 1526 BOOL SetupDiGetClassImageList(PSP_CLASSIMAGELIST_DATA); 1526 BOOL SetupDiGetClassImageList(PSP_CLASSIMAGELIST_DATA); 1527 BOOL SetupDiGetClassImageListExA(PSP_CLASSIMAGELIST_DATA,PCSTR,PVOID); | 1527 BOOL SetupDiGetClassImageListExA(PSP_CLASSIMAGELIST_DATA, PCSTR, PVOID); 1528 BOOL SetupDiGetClassImageListExW(PSP_CLASSIMAGELIST_DATA,PCWSTR,PVOID); | 1528 BOOL SetupDiGetClassImageListExW(PSP_CLASSIMAGELIST_DATA, PCWSTR, PVOID) 1529 BOOL SetupDiGetClassInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSIN | 1529 BOOL SetupDiGetClassInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_CLASS 1530 BOOL SetupDiGetClassInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSIN | 1530 BOOL SetupDiGetClassInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_CLASS 1531 BOOL SetupDiGetClassRegistryPropertyA(LPGUID,DWORD,PDWORD,PBYTE,DWORD,PD | 1531 BOOL SetupDiGetClassRegistryPropertyA(LPGUID, DWORD, PDWORD, PBYTE, DWOR 1532 BOOL SetupDiGetClassRegistryPropertyW(LPGUID,DWORD,PDWORD,PBYTE,DWORD,PD | 1532 BOOL SetupDiGetClassRegistryPropertyW(LPGUID, DWORD, PDWORD, PBYTE, DWOR 1533 BOOL SetupDiGetDeviceInfoListClass(HDEVINFO,LPGUID); | 1533 BOOL SetupDiGetDeviceInfoListClass(HDEVINFO, LPGUID); 1534 BOOL SetupDiGetDeviceInfoListDetailA(HDEVINFO,PSP_DEVINFO_LIST_DETAIL_DA | 1534 BOOL SetupDiGetDeviceInfoListDetailA(HDEVINFO, PSP_DEVINFO_LIST_DETAIL_D 1535 BOOL SetupDiGetDeviceInfoListDetailW(HDEVINFO,PSP_DEVINFO_LIST_DETAIL_DA | 1535 BOOL SetupDiGetDeviceInfoListDetailW(HDEVINFO, PSP_DEVINFO_LIST_DETAIL_D 1536 BOOL SetupDiGetDeviceInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINS | 1536 BOOL SetupDiGetDeviceInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVI 1537 BOOL SetupDiGetDeviceInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINS | 1537 BOOL SetupDiGetDeviceInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVI 1538 BOOL SetupDiGetDeviceInstanceIdA(HDEVINFO,PSP_DEVINFO_DATA,PSTR,DWORD,PD | 1538 BOOL SetupDiGetDeviceInstanceIdA(HDEVINFO, PSP_DEVINFO_DATA, PSTR, DWORD 1539 BOOL SetupDiGetDeviceInstanceIdW(HDEVINFO,PSP_DEVINFO_DATA,PWSTR,DWORD,P | 1539 BOOL SetupDiGetDeviceInstanceIdW(HDEVINFO, PSP_DEVINFO_DATA, PWSTR, DWOR 1540 BOOL SetupDiGetDeviceInterfaceAlias(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,C | 1540 BOOL SetupDiGetDeviceInterfaceAlias(HDEVINFO, PSP_DEVICE_INTERFACE_DATA, 1541 BOOL SetupDiGetDeviceInterfaceDetailA(HDEVINFO,PSP_DEVICE_INTERFACE_DATA | 1541 BOOL SetupDiGetDeviceInterfaceDetailA(HDEVINFO, PSP_DEVICE_INTERFACE_DAT 1542 BOOL SetupDiGetDeviceInterfaceDetailW(HDEVINFO,PSP_DEVICE_INTERFACE_DATA | 1542 BOOL SetupDiGetDeviceInterfaceDetailW(HDEVINFO, PSP_DEVICE_INTERFACE_DAT 1543 BOOL SetupDiGetDeviceRegistryPropertyA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,P | 1543 BOOL SetupDiGetDeviceRegistryPropertyA(HDEVINFO, PSP_DEVINFO_DATA, DWORD 1544 BOOL SetupDiGetDeviceRegistryPropertyW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,P | 1544 BOOL SetupDiGetDeviceRegistryPropertyW(HDEVINFO, PSP_DEVINFO_DATA, DWORD 1545 BOOL SetupDiGetDriverInfoDetailA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_D | 1545 BOOL SetupDiGetDriverInfoDetailA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO 1546 BOOL SetupDiGetDriverInfoDetailW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_D | 1546 BOOL SetupDiGetDriverInfoDetailW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO 1547 BOOL SetupDiGetDriverInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINF | 1547 BOOL SetupDiGetDriverInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVI 1548 BOOL SetupDiGetDriverInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINF | 1548 BOOL SetupDiGetDriverInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVI 1549 BOOL SetupDiGetHwProfileFriendlyNameA(DWORD,PSTR,DWORD,PDWORD); | 1549 BOOL SetupDiGetHwProfileFriendlyNameA(DWORD, PSTR, DWORD, PDWORD); 1550 BOOL SetupDiGetHwProfileFriendlyNameExA(DWORD,PSTR,DWORD,PDWORD,PCSTR,PV | 1550 BOOL SetupDiGetHwProfileFriendlyNameExA(DWORD, PSTR, DWORD, PDWORD, PCST 1551 BOOL SetupDiGetHwProfileFriendlyNameExW(DWORD,PWSTR,DWORD,PDWORD,PCWSTR, | 1551 BOOL SetupDiGetHwProfileFriendlyNameExW(DWORD, PWSTR, DWORD, PDWORD, PCW 1552 BOOL SetupDiGetHwProfileFriendlyNameW(DWORD,PWSTR,DWORD,PDWORD); | 1552 BOOL SetupDiGetHwProfileFriendlyNameW(DWORD, PWSTR, DWORD, PDWORD); 1553 BOOL SetupDiGetHwProfileList(PDWORD,DWORD,PDWORD,PDWORD); | 1553 BOOL SetupDiGetHwProfileList(PDWORD, DWORD, PDWORD, PDWORD); 1554 BOOL SetupDiGetHwProfileListExA(PDWORD,DWORD,PDWORD,PDWORD,PCSTR,PVOID); | 1554 BOOL SetupDiGetHwProfileListExA(PDWORD, DWORD, PDWORD, PDWORD, PCSTR, PV 1555 BOOL SetupDiGetHwProfileListExW(PDWORD,DWORD,PDWORD,PDWORD,PCWSTR,PVOID) | 1555 BOOL SetupDiGetHwProfileListExW(PDWORD, DWORD, PDWORD, PDWORD, PCWSTR, P 1556 BOOL SetupDiGetINFClassA(PCSTR,LPGUID,PSTR,DWORD,PDWORD); | 1556 BOOL SetupDiGetINFClassA(PCSTR, LPGUID, PSTR, DWORD, PDWORD); 1557 BOOL SetupDiGetINFClassW(PCWSTR,LPGUID,PWSTR,DWORD,PDWORD); | 1557 BOOL SetupDiGetINFClassW(PCWSTR, LPGUID, PWSTR, DWORD, PDWORD); 1558 BOOL SetupDiGetSelectedDevice(HDEVINFO,PSP_DEVINFO_DATA); | 1558 BOOL SetupDiGetSelectedDevice(HDEVINFO, PSP_DEVINFO_DATA); 1559 BOOL SetupDiGetSelectedDriverA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DAT | 1559 BOOL SetupDiGetSelectedDriverA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_D 1560 BOOL SetupDiGetSelectedDriverW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DAT | 1560 BOOL SetupDiGetSelectedDriverW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_D 1561 HPROPSHEETPAGE SetupDiGetWizardage(HDEVINFO,PSP_DEVINFO_DATA,PSP_INSTALL | 1561 HPROPSHEETPAGE SetupDiGetWizardage(HDEVINFO, PSP_DEVINFO_DATA, PSP_INSTA 1562 BOOL SetupDiInstallClassA(HWND,PCSTR,DWORD,HSPFILEQ); | 1562 BOOL SetupDiInstallClassA(HWND, PCSTR, DWORD, HSPFILEQ); 1563 BOOL SetupDiInstallClassW(HWND,PCWSTR,DWORD,HSPFILEQ); | 1563 BOOL SetupDiInstallClassW(HWND, PCWSTR, DWORD, HSPFILEQ); 1564 BOOL SetupDiInstallClassExA(HWND,PCSTR,DWORD,HSPFILEQ,CPtr!(GUID),PVOID, | 1564 BOOL SetupDiInstallClassExA(HWND, PCSTR, DWORD, HSPFILEQ, const(GUID)*, 1565 BOOL SetupDiInstallClassExW(HWND,PCWSTR,DWORD,HSPFILEQ,CPtr!(GUID),PVOID | 1565 BOOL SetupDiInstallClassExW(HWND, PCWSTR, DWORD, HSPFILEQ, const(GUID)*, 1566 BOOL SetupDiInstallDevice(HDEVINFO,PSP_DEVINFO_DATA); | 1566 BOOL SetupDiInstallDevice(HDEVINFO, PSP_DEVINFO_DATA); 1567 BOOL SetupDiInstallDeviceInterfaces(HDEVINFO,PSP_DEVINFO_DATA); | 1567 BOOL SetupDiInstallDeviceInterfaces(HDEVINFO, PSP_DEVINFO_DATA); 1568 BOOL SetupDiInstallDriverFiles(HDEVINFO,PSP_DEVINFO_DATA); | 1568 BOOL SetupDiInstallDriverFiles(HDEVINFO, PSP_DEVINFO_DATA); 1569 BOOL SetupDiLoadClassIcon(CPtr!(GUID),HICON*,PINT); | 1569 BOOL SetupDiLoadClassIcon(const(GUID)*, HICON*, PINT); 1570 BOOL SetupDiMoveDuplicateDevice(HDEVINFO,PSP_DEVINFO_DATA); | 1570 BOOL SetupDiMoveDuplicateDevice(HDEVINFO, PSP_DEVINFO_DATA); 1571 HKEY SetupDiOpenClassRegKey(CPtr!(GUID),REGSAM); | 1571 HKEY SetupDiOpenClassRegKey(const(GUID)*, REGSAM); 1572 HKEY SetupDiOpenClassRegKeyExA(CPtr!(GUID),REGSAM,DWORD,PCSTR,PVOID); | 1572 HKEY SetupDiOpenClassRegKeyExA(const(GUID)*, REGSAM, DWORD, PCSTR, PVOID 1573 HKEY SetupDiOpenClassRegKeyExW(CPtr!(GUID),REGSAM,DWORD,PCWSTR,PVOID); | 1573 HKEY SetupDiOpenClassRegKeyExW(const(GUID)*, REGSAM, DWORD, PCWSTR, PVOI 1574 BOOL SetupDiOpenDeviceInfoA(HDEVINFO,PCSTR,HWND,DWORD,PSP_DEVINFO_DATA); | 1574 BOOL SetupDiOpenDeviceInfoA(HDEVINFO, PCSTR, HWND, DWORD, PSP_DEVINFO_DA 1575 BOOL SetupDiOpenDeviceInfoW(HDEVINFO,PCWSTR,HWND,DWORD,PSP_DEVINFO_DATA) | 1575 BOOL SetupDiOpenDeviceInfoW(HDEVINFO, PCWSTR, HWND, DWORD, PSP_DEVINFO_D 1576 BOOL SetupDiOpenDeviceInterfaceA(HDEVINFO,PCSTR,DWORD,PSP_DEVICE_INTERFA | 1576 BOOL SetupDiOpenDeviceInterfaceA(HDEVINFO, PCSTR, DWORD, PSP_DEVICE_INTE 1577 BOOL SetupDiOpenDeviceInterfaceW(HDEVINFO,PCWSTR,DWORD,PSP_DEVICE_INTERF | 1577 BOOL SetupDiOpenDeviceInterfaceW(HDEVINFO, PCWSTR, DWORD, PSP_DEVICE_INT 1578 HKEY SetupDiOpenDeviceInterfaceRegKey(HDEVINFO,PSP_DEVICE_INTERFACE_DATA | 1578 HKEY SetupDiOpenDeviceInterfaceRegKey(HDEVINFO, PSP_DEVICE_INTERFACE_DAT 1579 HKEY SetupDiOpenDevRegKey(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD,RE | 1579 HKEY SetupDiOpenDevRegKey(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, DWOR 1580 BOOL SetupDiRegisterCoDeviceInstallers(HDEVINFO,PSP_DEVINFO_DATA); | 1580 BOOL SetupDiRegisterCoDeviceInstallers(HDEVINFO, PSP_DEVINFO_DATA); 1581 BOOL SetupDiRegisterDeviceInfo(HDEVINFO,PSP_DEVINFO_DATA,DWORD,PSP_DETSI | 1581 BOOL SetupDiRegisterDeviceInfo(HDEVINFO, PSP_DEVINFO_DATA, DWORD, PSP_DE 1582 BOOL SetupDiRemoveDevice(HDEVINFO,PSP_DEVINFO_DATA); | 1582 BOOL SetupDiRemoveDevice(HDEVINFO, PSP_DEVINFO_DATA); 1583 BOOL SetupDiRemoveDeviceInterface(HDEVINFO,PSP_DEVICE_INTERFACE_DATA); | 1583 BOOL SetupDiRemoveDeviceInterface(HDEVINFO, PSP_DEVICE_INTERFACE_DATA); 1584 BOOL SetupDiSelectBestCompatDrv(HDEVINFO,PSP_DEVINFO_DATA); | 1584 BOOL SetupDiSelectBestCompatDrv(HDEVINFO, PSP_DEVINFO_DATA); 1585 BOOL SetupDiSelectDevice(HDEVINFO,PSP_DEVINFO_DATA); | 1585 BOOL SetupDiSelectDevice(HDEVINFO, PSP_DEVINFO_DATA); 1586 BOOL SetupDiSelectOEMDrv(HWND,HDEVINFO,PSP_DEVINFO_DATA); | 1586 BOOL SetupDiSelectOEMDrv(HWND, HDEVINFO, PSP_DEVINFO_DATA); 1587 BOOL SetupDiSetClassInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSIN | 1587 BOOL SetupDiSetClassInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_CLASS 1588 BOOL SetupDiSetClassInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSIN | 1588 BOOL SetupDiSetClassInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_CLASS 1589 BOOL SetupDiSetClassRegistryPropertyA(LPGUID,DWORD,CPtr!(BYTE),DWORD,PCS | 1589 BOOL SetupDiSetClassRegistryPropertyA(LPGUID, DWORD, const(BYTE)*, DWORD 1590 BOOL SetupDiSetClassRegistryPropertyW(LPGUID,DWORD,CPtr!(BYTE),DWORD,PCW | 1590 BOOL SetupDiSetClassRegistryPropertyW(LPGUID, DWORD, const(BYTE)*, DWORD 1591 BOOL SetupDiSetDeviceInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINS | 1591 BOOL SetupDiSetDeviceInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVI 1592 BOOL SetupDiSetDeviceInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINS | 1592 BOOL SetupDiSetDeviceInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVI 1593 BOOL SetupDiSetDeviceRegistryPropertyA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,C | 1593 BOOL SetupDiSetDeviceRegistryPropertyA(HDEVINFO, PSP_DEVINFO_DATA, DWORD 1594 BOOL SetupDiSetDeviceRegistryPropertyW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,C | 1594 BOOL SetupDiSetDeviceRegistryPropertyW(HDEVINFO, PSP_DEVINFO_DATA, DWORD 1595 BOOL SetupDiSetDriverInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINF | 1595 BOOL SetupDiSetDriverInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVI 1596 BOOL SetupDiSetDriverInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINF | 1596 BOOL SetupDiSetDriverInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVI 1597 BOOL SetupDiSetSelectedDevice(HDEVINFO,PSP_DEVINFO_DATA); | 1597 BOOL SetupDiSetSelectedDevice(HDEVINFO, PSP_DEVINFO_DATA); 1598 BOOL SetupDiSetSelectedDriverA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DAT | 1598 BOOL SetupDiSetSelectedDriverA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_D 1599 BOOL SetupDiSetSelectedDriverW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DAT | 1599 BOOL SetupDiSetSelectedDriverW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_D 1600 BOOL SetupDiUnremoveDevice(HDEVINFO,PSP_DEVINFO_DATA); | 1600 BOOL SetupDiUnremoveDevice(HDEVINFO, PSP_DEVINFO_DATA); 1601 HDSKSPC SetupDuplicateDiskSpaceListA(HDSKSPC,PVOID,DWORD,UINT); | 1601 HDSKSPC SetupDuplicateDiskSpaceListA(HDSKSPC, PVOID, DWORD, UINT); 1602 HDSKSPC SetupDuplicateDiskSpaceListW(HDSKSPC,PVOID,DWORD,UINT); | 1602 HDSKSPC SetupDuplicateDiskSpaceListW(HDSKSPC, PVOID, DWORD, UINT); 1603 BOOL SetupFindFirstLineA(HINF,PCSTR,PCSTR,PINFCONTEXT); | 1603 BOOL SetupFindFirstLineA(HINF, PCSTR, PCSTR, PINFCONTEXT); 1604 BOOL SetupFindFirstLineW(HINF,PCWSTR,PCWSTR,PINFCONTEXT); | 1604 BOOL SetupFindFirstLineW(HINF, PCWSTR, PCWSTR, PINFCONTEXT); 1605 BOOL SetupFindNextLine(PINFCONTEXT,PINFCONTEXT); | 1605 BOOL SetupFindNextLine(PINFCONTEXT, PINFCONTEXT); 1606 BOOL SetupFindNextMatchLineA(PINFCONTEXT,PCSTR,PINFCONTEXT); | 1606 BOOL SetupFindNextMatchLineA(PINFCONTEXT, PCSTR, PINFCONTEXT); 1607 BOOL SetupFindNextMatchLineW(PINFCONTEXT,PCWSTR,PINFCONTEXT); | 1607 BOOL SetupFindNextMatchLineW(PINFCONTEXT, PCWSTR, PINFCONTEXT); 1608 BOOL SetupFreeA(PCSTR**,UINT); | 1608 BOOL SetupFreeA(PCSTR**, UINT); 1609 BOOL SetupFreeW(PCWSTR**,UINT); | 1609 BOOL SetupFreeW(PCWSTR**, UINT); 1610 BOOL SetupGetBackupInformationA(HSPFILEQ,PSP_BACKUP_QUEUE_PARAMS_A); | 1610 BOOL SetupGetBackupInformationA(HSPFILEQ, PSP_BACKUP_QUEUE_PARAMS_A); 1611 BOOL SetupGetBackupInformationW(HSPFILEQ,PSP_BACKUP_QUEUE_PARAMS_W); | 1611 BOOL SetupGetBackupInformationW(HSPFILEQ, PSP_BACKUP_QUEUE_PARAMS_W); 1612 BOOL SetupGetBinaryField(PINFCONTEXT,DWORD,PBYTE,DWORD,LPDWORD); | 1612 BOOL SetupGetBinaryField(PINFCONTEXT, DWORD, PBYTE, DWORD, LPDWORD); 1613 DWORD SetupGetFieldCount(PINFCONTEXT); 1613 DWORD SetupGetFieldCount(PINFCONTEXT); 1614 DWORD SetupGetFileCompressionInfoA(PCSTR,PSTR*,PDWORD,PDWORD,PUINT); | 1614 DWORD SetupGetFileCompressionInfoA(PCSTR, PSTR*, PDWORD, PDWORD, PUINT); 1615 DWORD SetupGetFileCompressionInfoW(PCWSTR,PWSTR*,PDWORD,PDWORD,PUINT); | 1615 DWORD SetupGetFileCompressionInfoW(PCWSTR, PWSTR*, PDWORD, PDWORD, PUINT 1616 BOOL SetupGetInfFileListA(PCSTR,DWORD,PSTR,DWORD,PDWORD); | 1616 BOOL SetupGetInfFileListA(PCSTR, DWORD, PSTR, DWORD, PDWORD); 1617 BOOL SetupGetInfFileListW(PCWSTR,DWORD,PWSTR,DWORD,PDWORD); | 1617 BOOL SetupGetInfFileListW(PCWSTR, DWORD, PWSTR, DWORD, PDWORD); 1618 BOOL SetupGetInfInformationA(LPCVOID,DWORD,PSP_INF_INFORMATION,DWORD,PDW | 1618 BOOL SetupGetInfInformationA(LPCVOID, DWORD, PSP_INF_INFORMATION, DWORD, 1619 BOOL SetupGetInfInformationW(LPCVOID,DWORD,PSP_INF_INFORMATION,DWORD,PDW | 1619 BOOL SetupGetInfInformationW(LPCVOID, DWORD, PSP_INF_INFORMATION, DWORD, 1620 BOOL SetupGetIntField(PINFCONTEXT,DWORD,PINT); | 1620 BOOL SetupGetIntField(PINFCONTEXT, DWORD, PINT); 1621 BOOL SetupGetLineByIndexA(HINF,PCSTR,DWORD,PINFCONTEXT); | 1621 BOOL SetupGetLineByIndexA(HINF, PCSTR, DWORD, PINFCONTEXT); 1622 BOOL SetupGetLineByIndexW(HINF,PCWSTR,DWORD,PINFCONTEXT); | 1622 BOOL SetupGetLineByIndexW(HINF, PCWSTR, DWORD, PINFCONTEXT); 1623 LONG SetupGetLineCountA(HINF,PCSTR); | 1623 LONG SetupGetLineCountA(HINF, PCSTR); 1624 LONG SetupGetLineCountW(HINF,PCWSTR); | 1624 LONG SetupGetLineCountW(HINF, PCWSTR); 1625 BOOL SetupGetLineTextA(PINFCONTEXT,HINF,PCSTR,PCSTR,PSTR,DWORD,PDWORD); | 1625 BOOL SetupGetLineTextA(PINFCONTEXT, HINF, PCSTR, PCSTR, PSTR, DWORD, PDW 1626 BOOL SetupGetLineTextW(PINFCONTEXT,HINF,PCWSTR,PCWSTR,PWSTR,DWORD,PDWORD | 1626 BOOL SetupGetLineTextW(PINFCONTEXT, HINF, PCWSTR, PCWSTR, PWSTR, DWORD, 1627 BOOL SetupGetMultiSzFieldA(PINFCONTEXT,DWORD,PSTR,DWORD,LPDWORD); | 1627 BOOL SetupGetMultiSzFieldA(PINFCONTEXT, DWORD, PSTR, DWORD, LPDWORD); 1628 BOOL SetupGetMultiSzFieldW(PINFCONTEXT,DWORD,PWSTR,DWORD,LPDWORD); | 1628 BOOL SetupGetMultiSzFieldW(PINFCONTEXT, DWORD, PWSTR, DWORD, LPDWORD); 1629 BOOL SetupGetSourceFileLocationA(HINF,PINFCONTEXT,PCSTR,PUINT,PSTR,DWORD | 1629 BOOL SetupGetSourceFileLocationA(HINF, PINFCONTEXT, PCSTR, PUINT, PSTR, 1630 BOOL SetupGetSourceFileLocationW(HINF,PINFCONTEXT,PCWSTR,PUINT,PWSTR,DWO | 1630 BOOL SetupGetSourceFileLocationW(HINF, PINFCONTEXT, PCWSTR, PUINT, PWSTR 1631 BOOL SetupGetSourceFileSizeA(HINF,PINFCONTEXT,PCSTR,PCSTR,PDWORD,UINT); | 1631 BOOL SetupGetSourceFileSizeA(HINF, PINFCONTEXT, PCSTR, PCSTR, PDWORD, UI 1632 BOOL SetupGetSourceFileSizeW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PDWORD,UINT) | 1632 BOOL SetupGetSourceFileSizeW(HINF, PINFCONTEXT, PCWSTR, PCWSTR, PDWORD, 1633 BOOL SetupGetSourceInfoA(HINF,UINT,UINT,PSTR,DWORD,PDWORD); | 1633 BOOL SetupGetSourceInfoA(HINF, UINT, UINT, PSTR, DWORD, PDWORD); 1634 BOOL SetupGetSourceInfoW(HINF,UINT,UINT,PWSTR,DWORD,PDWORD); | 1634 BOOL SetupGetSourceInfoW(HINF, UINT, UINT, PWSTR, DWORD, PDWORD); 1635 BOOL SetupGetStringFieldA(PINFCONTEXT,DWORD,PSTR,DWORD,PDWORD); | 1635 BOOL SetupGetStringFieldA(PINFCONTEXT, DWORD, PSTR, DWORD, PDWORD); 1636 BOOL SetupGetStringFieldW(PINFCONTEXT,DWORD,PWSTR,DWORD,PDWORD); | 1636 BOOL SetupGetStringFieldW(PINFCONTEXT, DWORD, PWSTR, DWORD, PDWORD); 1637 BOOL SetupGetTargetPathA(HINF,PINFCONTEXT,PCSTR,PSTR,DWORD,PDWORD); | 1637 BOOL SetupGetTargetPathA(HINF, PINFCONTEXT, PCSTR, PSTR, DWORD, PDWORD); 1638 BOOL SetupGetTargetPathW(HINF,PINFCONTEXT,PCWSTR,PWSTR,DWORD,PDWORD); | 1638 BOOL SetupGetTargetPathW(HINF, PINFCONTEXT, PCWSTR, PWSTR, DWORD, PDWORD 1639 PVOID SetupInitDefaultQueueCallback(HWND); 1639 PVOID SetupInitDefaultQueueCallback(HWND); 1640 PVOID SetupInitDefaultQueueCallbackEx(HWND,HWND,UINT,DWORD,PVOID); | 1640 PVOID SetupInitDefaultQueueCallbackEx(HWND, HWND, UINT, DWORD, PVOID); 1641 HSPFILELOG SetupInitializeFileLogA(PCSTR,DWORD); | 1641 HSPFILELOG SetupInitializeFileLogA(PCSTR, DWORD); 1642 HSPFILELOG SetupInitializeFileLogW(PCWSTR,DWORD); | 1642 HSPFILELOG SetupInitializeFileLogW(PCWSTR, DWORD); 1643 BOOL SetupInstallFileA(HINF,PINFCONTEXT,PCSTR,PCSTR,PCSTR,DWORD,PSP_FILE | 1643 BOOL SetupInstallFileA(HINF, PINFCONTEXT, PCSTR, PCSTR, PCSTR, DWORD, PS 1644 BOOL SetupInstallFileW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PCWSTR,DWORD,PSP_F | 1644 BOOL SetupInstallFileW(HINF, PINFCONTEXT, PCWSTR, PCWSTR, PCWSTR, DWORD, 1645 BOOL SetupInstallFileExA(HINF,PINFCONTEXT,PCSTR,PCSTR,PCSTR,DWORD,PSP_FI | 1645 BOOL SetupInstallFileExA(HINF, PINFCONTEXT, PCSTR, PCSTR, PCSTR, DWORD, 1646 BOOL SetupInstallFileExW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PCWSTR,DWORD,PSP | 1646 BOOL SetupInstallFileExW(HINF, PINFCONTEXT, PCWSTR, PCWSTR, PCWSTR, DWOR 1647 BOOL SetupInstallFilesFromInfSectionA(HINF,HINF,HSPFILEQ,PCSTR,PCSTR,UIN | 1647 BOOL SetupInstallFilesFromInfSectionA(HINF, HINF, HSPFILEQ, PCSTR, PCSTR 1648 BOOL SetupInstallFilesFromInfSectionW(HINF,HINF,HSPFILEQ,PCWSTR,PCWSTR,U | 1648 BOOL SetupInstallFilesFromInfSectionW(HINF, HINF, HSPFILEQ, PCWSTR, PCWS 1649 BOOL SetupInstallFromInfSectionA(HWND,HINF,PCSTR,UINT,HKEY,PCSTR,UINT,PS | 1649 BOOL SetupInstallFromInfSectionA(HWND, HINF, PCSTR, UINT, HKEY, PCSTR, U 1650 BOOL SetupInstallFromInfSectionW(HWND,HINF,PCWSTR,UINT,HKEY,PCWSTR,UINT, | 1650 BOOL SetupInstallFromInfSectionW(HWND, HINF, PCWSTR, UINT, HKEY, PCWSTR, 1651 BOOL SetupInstallServicesFromInfSectionA(HINF,PCSTR,DWORD); | 1651 BOOL SetupInstallServicesFromInfSectionA(HINF, PCSTR, DWORD); 1652 BOOL SetupInstallServicesFromInfSectionW(HINF,PCWSTR,DWORD); | 1652 BOOL SetupInstallServicesFromInfSectionW(HINF, PCWSTR, DWORD); 1653 BOOL SetupInstallServicesFromInfSectionExA(HINF,PCSTR,DWORD,HDEVINFO,PSP | 1653 BOOL SetupInstallServicesFromInfSectionExA(HINF, PCSTR, DWORD, HDEVINFO, 1654 BOOL SetupInstallServicesFromInfSectionExW(HINF,PCWSTR,DWORD,HDEVINFO,PS | 1654 BOOL SetupInstallServicesFromInfSectionExW(HINF, PCWSTR, DWORD, HDEVINFO 1655 BOOL SetupIterateCabinetA(PCSTR,DWORD,PSP_FILE_CALLBACK_A,PVOID); | 1655 BOOL SetupIterateCabinetA(PCSTR, DWORD, PSP_FILE_CALLBACK_A, PVOID); 1656 BOOL SetupIterateCabinetW(PCWSTR,DWORD,PSP_FILE_CALLBACK_W,PVOID); | 1656 BOOL SetupIterateCabinetW(PCWSTR, DWORD, PSP_FILE_CALLBACK_W, PVOID); 1657 BOOL SetupLogErrorA(LPCSTR,LogSeverity); | 1657 BOOL SetupLogErrorA(LPCSTR, LogSeverity); 1658 BOOL SetupLogErrorW(LPCWSTR,LogSeverity); | 1658 BOOL SetupLogErrorW(LPCWSTR, LogSeverity); 1659 BOOL SetupLogFileA(HSPFILELOG,PCSTR,PCSTR,PCSTR,DWORD,PCSTR,PCSTR,PCSTR, | 1659 BOOL SetupLogFileA(HSPFILELOG, PCSTR, PCSTR, PCSTR, DWORD, PCSTR, PCSTR, 1660 BOOL SetupLogFileW(HSPFILELOG,PCWSTR,PCWSTR,PCWSTR,DWORD,PCWSTR,PCWSTR,P | 1660 BOOL SetupLogFileW(HSPFILELOG, PCWSTR, PCWSTR, PCWSTR, DWORD, PCWSTR, PC 1661 BOOL SetupOpenAppendInfFileA(PCSTR,HINF,PUINT); | 1661 BOOL SetupOpenAppendInfFileA(PCSTR, HINF, PUINT); 1662 BOOL SetupOpenAppendInfFileW(PCWSTR,HINF,PUINT); | 1662 BOOL SetupOpenAppendInfFileW(PCWSTR, HINF, PUINT); 1663 HSPFILEQ SetupOpenFileQueue(); 1663 HSPFILEQ SetupOpenFileQueue(); 1664 HINF SetupOpenInfFileA(PCSTR,PCSTR,DWORD,PUINT); | 1664 HINF SetupOpenInfFileA(PCSTR, PCSTR, DWORD, PUINT); 1665 HINF SetupOpenInfFileW(PCWSTR,PCWSTR,DWORD,PUINT); | 1665 HINF SetupOpenInfFileW(PCWSTR, PCWSTR, DWORD, PUINT); 1666 BOOL SetupOpenLog(BOOL); 1666 BOOL SetupOpenLog(BOOL); 1667 HINF SetupOpenMasterInf(); 1667 HINF SetupOpenMasterInf(); 1668 UINT SetupPromptForDiskA(HWND,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,DWORD,PSTR,D | 1668 UINT SetupPromptForDiskA(HWND, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, DWORD, 1669 UINT SetupPromptForDiskW(HWND,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,DWORD,P | 1669 UINT SetupPromptForDiskW(HWND, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, D 1670 INT SetupPromptReboot(HSPFILEQ,HWND,BOOL); | 1670 INT SetupPromptReboot(HSPFILEQ, HWND, BOOL); 1671 BOOL SetupQueryA(DWORD,PCSTR**,PUINT); | 1671 BOOL SetupQueryA(DWORD, PCSTR**, PUINT); 1672 BOOL SetupQueryW(DWORD,PCWSTR**,PUINT); | 1672 BOOL SetupQueryW(DWORD, PCWSTR**, PUINT); 1673 BOOL SetupQueryDrivesInDiskSpaceListA(HDSKSPC,PSTR,DWORD,PDWORD); | 1673 BOOL SetupQueryDrivesInDiskSpaceListA(HDSKSPC, PSTR, DWORD, PDWORD); 1674 BOOL SetupQueryDrivesInDiskSpaceListW(HDSKSPC,PWSTR,DWORD,PDWORD); | 1674 BOOL SetupQueryDrivesInDiskSpaceListW(HDSKSPC, PWSTR, DWORD, PDWORD); 1675 BOOL SetupQueryFileLogA(HSPFILELOG,PCSTR,PCSTR,SetupFileLogInfo,PSTR,DWO | 1675 BOOL SetupQueryFileLogA(HSPFILELOG, PCSTR, PCSTR, SetupFileLogInfo, PSTR 1676 BOOL SetupQueryFileLogW(HSPFILELOG,PCWSTR,PCWSTR,SetupFileLogInfo,PWSTR, | 1676 BOOL SetupQueryFileLogW(HSPFILELOG, PCWSTR, PCWSTR, SetupFileLogInfo, PW 1677 BOOL SetupQueryInfFileInformationA(PSP_INF_INFORMATION,UINT,PSTR,DWORD,P | 1677 BOOL SetupQueryInfFileInformationA(PSP_INF_INFORMATION, UINT, PSTR, DWOR 1678 BOOL SetupQueryInfFileInformationW(PSP_INF_INFORMATION,UINT,PWSTR,DWORD, | 1678 BOOL SetupQueryInfFileInformationW(PSP_INF_INFORMATION, UINT, PWSTR, DWO 1679 BOOL SetupQueryInfOriginalFileInformationA(PSP_INF_INFORMATION,UINT,PSP_ | 1679 BOOL SetupQueryInfOriginalFileInformationA(PSP_INF_INFORMATION, UINT, PS 1680 BOOL SetupQueryInfOriginalFileInformationW(PSP_INF_INFORMATION,UINT,PSP_ | 1680 BOOL SetupQueryInfOriginalFileInformationW(PSP_INF_INFORMATION, UINT, PS 1681 BOOL SetupQueryInfVersionInformationA(PSP_INF_INFORMATION,UINT,PSTR,PSTR | 1681 BOOL SetupQueryInfVersionInformationA(PSP_INF_INFORMATION, UINT, PSTR, P 1682 BOOL SetupQueryInfVersionInformationW(PSP_INF_INFORMATION,UINT,PCWSTR,PW | 1682 BOOL SetupQueryInfVersionInformationW(PSP_INF_INFORMATION, UINT, PCWSTR, 1683 BOOL SetupQuerySpaceRequiredOnDriveA(HDSKSPC,PCSTR,LONGLONG*,PVOID,UINT) | 1683 BOOL SetupQuerySpaceRequiredOnDriveA(HDSKSPC, PCSTR, LONGLONG*, PVOID, U 1684 BOOL SetupQuerySpaceRequiredOnDriveW(HDSKSPC,PCWSTR,LONGLONG*,PVOID,UINT | 1684 BOOL SetupQuerySpaceRequiredOnDriveW(HDSKSPC, PCWSTR, LONGLONG*, PVOID, 1685 BOOL SetupQueueCopyA(HSPFILEQ,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR, | 1685 BOOL SetupQueueCopyA(HSPFILEQ, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, 1686 BOOL SetupQueueCopyW(HSPFILEQ,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR, | 1686 BOOL SetupQueueCopyW(HSPFILEQ, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, P 1687 BOOL SetupQueueCopyIndirectA(PSP_FILE_COPY_PARAMS_A); 1687 BOOL SetupQueueCopyIndirectA(PSP_FILE_COPY_PARAMS_A); 1688 BOOL SetupQueueCopyIndirectW(PSP_FILE_COPY_PARAMS_W); 1688 BOOL SetupQueueCopyIndirectW(PSP_FILE_COPY_PARAMS_W); 1689 BOOL SetupQueueCopySectionA(HSPFILEQ,PCSTR,HINF,HINF,PCSTR,DWORD); | 1689 BOOL SetupQueueCopySectionA(HSPFILEQ, PCSTR, HINF, HINF, PCSTR, DWORD); 1690 BOOL SetupQueueCopySectionW(HSPFILEQ,PCWSTR,HINF,HINF,PCWSTR,DWORD); | 1690 BOOL SetupQueueCopySectionW(HSPFILEQ, PCWSTR, HINF, HINF, PCWSTR, DWORD) 1691 BOOL SetupQueueDefaultCopyA(HSPFILEQ,HINF,PCSTR,PCSTR,PCSTR,DWORD); | 1691 BOOL SetupQueueDefaultCopyA(HSPFILEQ, HINF, PCSTR, PCSTR, PCSTR, DWORD); 1692 BOOL SetupQueueDefaultCopyW(HSPFILEQ,HINF,PCWSTR,PCWSTR,PCWSTR,DWORD); | 1692 BOOL SetupQueueDefaultCopyW(HSPFILEQ, HINF, PCWSTR, PCWSTR, PCWSTR, DWOR 1693 BOOL SetupQueueDeleteA(HSPFILEQ,PCSTR,PCSTR); | 1693 BOOL SetupQueueDeleteA(HSPFILEQ, PCSTR, PCSTR); 1694 BOOL SetupQueueDeleteW(HSPFILEQ,PCWSTR,PCWSTR); | 1694 BOOL SetupQueueDeleteW(HSPFILEQ, PCWSTR, PCWSTR); 1695 BOOL SetupQueueDeleteSectionA(HSPFILEQ,HINF,HINF,PCSTR); | 1695 BOOL SetupQueueDeleteSectionA(HSPFILEQ, HINF, HINF, PCSTR); 1696 BOOL SetupQueueDeleteSectionW(HSPFILEQ,HINF,HINF,PCWSTR); | 1696 BOOL SetupQueueDeleteSectionW(HSPFILEQ, HINF, HINF, PCWSTR); 1697 BOOL SetupQueueRenameA(HSPFILEQ,PCSTR,PCSTR,PCSTR,PCSTR); | 1697 BOOL SetupQueueRenameA(HSPFILEQ, PCSTR, PCSTR, PCSTR, PCSTR); 1698 BOOL SetupQueueRenameW(HSPFILEQ,PCWSTR,PCWSTR,PCWSTR,PCWSTR); | 1698 BOOL SetupQueueRenameW(HSPFILEQ, PCWSTR, PCWSTR, PCWSTR, PCWSTR); 1699 BOOL SetupQueueRenameSectionA(HSPFILEQ,HINF,HINF,PCSTR); | 1699 BOOL SetupQueueRenameSectionA(HSPFILEQ, HINF, HINF, PCSTR); 1700 BOOL SetupQueueRenameSectionW(HSPFILEQ,HINF,HINF,PCWSTR); | 1700 BOOL SetupQueueRenameSectionW(HSPFILEQ, HINF, HINF, PCWSTR); 1701 BOOL SetupRemoveFileLogEntryA(HSPFILELOG,PCSTR,PCSTR); | 1701 BOOL SetupRemoveFileLogEntryA(HSPFILELOG, PCSTR, PCSTR); 1702 BOOL SetupRemoveFileLogEntryW(HSPFILELOG,PCWSTR,PCWSTR); | 1702 BOOL SetupRemoveFileLogEntryW(HSPFILELOG, PCWSTR, PCWSTR); 1703 BOOL SetupRemoveFromDiskSpaceListA(HDSKSPC,PCSTR,UINT,PVOID,UINT); | 1703 BOOL SetupRemoveFromDiskSpaceListA(HDSKSPC, PCSTR, UINT, PVOID, UINT); 1704 BOOL SetupRemoveFromDiskSpaceListW(HDSKSPC,PCWSTR,UINT,PVOID,UINT); | 1704 BOOL SetupRemoveFromDiskSpaceListW(HDSKSPC, PCWSTR, UINT, PVOID, UINT); 1705 BOOL SetupRemoveFromSourceListA(DWORD,PCSTR); | 1705 BOOL SetupRemoveFromSourceListA(DWORD, PCSTR); 1706 BOOL SetupRemoveFromSourceListW(DWORD,PCWSTR); | 1706 BOOL SetupRemoveFromSourceListW(DWORD, PCWSTR); 1707 BOOL SetupRemoveInstallSectionFromDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR | 1707 BOOL SetupRemoveInstallSectionFromDiskSpaceListA(HDSKSPC, HINF, HINF, PC 1708 BOOL SetupRemoveInstallSectionFromDiskSpaceListW(HDSKSPC,HINF,HINF,PCWST | 1708 BOOL SetupRemoveInstallSectionFromDiskSpaceListW(HDSKSPC, HINF, HINF, PC 1709 BOOL SetupRemoveSectionFromDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,UINT,P | 1709 BOOL SetupRemoveSectionFromDiskSpaceListA(HDSKSPC, HINF, HINF, PCSTR, UI 1710 BOOL SetupRemoveSectionFromDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,UINT, | 1710 BOOL SetupRemoveSectionFromDiskSpaceListW(HDSKSPC, HINF, HINF, PCWSTR, U 1711 UINT SetupRenameErrorA(HWND,PCSTR,PCSTR,PCSTR,UINT,DWORD); | 1711 UINT SetupRenameErrorA(HWND, PCSTR, PCSTR, PCSTR, UINT, DWORD); 1712 UINT SetupRenameErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD); | 1712 UINT SetupRenameErrorW(HWND, PCWSTR, PCWSTR, PCWSTR, UINT, DWORD); 1713 BOOL SetupScanFileQueueA(HSPFILEQ,DWORD,HWND,PSP_FILE_CALLBACK_A,PVOID,P | 1713 BOOL SetupScanFileQueueA(HSPFILEQ, DWORD, HWND, PSP_FILE_CALLBACK_A, PVO 1714 BOOL SetupScanFileQueueW(HSPFILEQ,DWORD,HWND,PSP_FILE_CALLBACK_W,PVOID,P | 1714 BOOL SetupScanFileQueueW(HSPFILEQ, DWORD, HWND, PSP_FILE_CALLBACK_W, PVO 1715 BOOL SetupSetDirectoryIdA(HINF,DWORD,PCSTR); | 1715 BOOL SetupSetDirectoryIdA(HINF, DWORD, PCSTR); 1716 BOOL SetupSetDirectoryIdW(HINF,DWORD,PCWSTR); | 1716 BOOL SetupSetDirectoryIdW(HINF, DWORD, PCWSTR); 1717 BOOL SetupSetDirectoryIdExA(HINF,DWORD,PCSTR,DWORD,DWORD,PVOID); | 1717 BOOL SetupSetDirectoryIdExA(HINF, DWORD, PCSTR, DWORD, DWORD, PVOID); 1718 BOOL SetupSetDirectoryIdExW(HINF,DWORD,PCWSTR,DWORD,DWORD,PVOID); | 1718 BOOL SetupSetDirectoryIdExW(HINF, DWORD, PCWSTR, DWORD, DWORD, PVOID); 1719 BOOL SetupSetFileQueueAlternatePlatformA(HSPFILEQ,PSP_ALTPLATFORM_INFO,P | 1719 BOOL SetupSetFileQueueAlternatePlatformA(HSPFILEQ, PSP_ALTPLATFORM_INFO, 1720 BOOL SetupSetFileQueueAlternatePlatformW(HSPFILEQ,PSP_ALTPLATFORM_INFO,P | 1720 BOOL SetupSetFileQueueAlternatePlatformW(HSPFILEQ, PSP_ALTPLATFORM_INFO, 1721 BOOL SetupSetPlatformPathOverrideA(PCSTR); 1721 BOOL SetupSetPlatformPathOverrideA(PCSTR); 1722 BOOL SetupSetPlatformPathOverrideW(PCWSTR); 1722 BOOL SetupSetPlatformPathOverrideW(PCWSTR); 1723 BOOL SetupSetSourceListA(DWORD,PCSTR*,UINT); | 1723 BOOL SetupSetSourceListA(DWORD, PCSTR*, UINT); 1724 BOOL SetupSetSourceListW(DWORD,PCWSTR*,UINT); | 1724 BOOL SetupSetSourceListW(DWORD, PCWSTR*, UINT); 1725 VOID SetupTermDefaultQueueCallback(PVOID); 1725 VOID SetupTermDefaultQueueCallback(PVOID); 1726 BOOL SetupTerminateFileLog(HSPFILELOG); 1726 BOOL SetupTerminateFileLog(HSPFILELOG); 1727 } 1727 } 1728 1728 1729 deprecated { 1729 deprecated { 1730 alias SetupDiCreateDeviceInterfaceW SetupDiCreateInterfaceDeviceW; 1730 alias SetupDiCreateDeviceInterfaceW SetupDiCreateInterfaceDeviceW; 1731 alias SetupDiCreateDeviceInterfaceRegKeyW SetupDiCreateInterfaceDeviceRe 1731 alias SetupDiCreateDeviceInterfaceRegKeyW SetupDiCreateInterfaceDeviceRe

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

5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * by Stewart Gordon * 7 * by Stewart Gordon * 8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.shellapi; 11 module win32.shellapi; 12 pragma(lib, "shell32.lib"); | 12 pragma(lib, "shell32"); 13 13 14 private import win32.w32api, win32.windef, win32.basetyps; 14 private import win32.w32api, win32.windef, win32.basetyps; 15 15 16 enum : UINT { 16 enum : UINT { 17 ABE_LEFT, 17 ABE_LEFT, 18 ABE_TOP, 18 ABE_TOP, 19 ABE_RIGHT, 19 ABE_RIGHT, ................................................................................................................................................................................ 51 ABM_GETTASKBARPOS, 51 ABM_GETTASKBARPOS, 52 ABM_ACTIVATE, 52 ABM_ACTIVATE, 53 ABM_GETAUTOHIDEBAR, 53 ABM_GETAUTOHIDEBAR, 54 ABM_SETAUTOHIDEBAR, 54 ABM_SETAUTOHIDEBAR, 55 ABM_WINDOWPOSCHANGED // = 9 55 ABM_WINDOWPOSCHANGED // = 9 56 } 56 } 57 57 58 static if (WINVER >= 0x501) { | 58 static if (_WIN32_WINNT >= 0x501) { 59 const DWORD ABM_SETSTATE = 10; 59 const DWORD ABM_SETSTATE = 10; 60 } 60 } 61 61 62 enum : UINT { 62 enum : UINT { 63 ABN_STATECHANGE, 63 ABN_STATECHANGE, 64 ABN_POSCHANGED, 64 ABN_POSCHANGED, 65 ABN_FULLSCREENAPP, 65 ABN_FULLSCREENAPP, ................................................................................................................................................................................ 112 } 112 } 113 113 114 const DWORD 114 const DWORD 115 NIS_HIDDEN = 1, 115 NIS_HIDDEN = 1, 116 NIS_SHAREDICON = 2; 116 NIS_SHAREDICON = 2; 117 117 118 const HINSTANCE 118 const HINSTANCE 119 SE_ERR_FNF = cast(HANDLE) 2, | 119 SE_ERR_FNF = cast(HINSTANCE) 2, 120 SE_ERR_PNF = cast(HANDLE) 3, | 120 SE_ERR_PNF = cast(HINSTANCE) 3, 121 SE_ERR_ACCESSDENIED = cast(HANDLE) 5, | 121 SE_ERR_ACCESSDENIED = cast(HINSTANCE) 5, 122 SE_ERR_OOM = cast(HANDLE) 8, | 122 SE_ERR_OOM = cast(HINSTANCE) 8, 123 SE_ERR_DLLNOTFOUND = cast(HANDLE) 32, | 123 SE_ERR_DLLNOTFOUND = cast(HINSTANCE) 32, 124 SE_ERR_SHARE = cast(HANDLE) 26, | 124 SE_ERR_SHARE = cast(HINSTANCE) 26, 125 SE_ERR_ASSOCINCOMPLETE = cast(HANDLE) 27, | 125 SE_ERR_ASSOCINCOMPLETE = cast(HINSTANCE) 27, 126 SE_ERR_DDETIMEOUT = cast(HANDLE) 28, | 126 SE_ERR_DDETIMEOUT = cast(HINSTANCE) 28, 127 SE_ERR_DDEFAIL = cast(HANDLE) 29, | 127 SE_ERR_DDEFAIL = cast(HINSTANCE) 29, 128 SE_ERR_DDEBUSY = cast(HANDLE) 30, | 128 SE_ERR_DDEBUSY = cast(HINSTANCE) 30, 129 SE_ERR_NOASSOC = cast(HANDLE) 31; | 129 SE_ERR_NOASSOC = cast(HINSTANCE) 31; 130 130 131 enum : UINT { 131 enum : UINT { 132 FO_MOVE = 1, 132 FO_MOVE = 1, 133 FO_COPY, 133 FO_COPY, 134 FO_DELETE, 134 FO_DELETE, 135 FO_RENAME 135 FO_RENAME 136 } 136 } ................................................................................................................................................................................ 170 SHGFI_ATTRIBUTES = 0x000800, 170 SHGFI_ATTRIBUTES = 0x000800, 171 SHGFI_ICONLOCATION = 0x001000, 171 SHGFI_ICONLOCATION = 0x001000, 172 SHGFI_EXETYPE = 0x002000, 172 SHGFI_EXETYPE = 0x002000, 173 SHGFI_SYSICONINDEX = 0x004000, 173 SHGFI_SYSICONINDEX = 0x004000, 174 SHGFI_LINKOVERLAY = 0x008000, 174 SHGFI_LINKOVERLAY = 0x008000, 175 SHGFI_SELECTED = 0x010000, 175 SHGFI_SELECTED = 0x010000, 176 SHGFI_ATTR_SPECIFIED = 0x020000; 176 SHGFI_ATTR_SPECIFIED = 0x020000; > 177 > 178 static if (_WIN32_IE >= 0x500) { > 179 const uint > 180 SHGFI_ADDOVERLAYS = 0x000020, > 181 SHGFI_OVERLAYINDEX = 0x000040; > 182 } 177 183 178 const SHERB_NOCONFIRMATION = 1; 184 const SHERB_NOCONFIRMATION = 1; 179 const SHERB_NOPROGRESSUI = 2; 185 const SHERB_NOPROGRESSUI = 2; 180 const SHERB_NOSOUND = 4; 186 const SHERB_NOSOUND = 4; 181 187 182 alias WORD FILEOP_FLAGS, PRINTEROP_FLAGS; 188 alias WORD FILEOP_FLAGS, PRINTEROP_FLAGS; 183 alias HANDLE HDROP; | 189 mixin DECLARE_HANDLE!("HDROP"); 184 190 185 align(2): 191 align(2): 186 192 187 struct APPBARDATA { 193 struct APPBARDATA { 188 DWORD cbSize = APPBARDATA.sizeof; 194 DWORD cbSize = APPBARDATA.sizeof; 189 HWND hWnd; 195 HWND hWnd; 190 UINT uCallbackMessage; 196 UINT uCallbackMessage; ................................................................................................................................................................................ 322 HICON hIcon; 328 HICON hIcon; 323 int iIcon; 329 int iIcon; 324 DWORD dwAttributes; 330 DWORD dwAttributes; 325 WCHAR[MAX_PATH] szDisplayName; 331 WCHAR[MAX_PATH] szDisplayName; 326 WCHAR[80] szTypeName; 332 WCHAR[80] szTypeName; 327 } 333 } 328 334 329 struct SHQUERYRBINFO { | 335 align(1) struct SHQUERYRBINFO { 330 DWORD cbSize = SHQUERYRBINFO.sizeof; 336 DWORD cbSize = SHQUERYRBINFO.sizeof; 331 long i64Size; 337 long i64Size; 332 long i64NumItems; 338 long i64NumItems; 333 } 339 } 334 alias SHQUERYRBINFO* LPSHQUERYRBINFO; 340 alias SHQUERYRBINFO* LPSHQUERYRBINFO; 335 341 336 extern (Windows) { 342 extern (Windows) {

Modified src/win32/shldisp.d from [c1af51274ab1ba01] to [123bd0ae840278fd].

11 11 12 private import win32.unknwn, win32.windef, win32.wtypes; 12 private import win32.unknwn, win32.windef, win32.wtypes; 13 13 14 // options for IAutoComplete2 14 // options for IAutoComplete2 15 const DWORD ACO_AUTOSUGGEST = 0x01; 15 const DWORD ACO_AUTOSUGGEST = 0x01; 16 16 17 interface IAutoComplete : IUnknown { 17 interface IAutoComplete : IUnknown { 18 HRESULT Init(HWND, IUnknown*, LPCOLESTR, LPCOLESTR); | 18 HRESULT Init(HWND, IUnknown, LPCOLESTR, LPCOLESTR); 19 HRESULT Enable(BOOL); 19 HRESULT Enable(BOOL); 20 } 20 } 21 alias IAutoComplete* LPAUTOCOMPLETE; | 21 alias IAutoComplete LPAUTOCOMPLETE; 22 22 23 interface IAutoComplete2 : IAutoComplete { 23 interface IAutoComplete2 : IAutoComplete { 24 HRESULT SetOptions(DWORD); 24 HRESULT SetOptions(DWORD); 25 HRESULT GetOptions(DWORD*); 25 HRESULT GetOptions(DWORD*); 26 } 26 } 27 alias IAutoComplete2* LPAUTOCOMPLETE2; | 27 alias IAutoComplete2 LPAUTOCOMPLETE2;

Modified src/win32/shlguid.d from [b28a9f2a219fc8a0] to [06ce3ccba3f30e45].

Modified src/win32/shlobj.d from [3b1d34f9e7047278] to [7df464c2cf7d0434].

1 /***********************************************************************\ 1 /***********************************************************************\ 2 * shlobj.d * 2 * shlobj.d * 3 * * 3 * * 4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * | 6 * Translated from MinGW API for MS-Windows 4.0 * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.shlobj; 10 module win32.shlobj; 11 pragma(lib, "shell32.lib"); | 11 pragma(lib, "shell32"); 12 12 13 // TODO: fix bitfields 13 // TODO: fix bitfields 14 // TODO: CMIC_VALID_SEE_FLAGS 14 // TODO: CMIC_VALID_SEE_FLAGS 15 // SHGetFolderPath in shfolder.dll on W9x, NT4, also in shell32.dll on W2K 15 // SHGetFolderPath in shfolder.dll on W9x, NT4, also in shell32.dll on W2K 16 16 17 import win32.commctrl, win32.ole2, win32.shlguid, win32.shellapi; 17 import win32.commctrl, win32.ole2, win32.shlguid, win32.shellapi; 18 private import win32.prsht, win32.unknwn, win32.w32api, win32.winbase, 18 private import win32.prsht, win32.unknwn, win32.w32api, win32.winbase, 19 win32.winnt, win32.winuser, win32.wtypes, win32.objfwd, win32.objidl; 19 win32.winnt, win32.winuser, win32.wtypes, win32.objfwd, win32.objidl; 20 private import win32.winnetwk; // for NETRESOURCE 20 private import win32.winnetwk; // for NETRESOURCE > 21 private import win32.oaidl : VARIANT; 21 22 22 23 23 // FIXME: clean up Windows version support 24 // FIXME: clean up Windows version support 24 25 25 align(1): 26 align(1): 26 27 27 const BIF_RETURNONLYFSDIRS = 1; 28 const BIF_RETURNONLYFSDIRS = 1; ................................................................................................................................................................................ 57 alias BFFM_SETSTATUSTEXTA BFFM_SETSTATUSTEXT; 58 alias BFFM_SETSTATUSTEXTA BFFM_SETSTATUSTEXT; 58 alias BFFM_SETSELECTIONA BFFM_SETSELECTION; 59 alias BFFM_SETSELECTIONA BFFM_SETSELECTION; 59 alias BFFM_VALIDATEFAILEDA BFFM_VALIDATEFAILED; 60 alias BFFM_VALIDATEFAILEDA BFFM_VALIDATEFAILED; 60 } 61 } 61 62 62 const DVASPECT_SHORTNAME = 2; 63 const DVASPECT_SHORTNAME = 2; 63 64 > 65 enum SHARD { 64 const SHARD_PIDL = 1; | 66 SHARD_PIDL = 1, 65 const SHARD_PATH = 2; | 67 SHARD_PATHA, > 68 SHARD_PATHW, > 69 SHARD_APPIDINFO, > 70 SHARD_APPIDINFOIDLIST, > 71 SHARD_LINK, > 72 SHARD_APPIDINFOLINK, > 73 SHARD_SHELLITEM, // = 8 > 74 SHARD_PATH = (_WIN32_UNICODE ? SHARD_PATHW : SHARD_PATHA) > 75 } 66 76 67 const SHCNE_RENAMEITEM = 1; 77 const SHCNE_RENAMEITEM = 1; 68 const SHCNE_CREATE = 2; 78 const SHCNE_CREATE = 2; 69 const SHCNE_DELETE = 4; 79 const SHCNE_DELETE = 4; 70 const SHCNE_MKDIR = 8; 80 const SHCNE_MKDIR = 8; 71 const SHCNE_RMDIR = 16; 81 const SHCNE_RMDIR = 16; 72 const SHCNE_MEDIAINSERTED = 32; 82 const SHCNE_MEDIAINSERTED = 32; ................................................................................................................................................................................ 103 alias SHCNF_PATHW SHCNF_PATH; 113 alias SHCNF_PATHW SHCNF_PATH; 104 alias SHCNF_PRINTERW SHCNF_PRINTER; 114 alias SHCNF_PRINTERW SHCNF_PRINTER; 105 } else { 115 } else { 106 alias SHCNF_PATHA SHCNF_PATH; 116 alias SHCNF_PATHA SHCNF_PATH; 107 alias SHCNF_PRINTERA SHCNF_PRINTER; 117 alias SHCNF_PRINTERA SHCNF_PRINTER; 108 } 118 } 109 119 > 120 enum SFGAOF : DWORD { 110 const SFGAO_CANCOPY = DROPEFFECT.DROPEFFECT_COPY; | 121 SFGAO_CANCOPY = DROPEFFECT.DROPEFFECT_COPY, 111 const SFGAO_CANMOVE = DROPEFFECT.DROPEFFECT_MOVE; | 122 SFGAO_CANMOVE = DROPEFFECT.DROPEFFECT_MOVE, 112 const SFGAO_CANLINK = DROPEFFECT.DROPEFFECT_LINK; | 123 SFGAO_CANLINK = DROPEFFECT.DROPEFFECT_LINK, 113 const SFGAO_CANRENAME = 0x00000010L; | 124 SFGAO_CANRENAME = 0x00000010L, 114 const SFGAO_CANDELETE = 0x00000020L; | 125 SFGAO_CANDELETE = 0x00000020L, 115 const SFGAO_HASPROPSHEET = 0x00000040L; | 126 SFGAO_HASPROPSHEET = 0x00000040L, 116 const SFGAO_DROPTARGET = 0x00000100L; | 127 SFGAO_DROPTARGET = 0x00000100L, 117 const SFGAO_CAPABILITYMASK = 0x00000177L; | 128 SFGAO_CAPABILITYMASK = 0x00000177L, > 129 SFGAO_ISSLOW = 0x00004000L, 118 const SFGAO_GHOSTED = 0x00008000L; | 130 SFGAO_GHOSTED = 0x00008000L, 119 const SFGAO_LINK = 0x00010000L; | 131 SFGAO_LINK = 0x00010000L, 120 const SFGAO_SHARE = 0x00020000L; | 132 SFGAO_SHARE = 0x00020000L, 121 const SFGAO_READONLY = 0x00040000L; | 133 SFGAO_READONLY = 0x00040000L, 122 const SFGAO_HIDDEN = 0x00080000L; | 134 SFGAO_HIDDEN = 0x00080000L, 123 const SFGAO_DISPLAYATTRMASK = 0x000F0000L; | 135 SFGAO_DISPLAYATTRMASK = (SFGAO_ISSLOW | SFGAO_GHOSTED | SFGAO_LINK > 136 | SFGAO_SHARE | SFGAO_READONLY | SFGAO_HIDDEN), 124 const SFGAO_FILESYSANCESTOR = 0x10000000L; | 137 SFGAO_FILESYSANCESTOR = 0x10000000L, 125 const SFGAO_FOLDER = 0x20000000L; | 138 SFGAO_FOLDER = 0x20000000L, 126 const SFGAO_FILESYSTEM = 0x40000000L; | 139 SFGAO_FILESYSTEM = 0x40000000L, 127 const SFGAO_HASSUBFOLDER = 0x80000000L; | 140 SFGAO_HASSUBFOLDER = 0x80000000L, 128 const SFGAO_CONTENTSMASK = 0x80000000L; | 141 SFGAO_CONTENTSMASK = 0x80000000L, 129 const SFGAO_VALIDATE = 0x01000000L; | 142 SFGAO_VALIDATE = 0x01000000L, 130 const SFGAO_REMOVABLE = 0x02000000L; | 143 SFGAO_REMOVABLE = 0x02000000L, 131 const SFGAO_COMPRESSED = 0x04000000L; | 144 SFGAO_COMPRESSED = 0x04000000L > 145 } 132 const STRRET_WSTR = 0; 146 const STRRET_WSTR = 0; 133 const STRRET_OFFSET = 1; 147 const STRRET_OFFSET = 1; 134 const STRRET_CSTR = 2; 148 const STRRET_CSTR = 2; 135 149 136 enum { 150 enum { 137 SHGDFIL_FINDDATA = 1, 151 SHGDFIL_FINDDATA = 1, 138 SHGDFIL_NETRESOURCE, 152 SHGDFIL_NETRESOURCE, ................................................................................................................................................................................ 159 SHDID_NET_OTHER 173 SHDID_NET_OTHER 160 } 174 } 161 175 162 const TCHAR[] REGSTR_PATH_EXPLORER = "Software\\Microsoft\\Windows\\CurrentVersi 176 const TCHAR[] REGSTR_PATH_EXPLORER = "Software\\Microsoft\\Windows\\CurrentVersi 163 const TCHAR[] REGSTR_PATH_SPECIAL_FOLDERS=REGSTR_PATH_EXPLORER ~ "\\Shell Folder 177 const TCHAR[] REGSTR_PATH_SPECIAL_FOLDERS=REGSTR_PATH_EXPLORER ~ "\\Shell Folder 164 178 165 enum { 179 enum { 166 CSIDL_DESKTOP = 0, | 180 CSIDL_DESKTOP = 0, 167 CSIDL_INTERNET, 181 CSIDL_INTERNET, 168 CSIDL_PROGRAMS, 182 CSIDL_PROGRAMS, 169 CSIDL_CONTROLS, 183 CSIDL_CONTROLS, 170 CSIDL_PRINTERS, 184 CSIDL_PRINTERS, 171 CSIDL_PERSONAL, 185 CSIDL_PERSONAL, 172 CSIDL_FAVORITES, 186 CSIDL_FAVORITES, 173 CSIDL_STARTUP, 187 CSIDL_STARTUP, 174 CSIDL_RECENT, 188 CSIDL_RECENT, 175 CSIDL_SENDTO, 189 CSIDL_SENDTO, 176 CSIDL_BITBUCKET, 190 CSIDL_BITBUCKET, 177 CSIDL_STARTMENU, // = 11 | 191 CSIDL_STARTMENU, // = 11 > 192 CSIDL_MYMUSIC = 13, > 193 CSIDL_MYVIDEO, // = 14 178 CSIDL_DESKTOPDIRECTORY = 16, | 194 CSIDL_DESKTOPDIRECTORY = 16, 179 CSIDL_DRIVES, 195 CSIDL_DRIVES, 180 CSIDL_NETWORK, 196 CSIDL_NETWORK, 181 CSIDL_NETHOOD, 197 CSIDL_NETHOOD, 182 CSIDL_FONTS, 198 CSIDL_FONTS, 183 CSIDL_TEMPLATES, 199 CSIDL_TEMPLATES, 184 CSIDL_COMMON_STARTMENU, 200 CSIDL_COMMON_STARTMENU, 185 CSIDL_COMMON_PROGRAMS, 201 CSIDL_COMMON_PROGRAMS, ................................................................................................................................................................................ 204 CSIDL_PROGRAM_FILESX86, 220 CSIDL_PROGRAM_FILESX86, 205 CSIDL_PROGRAM_FILES_COMMON, 221 CSIDL_PROGRAM_FILES_COMMON, 206 CSIDL_PROGRAM_FILES_COMMONX86, 222 CSIDL_PROGRAM_FILES_COMMONX86, 207 CSIDL_COMMON_TEMPLATES, 223 CSIDL_COMMON_TEMPLATES, 208 CSIDL_COMMON_DOCUMENTS, 224 CSIDL_COMMON_DOCUMENTS, 209 CSIDL_COMMON_ADMINTOOLS, 225 CSIDL_COMMON_ADMINTOOLS, 210 CSIDL_ADMINTOOLS, 226 CSIDL_ADMINTOOLS, 211 CSIDL_CONNECTIONS, // =49 | 227 CSIDL_CONNECTIONS, // = 49 212 CSIDL_COMMON_MUSIC = 53, | 228 CSIDL_COMMON_MUSIC = 53, 213 CSIDL_COMMON_PICTURES, 229 CSIDL_COMMON_PICTURES, 214 CSIDL_COMMON_VIDEO, 230 CSIDL_COMMON_VIDEO, 215 CSIDL_RESOURCES, 231 CSIDL_RESOURCES, 216 CSIDL_RESOURCES_LOCALIZED, 232 CSIDL_RESOURCES_LOCALIZED, 217 CSIDL_COMMON_OEM_LINKS, 233 CSIDL_COMMON_OEM_LINKS, 218 CSIDL_CDBURN_AREA, // = 59 | 234 CSIDL_CDBURN_AREA, // = 59 219 CSIDL_COMPUTERSNEARME = 61, | 235 CSIDL_COMPUTERSNEARME = 61, 220 CSIDL_FLAG_DONT_VERIFY = 0x4000, 236 CSIDL_FLAG_DONT_VERIFY = 0x4000, 221 CSIDL_FLAG_CREATE = 0x8000, | 237 CSIDL_FLAG_CREATE = 0x8000, 222 CSIDL_FLAG_MASK = 0xFF00 | 238 CSIDL_FLAG_MASK = 0xFF00 223 } 239 } 224 240 225 const TCHAR[] 241 const TCHAR[] 226 CFSTR_SHELLIDLIST = "Shell IDList Array", 242 CFSTR_SHELLIDLIST = "Shell IDList Array", 227 CFSTR_SHELLIDLISTOFFSET = "Shell Object Offsets", 243 CFSTR_SHELLIDLISTOFFSET = "Shell Object Offsets", 228 CFSTR_NETRESOURCES = "Net Resource", 244 CFSTR_NETRESOURCES = "Net Resource", 229 CFSTR_FILECONTENTS = "FileContents", 245 CFSTR_FILECONTENTS = "FileContents", ................................................................................................................................................................................ 364 const SVGIO_BACKGROUND=0; 380 const SVGIO_BACKGROUND=0; 365 const SVGIO_SELECTION=1; 381 const SVGIO_SELECTION=1; 366 const SVGIO_ALLVIEW=2; 382 const SVGIO_ALLVIEW=2; 367 383 368 const UINT SV2GV_CURRENTVIEW=-1; 384 const UINT SV2GV_CURRENTVIEW=-1; 369 const UINT SV2GV_DEFAULTVIEW=-2; 385 const UINT SV2GV_DEFAULTVIEW=-2; 370 386 371 alias ULONG SFGAOF; < 372 alias DWORD SHGDNF; 387 alias DWORD SHGDNF; 373 388 374 struct CIDA { 389 struct CIDA { 375 UINT cidl; 390 UINT cidl; 376 UINT[1] aoffset; 391 UINT[1] aoffset; 377 } 392 } 378 alias CIDA* LPIDA; 393 alias CIDA* LPIDA; 379 394 380 struct SHITEMID { 395 struct SHITEMID { 381 USHORT cb; 396 USHORT cb; 382 BYTE[1] abID; 397 BYTE[1] abID; 383 } 398 } 384 alias SHITEMID* LPSHITEMID; | 399 alias SHITEMID* LPSHITEMID; 385 alias CPtr!(SHITEMID) LPCSHITEMID; | 400 alias const(SHITEMID)* LPCSHITEMID; 386 401 387 struct ITEMIDLIST { 402 struct ITEMIDLIST { 388 SHITEMID mkid; 403 SHITEMID mkid; 389 } 404 } 390 alias ITEMIDLIST* LPITEMIDLIST; | 405 alias ITEMIDLIST* LPITEMIDLIST; 391 alias CPtr!(ITEMIDLIST) LPCITEMIDLIST; | 406 alias const(ITEMIDLIST)* LPCITEMIDLIST; 392 407 393 alias int function(HWND,UINT,LPARAM,LPARAM) BFFCALLBACK; | 408 alias int function(HWND, UINT, LPARAM, LPARAM) BFFCALLBACK; 394 409 395 struct BROWSEINFOA { 410 struct BROWSEINFOA { 396 HWND hwndOwner; 411 HWND hwndOwner; 397 LPCITEMIDLIST pidlRoot; 412 LPCITEMIDLIST pidlRoot; 398 LPSTR pszDisplayName; 413 LPSTR pszDisplayName; 399 LPCSTR lpszTitle; 414 LPCSTR lpszTitle; 400 UINT ulFlags; 415 UINT ulFlags; ................................................................................................................................................................................ 457 } 472 } 458 473 459 struct STRRET { 474 struct STRRET { 460 UINT uType; 475 UINT uType; 461 union { 476 union { 462 LPWSTR pOleStr; 477 LPWSTR pOleStr; 463 UINT uOffset; 478 UINT uOffset; 464 char cStr[MAX_PATH]; | 479 char[MAX_PATH] cStr; 465 } 480 } 466 } 481 } 467 alias STRRET* LPSTRRET; 482 alias STRRET* LPSTRRET; 468 483 469 enum FD_FLAGS { 484 enum FD_FLAGS { 470 FD_CLSID = 1, 485 FD_CLSID = 1, 471 FD_SIZEPOINT = 2, 486 FD_SIZEPOINT = 2, ................................................................................................................................................................................ 484 POINTL pointl; 499 POINTL pointl; 485 DWORD dwFileAttributes; 500 DWORD dwFileAttributes; 486 FILETIME ftCreationTime; 501 FILETIME ftCreationTime; 487 FILETIME ftLastAccessTime; 502 FILETIME ftLastAccessTime; 488 FILETIME ftLastWriteTime; 503 FILETIME ftLastWriteTime; 489 DWORD nFileSizeHigh; 504 DWORD nFileSizeHigh; 490 DWORD nFileSizeLow; 505 DWORD nFileSizeLow; 491 CHAR cFileName[MAX_PATH]; | 506 CHAR[MAX_PATH] cFileName; 492 } 507 } 493 alias FILEDESCRIPTORA* LPFILEDESCRIPTORA; 508 alias FILEDESCRIPTORA* LPFILEDESCRIPTORA; 494 509 495 struct FILEDESCRIPTORW { 510 struct FILEDESCRIPTORW { 496 DWORD dwFlags; 511 DWORD dwFlags; 497 CLSID clsid; 512 CLSID clsid; 498 SIZEL sizel; 513 SIZEL sizel; ................................................................................................................................................................................ 499 POINTL pointl; 514 POINTL pointl; 500 DWORD dwFileAttributes; 515 DWORD dwFileAttributes; 501 FILETIME ftCreationTime; 516 FILETIME ftCreationTime; 502 FILETIME ftLastAccessTime; 517 FILETIME ftLastAccessTime; 503 FILETIME ftLastWriteTime; 518 FILETIME ftLastWriteTime; 504 DWORD nFileSizeHigh; 519 DWORD nFileSizeHigh; 505 DWORD nFileSizeLow; 520 DWORD nFileSizeLow; 506 WCHAR cFileName[MAX_PATH]; | 521 WCHAR[MAX_PATH] cFileName; 507 } 522 } 508 alias FILEDESCRIPTORW* LPFILEDESCRIPTORW; 523 alias FILEDESCRIPTORW* LPFILEDESCRIPTORW; 509 524 510 struct FILEGROUPDESCRIPTORA { 525 struct FILEGROUPDESCRIPTORA { 511 UINT cItems; 526 UINT cItems; 512 FILEDESCRIPTORA fgd[1]; | 527 FILEDESCRIPTORA[1] fgd; 513 } 528 } 514 alias FILEGROUPDESCRIPTORA* LPFILEGROUPDESCRIPTORA; 529 alias FILEGROUPDESCRIPTORA* LPFILEGROUPDESCRIPTORA; 515 530 516 struct FILEGROUPDESCRIPTORW { 531 struct FILEGROUPDESCRIPTORW { 517 UINT cItems; 532 UINT cItems; 518 FILEDESCRIPTORW fgd[1]; | 533 FILEDESCRIPTORW[1] fgd; 519 } 534 } 520 alias FILEGROUPDESCRIPTORW* LPFILEGROUPDESCRIPTORW; 535 alias FILEGROUPDESCRIPTORW* LPFILEGROUPDESCRIPTORW; 521 536 522 enum SLR_FLAGS { 537 enum SLR_FLAGS { 523 SLR_NO_UI = 1, 538 SLR_NO_UI = 1, 524 SLR_ANY_MATCH = 2, 539 SLR_ANY_MATCH = 2, 525 SLR_UPDATE = 4, 540 SLR_UPDATE = 4, ................................................................................................................................................................................ 561 FVM_DETAILS 576 FVM_DETAILS 562 } 577 } 563 578 564 struct FOLDERSETTINGS { 579 struct FOLDERSETTINGS { 565 UINT ViewMode; 580 UINT ViewMode; 566 UINT fFlags; 581 UINT fFlags; 567 } 582 } 568 alias FOLDERSETTINGS* LPFOLDERSETTINGS; | 583 alias FOLDERSETTINGS* LPFOLDERSETTINGS; 569 alias CPtr!(FOLDERSETTINGS) LPCFOLDERSETTINGS; | 584 alias const(FOLDERSETTINGS)* LPCFOLDERSETTINGS; 570 585 571 struct FVSHOWINFO { 586 struct FVSHOWINFO { 572 DWORD cbSize = this.sizeof; 587 DWORD cbSize = this.sizeof; 573 HWND hwndOwner; 588 HWND hwndOwner; 574 int iShow; 589 int iShow; 575 DWORD dwFlags; 590 DWORD dwFlags; 576 RECT rect; 591 RECT rect; 577 LPUNKNOWN punkRel; 592 LPUNKNOWN punkRel; 578 OLECHAR strNewFile[MAX_PATH]; | 593 OLECHAR[MAX_PATH] strNewFile; 579 } 594 } 580 alias FVSHOWINFO* LPFVSHOWINFO; 595 alias FVSHOWINFO* LPFVSHOWINFO; 581 596 582 struct NRESARRAY { 597 struct NRESARRAY { 583 UINT cItems; 598 UINT cItems; 584 NETRESOURCE nr[1]; | 599 NETRESOURCE[1] nr; 585 } 600 } 586 alias NRESARRAY* LPNRESARRAY; 601 alias NRESARRAY* LPNRESARRAY; 587 602 588 enum { 603 enum { 589 SBSC_HIDE, 604 SBSC_HIDE, 590 SBSC_SHOW, 605 SBSC_SHOW, 591 SBSC_TOGGLE, 606 SBSC_TOGGLE, ................................................................................................................................................................................ 604 enum SVUIA_STATUS { 619 enum SVUIA_STATUS { 605 SVUIA_DEACTIVATE, 620 SVUIA_DEACTIVATE, 606 SVUIA_ACTIVATE_NOFOCUS, 621 SVUIA_ACTIVATE_NOFOCUS, 607 SVUIA_ACTIVATE_FOCUS, 622 SVUIA_ACTIVATE_FOCUS, 608 SVUIA_INPLACEACTIVATE 623 SVUIA_INPLACEACTIVATE 609 } 624 } 610 625 611 static if (_WIN32_IE >= 0x0500) { | 626 static if (_WIN32_IE >= 0x500) { 612 627 613 struct EXTRASEARCH 628 struct EXTRASEARCH 614 { 629 { 615 GUID guidSearch; 630 GUID guidSearch; 616 WCHAR wszFriendlyName[80]; | 631 WCHAR[80] wszFriendlyName; 617 WCHAR wszUrl[2084]; | 632 WCHAR[2084] wszUrl; 618 } 633 } 619 alias EXTRASEARCH* LPEXTRASEARCH; 634 alias EXTRASEARCH* LPEXTRASEARCH; 620 635 621 alias DWORD SHCOLSTATEF; 636 alias DWORD SHCOLSTATEF; 622 637 623 struct SHCOLUMNID { 638 struct SHCOLUMNID { 624 GUID fmtid; 639 GUID fmtid; 625 DWORD pid; 640 DWORD pid; 626 } 641 } 627 alias SHCOLUMNID* LPSHCOLUMNID; | 642 alias SHCOLUMNID* LPSHCOLUMNID; 628 alias CPtr!(SHCOLUMNID) LPCSHCOLUMNID; | 643 alias const(SHCOLUMNID)* LPCSHCOLUMNID; 629 644 630 struct SHELLDETAILS { 645 struct SHELLDETAILS { 631 int fmt; 646 int fmt; 632 int cxChar; 647 int cxChar; 633 STRRET str; 648 STRRET str; 634 } 649 } 635 alias SHELLDETAILS* LPSHELLDETAILS; 650 alias SHELLDETAILS* LPSHELLDETAILS; 636 651 637 struct PERSIST_FOLDER_TARGET_INFO 652 struct PERSIST_FOLDER_TARGET_INFO 638 { 653 { 639 LPITEMIDLIST pidlTargetFolder; 654 LPITEMIDLIST pidlTargetFolder; 640 WCHAR szTargetParsingName[MAX_PATH]; | 655 WCHAR[MAX_PATH] szTargetParsingName; 641 WCHAR szNetworkProvider[MAX_PATH]; | 656 WCHAR[MAX_PATH] szNetworkProvider; 642 DWORD dwAttributes; 657 DWORD dwAttributes; 643 int csidl; 658 int csidl; 644 } 659 } 645 660 646 enum SHGFP_TYPE { 661 enum SHGFP_TYPE { 647 SHGFP_TYPE_CURRENT = 0, 662 SHGFP_TYPE_CURRENT = 0, 648 SHGFP_TYPE_DEFAULT = 1, 663 SHGFP_TYPE_DEFAULT = 1, 649 } 664 } 650 665 651 } 666 } 652 667 653 interface IEnumIDList: IUnknown | 668 interface IEnumIDList : IUnknown { 654 { < 655 HRESULT QueryInterface(REFIID,PVOID*); < 656 ULONG AddRef(); < 657 ULONG Release(); < 658 HRESULT Next(ULONG,LPITEMIDLIST*,ULONG*); | 669 HRESULT Next(ULONG, LPITEMIDLIST*, ULONG*); 659 HRESULT Skip(ULONG); 670 HRESULT Skip(ULONG); 660 HRESULT Reset(); 671 HRESULT Reset(); 661 HRESULT Clone(IEnumIDList**); | 672 HRESULT Clone(IEnumIDList*); 662 } 673 } 663 alias IEnumIDList *LPENUMIDLIST; | 674 alias IEnumIDList LPENUMIDLIST; 664 675 665 interface IObjMgr : IUnknown | 676 interface IObjMgr : IUnknown { 666 { < 667 HRESULT QueryInterface(REFIID,PVOID*); < 668 ULONG AddRef(); < 669 ULONG Release(); < 670 HRESULT Append(IUnknown*); | 677 HRESULT Append(IUnknown); 671 HRESULT Remove(IUnknown*); | 678 HRESULT Remove(IUnknown); 672 } 679 } 673 680 674 interface IContextMenu : IUnknown | 681 interface IContextMenu : IUnknown { 675 { < 676 HRESULT QueryInterface(REFIID,PVOID*); < 677 ULONG AddRef(); < 678 ULONG Release(); < 679 HRESULT QueryContextMenu(HMENU,UINT,UINT,UINT,UINT); | 682 HRESULT QueryContextMenu(HMENU, UINT, UINT, UINT, UINT); 680 HRESULT InvokeCommand(LPCMINVOKECOMMANDINFO); 683 HRESULT InvokeCommand(LPCMINVOKECOMMANDINFO); 681 HRESULT GetCommandString(UINT,UINT,PUINT,LPSTR,UINT); | 684 HRESULT GetCommandString(UINT, UINT, PUINT, LPSTR, UINT); 682 } 685 } 683 alias IContextMenu* LPCONTEXTMENU; | 686 alias IContextMenu LPCONTEXTMENU; 684 687 685 interface IContextMenu2 : IContextMenu | 688 interface IContextMenu2 : IContextMenu { 686 { < 687 HRESULT QueryInterface(REFIID,PVOID*); < 688 ULONG AddRef(); < 689 ULONG Release(); < 690 HRESULT QueryContextMenu(HMENU,UINT,UINT,UINT,UINT); < 691 HRESULT InvokeCommand(LPCMINVOKECOMMANDINFO); < 692 HRESULT GetCommandString(UINT,UINT,PUINT,LPSTR,UINT); < 693 HRESULT HandleMenuMsg(UINT,WPARAM,LPARAM); | 689 HRESULT HandleMenuMsg(UINT, WPARAM, LPARAM); 694 }; 690 }; 695 alias IContextMenu2* LPCONTEXTMENU2; | 691 alias IContextMenu2 LPCONTEXTMENU2; 696 | 692 697 static if (_WIN32_IE >= 0x0500) { | 693 static if (_WIN32_IE >= 0x500) { 698 < 699 align(8): | 694 align(8) { 700 struct SHCOLUMNINIT { | 695 struct SHCOLUMNINIT { 701 ULONG dwFlags; | 696 ULONG dwFlags; 702 ULONG dwReserved; | 697 ULONG dwReserved; 703 WCHAR wszFolder[MAX_PATH]; | 698 WCHAR[MAX_PATH] wszFolder; 704 } | 699 } 705 alias SHCOLUMNINIT* LPSHCOLUMNINIT; | 700 alias SHCOLUMNINIT* LPSHCOLUMNINIT; 706 alias CPtr!(SHCOLUMNINIT) LPCSHCOLUMNINIT; | 701 alias const(SHCOLUMNINIT)* LPCSHCOLUMNINIT; 707 | 702 708 struct SHCOLUMNDATA { | 703 struct SHCOLUMNDATA { 709 ULONG dwFlags; | 704 ULONG dwFlags; 710 DWORD dwFileAttributes; | 705 DWORD dwFileAttributes; 711 ULONG dwReserved; | 706 ULONG dwReserved; 712 WCHAR *pwszExt; | 707 WCHAR *pwszExt; 713 WCHAR wszFile[MAX_PATH]; | 708 WCHAR[MAX_PATH] wszFile; 714 } | 709 } 715 alias SHCOLUMNDATA* LPSHCOLUMNDATA; | 710 alias SHCOLUMNDATA* LPSHCOLUMNDATA; 716 alias CPtr!(SHCOLUMNDATA) LPCSHCOLUMNDATA; | 711 alias const(SHCOLUMNDATA)* LPCSHCOLUMNDATA; 717 align: < > 712 } 718 713 719 const MAX_COLUMN_NAME_LEN = 80; 714 const MAX_COLUMN_NAME_LEN = 80; 720 const MAX_COLUMN_DESC_LEN = 128; 715 const MAX_COLUMN_DESC_LEN = 128; 721 716 722 align(1): < 723 struct SHCOLUMNINFO { | 717 align(1) struct SHCOLUMNINFO { 724 SHCOLUMNID scid; 718 SHCOLUMNID scid; 725 VARTYPE vt; 719 VARTYPE vt; 726 DWORD fmt; 720 DWORD fmt; 727 UINT cChars; 721 UINT cChars; 728 DWORD csFlags; 722 DWORD csFlags; 729 WCHAR wszTitle[MAX_COLUMN_NAME_LEN]; | 723 WCHAR[MAX_COLUMN_NAME_LEN] wszTitle; 730 WCHAR wszDescription[MAX_COLUMN_DESC_LEN]; | 724 WCHAR[MAX_COLUMN_DESC_LEN] wszDescription; 731 } 725 } 732 alias SHCOLUMNINFO* LPSHCOLUMNINFO; | 726 alias SHCOLUMNINFO* LPSHCOLUMNINFO; 733 alias CPtr!(SHCOLUMNINFO) LPCSHCOLUMNINFO; | 727 alias const(SHCOLUMNINFO)* LPCSHCOLUMNINFO; 734 align: < 735 728 736 enum SHCOLSTATE { 729 enum SHCOLSTATE { 737 SHCOLSTATE_TYPE_STR = 0x00000001, 730 SHCOLSTATE_TYPE_STR = 0x00000001, 738 SHCOLSTATE_TYPE_INT = 0x00000002, 731 SHCOLSTATE_TYPE_INT = 0x00000002, 739 SHCOLSTATE_TYPE_DATE = 0x00000003, 732 SHCOLSTATE_TYPE_DATE = 0x00000003, 740 SHCOLSTATE_TYPEMASK = 0x0000000f, 733 SHCOLSTATE_TYPEMASK = 0x0000000f, 741 SHCOLSTATE_ONBYDEFAULT = 0x00000010, 734 SHCOLSTATE_ONBYDEFAULT = 0x00000010, ................................................................................................................................................................................ 742 SHCOLSTATE_SLOW = 0x00000020, 735 SHCOLSTATE_SLOW = 0x00000020, 743 SHCOLSTATE_EXTENDED = 0x00000040, 736 SHCOLSTATE_EXTENDED = 0x00000040, 744 SHCOLSTATE_SECONDARYUI = 0x00000080, 737 SHCOLSTATE_SECONDARYUI = 0x00000080, 745 SHCOLSTATE_HIDDEN = 0x00000100, 738 SHCOLSTATE_HIDDEN = 0x00000100, 746 SHCOLSTATE_PREFER_VARCMP = 0x00000200 739 SHCOLSTATE_PREFER_VARCMP = 0x00000200 747 } 740 } 748 741 749 interface IColumnProvider : IUnknown | 742 interface IColumnProvider : IUnknown { 750 { < 751 HRESULT QueryInterface(REFIID,PVOID*); < 752 ULONG AddRef(); < 753 ULONG Release(); < 754 HRESULT Initialize(LPCSHCOLUMNINIT); 743 HRESULT Initialize(LPCSHCOLUMNINIT); 755 HRESULT GetColumnInfo(DWORD,SHCOLUMNINFO*); | 744 HRESULT GetColumnInfo(DWORD, SHCOLUMNINFO*); 756 HRESULT GetItemData(LPCSHCOLUMNID,LPCSHCOLUMNDATA,VARIANT*); | 745 HRESULT GetItemData(LPCSHCOLUMNID, LPCSHCOLUMNDATA, VARIANT*); 757 } 746 } 758 }/* _WIN32_IE >= 0x0500 */ | 747 }/* _WIN32_IE >= 0x500 */ 759 748 760 interface IQueryInfo : IUnknown | 749 interface IQueryInfo : IUnknown { 761 { < 762 HRESULT QueryInterface(REFIID,PVOID*); < 763 ULONG AddRef(); < 764 ULONG Release(); < 765 HRESULT GetInfoTip(DWORD,WCHAR**); | 750 HRESULT GetInfoTip(DWORD, WCHAR**); 766 HRESULT GetInfoFlags(DWORD*); 751 HRESULT GetInfoFlags(DWORD*); 767 } 752 } 768 753 769 interface IShellExtInit : IUnknown | 754 interface IShellExtInit : IUnknown { 770 { < 771 HRESULT QueryInterface(REFIID,PVOID*); < 772 ULONG AddRef(); < 773 ULONG Release(); < 774 HRESULT Initialize(LPCITEMIDLIST,LPDATAOBJECT,HKEY); | 755 HRESULT Initialize(LPCITEMIDLIST, LPDATAOBJECT, HKEY); 775 } 756 } 776 alias IShellExtInit *LPSHELLEXTINIT; | 757 alias IShellExtInit LPSHELLEXTINIT; 777 758 778 interface IShellPropSheetExt : IUnknown | 759 interface IShellPropSheetExt : IUnknown { 779 { < 780 HRESULT QueryInterface(REFIID,PVOID*); < 781 ULONG AddRef(); < 782 ULONG Release(); < 783 HRESULT AddPages(LPFNADDPROPSHEETPAGE,LPARAM); | 760 HRESULT AddPages(LPFNADDPROPSHEETPAGE, LPARAM); 784 HRESULT ReplacePage(UINT,LPFNADDPROPSHEETPAGE,LPARAM); | 761 HRESULT ReplacePage(UINT, LPFNADDPROPSHEETPAGE, LPARAM); 785 } 762 } 786 alias IShellPropSheetExt *LPSHELLPROPSHEETEXT; | 763 alias IShellPropSheetExt LPSHELLPROPSHEETEXT; 787 764 788 interface IExtractIconA : IUnknown | 765 interface IExtractIconA : IUnknown { 789 { < 790 HRESULT QueryInterface(REFIID,PVOID*); < 791 ULONG AddRef(); < 792 ULONG Release(); < 793 HRESULT GetIconLocation(UINT,LPSTR,UINT,int*,PUINT); | 766 HRESULT GetIconLocation(UINT, LPSTR, UINT, int*, PUINT); 794 HRESULT Extract(LPCSTR,UINT,HICON*,HICON*,UINT); | 767 HRESULT Extract(LPCSTR, UINT, HICON*, HICON*, UINT); 795 }; 768 }; 796 alias IExtractIconA *LPEXTRACTICONA; | 769 alias IExtractIconA LPEXTRACTICONA; 797 770 798 interface IExtractIconW : IUnknown | 771 interface IExtractIconW : IUnknown { 799 { < 800 HRESULT QueryInterface(REFIID,PVOID*); < 801 ULONG AddRef(); < 802 ULONG Release(); < 803 HRESULT GetIconLocation(UINT,LPWSTR,UINT,int*,PUINT); | 772 HRESULT GetIconLocation(UINT, LPWSTR, UINT, int*, PUINT); 804 HRESULT Extract(LPCWSTR,UINT,HICON*,HICON*,UINT); | 773 HRESULT Extract(LPCWSTR, UINT, HICON*, HICON*, UINT); 805 } 774 } 806 alias IExtractIconW *LPEXTRACTICONW; | 775 alias IExtractIconW LPEXTRACTICONW; 807 776 808 version(Unicode) { 777 version(Unicode) { 809 alias IExtractIconW IExtractIcon; 778 alias IExtractIconW IExtractIcon; 810 alias LPEXTRACTICONW LPEXTRACTICON; 779 alias LPEXTRACTICONW LPEXTRACTICON; 811 } else { 780 } else { 812 alias IExtractIconA IExtractIcon; 781 alias IExtractIconA IExtractIcon; 813 alias LPEXTRACTICONA LPEXTRACTICON; 782 alias LPEXTRACTICONA LPEXTRACTICON; 814 } 783 } 815 784 816 interface IShellLinkA : IUnknown | 785 interface IShellLinkA : IUnknown { 817 { < 818 HRESULT QueryInterface(REFIID,PVOID*); < 819 ULONG AddRef(); < 820 ULONG Release(); < 821 HRESULT GetPath(LPSTR,int,WIN32_FIND_DATAA*,DWORD); | 786 HRESULT GetPath(LPSTR, int, WIN32_FIND_DATAA*, DWORD); 822 HRESULT GetIDList(LPITEMIDLIST*); 787 HRESULT GetIDList(LPITEMIDLIST*); 823 HRESULT SetIDList(LPCITEMIDLIST); 788 HRESULT SetIDList(LPCITEMIDLIST); 824 HRESULT GetDescription(LPSTR,int); | 789 HRESULT GetDescription(LPSTR, int); 825 HRESULT SetDescription(LPCSTR); 790 HRESULT SetDescription(LPCSTR); 826 HRESULT GetWorkingDirectory(LPSTR,int); | 791 HRESULT GetWorkingDirectory(LPSTR, int); 827 HRESULT SetWorkingDirectory(LPCSTR); 792 HRESULT SetWorkingDirectory(LPCSTR); 828 HRESULT GetArguments(LPSTR,int); | 793 HRESULT GetArguments(LPSTR, int); 829 HRESULT SetArguments(LPCSTR); 794 HRESULT SetArguments(LPCSTR); 830 HRESULT GetHotkey(PWORD); 795 HRESULT GetHotkey(PWORD); 831 HRESULT SetHotkey(WORD); 796 HRESULT SetHotkey(WORD); 832 HRESULT GetShowCmd(int*); 797 HRESULT GetShowCmd(int*); 833 HRESULT SetShowCmd(int); 798 HRESULT SetShowCmd(int); 834 HRESULT GetIconLocation(LPSTR,int,int*); | 799 HRESULT GetIconLocation(LPSTR, int, int*); 835 HRESULT SetIconLocation(LPCSTR,int); | 800 HRESULT SetIconLocation(LPCSTR, int); 836 HRESULT SetRelativePath(LPCSTR ,DWORD); | 801 HRESULT SetRelativePath(LPCSTR , DWORD); 837 HRESULT Resolve(HWND,DWORD); | 802 HRESULT Resolve(HWND, DWORD); 838 HRESULT SetPath(LPCSTR); 803 HRESULT SetPath(LPCSTR); 839 } 804 } 840 805 841 interface IShellLinkW : IUnknown | 806 interface IShellLinkW : IUnknown { 842 { < 843 HRESULT QueryInterface(REFIID,PVOID*); < 844 ULONG AddRef(); < 845 ULONG Release(); < 846 HRESULT GetPath(LPWSTR,int,WIN32_FIND_DATAW*,DWORD); | 807 HRESULT GetPath(LPWSTR, int, WIN32_FIND_DATAW*, DWORD); 847 HRESULT GetIDList(LPITEMIDLIST*); 808 HRESULT GetIDList(LPITEMIDLIST*); 848 HRESULT SetIDList(LPCITEMIDLIST); 809 HRESULT SetIDList(LPCITEMIDLIST); 849 HRESULT GetDescription(LPWSTR,int); | 810 HRESULT GetDescription(LPWSTR, int); 850 HRESULT SetDescription(LPCWSTR); 811 HRESULT SetDescription(LPCWSTR); 851 HRESULT GetWorkingDirectory(LPWSTR,int); | 812 HRESULT GetWorkingDirectory(LPWSTR, int); 852 HRESULT SetWorkingDirectory(LPCWSTR); 813 HRESULT SetWorkingDirectory(LPCWSTR); 853 HRESULT GetArguments(LPWSTR,int); | 814 HRESULT GetArguments(LPWSTR, int); 854 HRESULT SetArguments(LPCWSTR); 815 HRESULT SetArguments(LPCWSTR); 855 HRESULT GetHotkey(PWORD); 816 HRESULT GetHotkey(PWORD); 856 HRESULT SetHotkey(WORD); 817 HRESULT SetHotkey(WORD); 857 HRESULT GetShowCmd(int*); 818 HRESULT GetShowCmd(int*); 858 HRESULT SetShowCmd(int); 819 HRESULT SetShowCmd(int); 859 HRESULT GetIconLocation(LPWSTR,int,int*); | 820 HRESULT GetIconLocation(LPWSTR, int, int*); 860 HRESULT SetIconLocation(LPCWSTR,int); | 821 HRESULT SetIconLocation(LPCWSTR, int); 861 HRESULT SetRelativePath(LPCWSTR ,DWORD); | 822 HRESULT SetRelativePath(LPCWSTR , DWORD); 862 HRESULT Resolve(HWND,DWORD); | 823 HRESULT Resolve(HWND, DWORD); 863 HRESULT SetPath(LPCWSTR); 824 HRESULT SetPath(LPCWSTR); 864 } 825 } 865 826 866 827 867 interface IShellFolder : IUnknown | 828 interface IShellFolder : IUnknown { 868 { < 869 HRESULT QueryInterface(REFIID,PVOID*); < 870 ULONG AddRef(); < 871 ULONG Release(); < 872 HRESULT ParseDisplayName(HWND,LPBC,LPOLESTR,PULONG,LPITEMIDLIST*,PULONG) | 829 HRESULT ParseDisplayName(HWND, LPBC, LPOLESTR, PULONG, LPITEMIDLIST*, PU 873 HRESULT EnumObjects(HWND,DWORD,LPENUMIDLIST*); | 830 HRESULT EnumObjects(HWND, DWORD, LPENUMIDLIST*); 874 HRESULT BindToObject(LPCITEMIDLIST,LPBC,REFIID,PVOID*); | 831 HRESULT BindToObject(LPCITEMIDLIST, LPBC, REFIID, PVOID*); 875 HRESULT BindToStorage(LPCITEMIDLIST,LPBC,REFIID,PVOID*); | 832 HRESULT BindToStorage(LPCITEMIDLIST, LPBC, REFIID, PVOID*); 876 HRESULT CompareIDs(LPARAM,LPCITEMIDLIST,LPCITEMIDLIST); | 833 HRESULT CompareIDs(LPARAM, LPCITEMIDLIST, LPCITEMIDLIST); 877 HRESULT CreateViewObject(HWND,REFIID,PVOID*); | 834 HRESULT CreateViewObject(HWND, REFIID, PVOID*); 878 HRESULT GetAttributesOf(UINT,LPCITEMIDLIST*,PULONG); | 835 HRESULT GetAttributesOf(UINT, LPCITEMIDLIST*, PULONG); 879 HRESULT GetUIObjectOf(HWND,UINT,LPCITEMIDLIST*,REFIID,PUINT,PVOID*); | 836 HRESULT GetUIObjectOf(HWND, UINT, LPCITEMIDLIST*, REFIID, PUINT, PVOID*) 880 HRESULT GetDisplayNameOf(LPCITEMIDLIST,DWORD,LPSTRRET); | 837 HRESULT GetDisplayNameOf(LPCITEMIDLIST, DWORD, LPSTRRET); 881 HRESULT SetNameOf(HWND,LPCITEMIDLIST,LPCOLESTR,DWORD,LPITEMIDLIST*); < > 838 HRESULT SetNameOf(HWND, LPCITEMIDLIST, LPCOLESTR, DWORD, LPITEMIDLIST*); 882 } | 839 } 883 alias IShellFolder *LPSHELLFOLDER; | 840 alias IShellFolder LPSHELLFOLDER; 884 | 841 885 static if (_WIN32_IE >= 0x0500) { | 842 static if (_WIN32_IE >= 0x500) { 886 | 843 887 interface IEnumExtraSearch: IUnknown | 844 interface IEnumExtraSearch: IUnknown { 888 { < 889 HRESULT QueryInterface(REFIID,PVOID*); < 890 ULONG AddRef(); < 891 ULONG Release(); < 892 HRESULT Next(ULONG,LPEXTRASEARCH*,ULONG*); | 845 HRESULT Next(ULONG, LPEXTRASEARCH*, ULONG*); 893 HRESULT Skip(ULONG); 846 HRESULT Skip(ULONG); 894 HRESULT Reset(); 847 HRESULT Reset(); 895 HRESULT Clone(IEnumExtraSearch**); | 848 HRESULT Clone(IEnumExtraSearch*); 896 } 849 } 897 alias IEnumExtraSearch *LPENUMEXTRASEARCH; | 850 alias IEnumExtraSearch LPENUMEXTRASEARCH; 898 851 899 interface IShellFolder2 : IShellFolder | 852 interface IShellFolder2 : IShellFolder { 900 { < 901 HRESULT QueryInterface(REFIID,PVOID*); < 902 ULONG AddRef(); < 903 ULONG Release(); < 904 HRESULT ParseDisplayName(HWND,LPBC,LPOLESTR,PULONG,LPITEMIDLIST*,PULONG) | 853 HRESULT ParseDisplayName(HWND, LPBC, LPOLESTR, PULONG, LPITEMIDLIST*, PU 905 HRESULT EnumObjects(HWND,DWORD,LPENUMIDLIST*); | 854 HRESULT EnumObjects(HWND, DWORD, LPENUMIDLIST*); 906 HRESULT BindToObject(LPCITEMIDLIST,LPBC,REFIID,PVOID*); | 855 HRESULT BindToObject(LPCITEMIDLIST, LPBC, REFIID, PVOID*); 907 HRESULT BindToStorage(LPCITEMIDLIST,LPBC,REFIID,PVOID*); | 856 HRESULT BindToStorage(LPCITEMIDLIST, LPBC, REFIID, PVOID*); 908 HRESULT CompareIDs(LPARAM,LPCITEMIDLIST,LPCITEMIDLIST); | 857 HRESULT CompareIDs(LPARAM, LPCITEMIDLIST, LPCITEMIDLIST); 909 HRESULT CreateViewObject(HWND,REFIID,PVOID*); | 858 HRESULT CreateViewObject(HWND, REFIID, PVOID*); 910 HRESULT GetAttributesOf(UINT,LPCITEMIDLIST*,PULONG); | 859 HRESULT GetAttributesOf(UINT, LPCITEMIDLIST*, PULONG); 911 HRESULT GetUIObjectOf(HWND,UINT,LPCITEMIDLIST*,REFIID,PUINT,PVOID*); | 860 HRESULT GetUIObjectOf(HWND, UINT, LPCITEMIDLIST*, REFIID, PUINT, PVOID*) 912 HRESULT GetDisplayNameOf(LPCITEMIDLIST,DWORD,LPSTRRET); | 861 HRESULT GetDisplayNameOf(LPCITEMIDLIST, DWORD, LPSTRRET); 913 HRESULT SetNameOf(HWND,LPCITEMIDLIST,LPCOLESTR,DWORD,LPITEMIDLIST*); < > 862 HRESULT SetNameOf(HWND, LPCITEMIDLIST, LPCOLESTR, DWORD, LPITEMIDLIST*); 914 HRESULT GetDefaultSearchGUID(GUID*); 863 HRESULT GetDefaultSearchGUID(GUID*); 915 HRESULT EnumSearches(IEnumExtraSearch**); | 864 HRESULT EnumSearches(IEnumExtraSearch*); 916 HRESULT GetDefaultColumn(DWORD,ULONG*,ULONG*); | 865 HRESULT GetDefaultColumn(DWORD, ULONG*, ULONG*); 917 HRESULT GetDefaultColumnState(UINT,SHCOLSTATEF*); | 866 HRESULT GetDefaultColumnState(UINT, SHCOLSTATEF*); 918 HRESULT GetDetailsEx(LPCITEMIDLIST, CPtr!(SHCOLUMNID),VARIANT*); | 867 HRESULT GetDetailsEx(LPCITEMIDLIST, const(SHCOLUMNID)*, VARIANT*); 919 HRESULT GetDetailsOf(LPCITEMIDLIST,UINT,SHELLDETAILS*); | 868 HRESULT GetDetailsOf(LPCITEMIDLIST, UINT, SHELLDETAILS*); 920 HRESULT MapColumnToSCID(UINT,SHCOLUMNID*); | 869 HRESULT MapColumnToSCID(UINT, SHCOLUMNID*); 921 } | 870 } 922 alias IShellFolder2 *LPSHELLFOLDER2; | 871 alias IShellFolder2 LPSHELLFOLDER2; 923 | 872 924 } /* _WIN32_IE >= 0x0500 */ | 873 } /* _WIN32_IE >= 0x500 */ 925 | 874 926 interface ICopyHook : IUnknown | 875 interface ICopyHook : IUnknown { 927 { < 928 HRESULT QueryInterface(REFIID,PVOID*); < 929 ULONG AddRef(); < 930 ULONG Release(); < 931 UINT CopyCallback(HWND,UINT,UINT,LPCSTR,DWORD,LPCSTR,DWORD); | 876 UINT CopyCallback(HWND, UINT, UINT, LPCSTR, DWORD, LPCSTR, DWORD); 932 } | 877 } 933 alias ICopyHook *LPCOPYHOOK; | 878 alias ICopyHook LPCOPYHOOK; 934 | 879 935 interface IFileViewerSite : IUnknown | 880 interface IFileViewerSite : IUnknown { 936 { < 937 HRESULT QueryInterface(REFIID,PVOID*); < 938 ULONG AddRef(); < 939 ULONG Release(); < 940 HRESULT SetPinnedWindow(HWND); 881 HRESULT SetPinnedWindow(HWND); 941 HRESULT GetPinnedWindow(HWND*); 882 HRESULT GetPinnedWindow(HWND*); 942 } 883 } 943 alias IFileViewerSite *LPFILEVIEWERSITE; | 884 alias IFileViewerSite LPFILEVIEWERSITE; 944 885 945 interface IFileViewer : IUnknown | 886 interface IFileViewer : IUnknown { 946 { < 947 HRESULT QueryInterface(REFIID,PVOID*); < 948 ULONG AddRef(); < 949 ULONG Release(); < 950 HRESULT ShowInitialize(LPFILEVIEWERSITE); 887 HRESULT ShowInitialize(LPFILEVIEWERSITE); 951 HRESULT Show(LPFVSHOWINFO); 888 HRESULT Show(LPFVSHOWINFO); 952 HRESULT PrintTo(LPSTR,BOOL); | 889 HRESULT PrintTo(LPSTR, BOOL); 953 } 890 } 954 alias IFileViewer *LPFILEVIEWER; | 891 alias IFileViewer LPFILEVIEWER; 955 892 956 interface IFileSystemBindData : IUnknown | 893 interface IFileSystemBindData : IUnknown { 957 { < 958 HRESULT QueryInterface(REFIID,PVOID*); < 959 ULONG AddRef(); < 960 ULONG Release(); < 961 HRESULT SetFindData(CPtr!(WIN32_FIND_DATAW)); | 894 HRESULT SetFindData(const(WIN32_FIND_DATAW)*); 962 HRESULT GetFindData(WIN32_FIND_DATAW*); 895 HRESULT GetFindData(WIN32_FIND_DATAW*); 963 } 896 } 964 897 965 interface IPersistFolder : IPersist | 898 interface IPersistFolder : IPersist { > 899 HRESULT GetClassID(CLSID*); > 900 HRESULT Initialize(LPCITEMIDLIST); > 901 } > 902 alias IPersistFolder LPPERSISTFOLDER; 966 { | 903 967 HRESULT QueryInterface(REFIID,PVOID*); < 968 ULONG AddRef(); < 969 ULONG Release(); < > 904 static if (_WIN32_IE >= 0x400 || _WIN32_WINNT >= 0x500) { > 905 > 906 interface IPersistFolder2 : IPersistFolder { 970 HRESULT GetClassID(CLSID*); 907 HRESULT GetClassID(CLSID*); 971 HRESULT Initialize(LPCITEMIDLIST); 908 HRESULT Initialize(LPCITEMIDLIST); > 909 HRESULT GetCurFolder(LPITEMIDLIST*); 972 } 910 } 973 alias IPersistFolder *LPPERSISTFOLDER; | 911 alias IPersistFolder2 LPPERSISTFOLDER2; 974 912 975 static if (_WIN32_IE >= 0x0400 || _WIN32_WINNT >= 0x0500) { | 913 }/* _WIN32_IE >= 0x400 || _WIN32_WINNT >= 0x500 */ 976 914 977 interface IPersistFolder2 : IPersistFolder | 915 static if (_WIN32_IE >= 0x500) { 978 { | 916 979 HRESULT QueryInterface(REFIID,PVOID*); | 917 interface IPersistFolder3 : IPersistFolder2 { 980 ULONG AddRef(); < 981 ULONG Release(); < 982 HRESULT GetClassID(CLSID*); 918 HRESULT GetClassID(CLSID*); 983 HRESULT Initialize(LPCITEMIDLIST); 919 HRESULT Initialize(LPCITEMIDLIST); 984 HRESULT GetCurFolder(LPITEMIDLIST*); 920 HRESULT GetCurFolder(LPITEMIDLIST*); 985 } < 986 alias IPersistFolder2 *LPPERSISTFOLDER2; < 987 < 988 }/* _WIN32_IE >= 0x0400 || _WIN32_WINNT >= 0x0500 */ < 989 < 990 static if (_WIN32_IE >= 0x0500) { < 991 < 992 interface IPersistFolder3 : IPersistFolder2 < 993 { < 994 HRESULT QueryInterface(REFIID,PVOID*); < 995 ULONG AddRef(); < 996 ULONG Release(); < 997 HRESULT GetClassID(CLSID*); < 998 HRESULT Initialize(LPCITEMIDLIST); < 999 HRESULT GetCurFolder(LPITEMIDLIST*); < 1000 HRESULT InitializeEx(IBindCtx*,LPCITEMIDLIST, CPtr!(PERSIST_FOLDER_TARGE | 921 HRESULT InitializeEx(IBindCtx, LPCITEMIDLIST, const(PERSIST_FOLDER_TARGE 1001 HRESULT GetFolderTargetInfo(PERSIST_FOLDER_TARGET_INFO*); 922 HRESULT GetFolderTargetInfo(PERSIST_FOLDER_TARGET_INFO*); 1002 } 923 } 1003 alias IPersistFolder3 *LPPERSISTFOLDER3; | 924 alias IPersistFolder3 LPPERSISTFOLDER3; 1004 925 1005 } /* _WIN32_IE >= 0x0500 */ | 926 } /* _WIN32_IE >= 0x500 */ 1006 927 1007 alias IShellBrowser* LPSHELLBROWSER; | 928 alias IShellBrowser LPSHELLBROWSER; 1008 alias IShellView* LPSHELLVIEW; | 929 alias IShellView LPSHELLVIEW; 1009 930 1010 interface IShellBrowser : IOleWindow | 931 interface IShellBrowser : IOleWindow { > 932 HRESULT GetWindow(HWND*); > 933 HRESULT ContextSensitiveHelp(BOOL); > 934 HRESULT InsertMenusSB(HMENU, LPOLEMENUGROUPWIDTHS); > 935 HRESULT SetMenuSB(HMENU, HOLEMENU, HWND); > 936 HRESULT RemoveMenusSB(HMENU); > 937 HRESULT SetStatusTextSB(LPCOLESTR); > 938 HRESULT EnableModelessSB(BOOL); > 939 HRESULT TranslateAcceleratorSB(LPMSG, WORD); > 940 HRESULT BrowseObject(LPCITEMIDLIST, UINT); > 941 HRESULT GetViewStateStream(DWORD, LPSTREAM*); > 942 HRESULT GetControlWindow(UINT, HWND*); > 943 HRESULT SendControlMsg(UINT, UINT, WPARAM, LPARAM, LRESULT*); > 944 HRESULT QueryActiveShellView(LPSHELLVIEW*); > 945 HRESULT OnViewWindowActive(LPSHELLVIEW); > 946 HRESULT SetToolbarItems(LPTBBUTTON, UINT, UINT); > 947 } 1011 { | 948 1012 HRESULT QueryInterface(REFIID,PVOID*); < 1013 ULONG AddRef(); < 1014 ULONG Release(); < > 949 interface IShellView : IOleWindow { 1015 HRESULT GetWindow(HWND*); 950 HRESULT GetWindow(HWND*); 1016 HRESULT ContextSensitiveHelp(BOOL); 951 HRESULT ContextSensitiveHelp(BOOL); 1017 HRESULT InsertMenusSB(HMENU,LPOLEMENUGROUPWIDTHS); | 952 HRESULT TranslateAccelerator(LPMSG); 1018 HRESULT SetMenuSB(HMENU,HOLEMENU,HWND); | 953 //[No] #ifdef _FIX_ENABLEMODELESS_CONFLICT 1019 HRESULT RemoveMenusSB(HMENU); | 954 //[No] STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE; 1020 HRESULT SetStatusTextSB(LPCOLESTR); | 955 //[Yes] #else 1021 HRESULT EnableModelessSB(BOOL); | 956 HRESULT EnableModeless(BOOL); 1022 HRESULT TranslateAcceleratorSB(LPMSG,WORD); | 957 //[Yes] #endif 1023 HRESULT BrowseObject(LPCITEMIDLIST,UINT); | 958 HRESULT UIActivate(UINT); 1024 HRESULT GetViewStateStream(DWORD,LPSTREAM*); | 959 HRESULT Refresh(); 1025 HRESULT GetControlWindow(UINT,HWND*); | 960 HRESULT CreateViewWindow(IShellView, LPCFOLDERSETTINGS, LPSHELLBROWSER, 1026 HRESULT SendControlMsg(UINT,UINT,WPARAM,LPARAM,LRESULT*); | 961 HRESULT DestroyViewWindow(); 1027 HRESULT QueryActiveShellView(LPSHELLVIEW*); | 962 HRESULT GetCurrentInfo(LPFOLDERSETTINGS); 1028 HRESULT OnViewWindowActive(LPSHELLVIEW); | 963 HRESULT AddPropertySheetPages(DWORD, LPFNADDPROPSHEETPAGE, LPARAM); 1029 HRESULT SetToolbarItems(LPTBBUTTON,UINT,UINT); | 964 HRESULT SaveViewState(); > 965 HRESULT SelectItem(LPCITEMIDLIST, UINT); > 966 HRESULT GetItemObject(UINT, REFIID, PVOID*); 1030 } | 967 } 1031 | 968 > 969 interface ICommDlgBrowser : IUnknown { > 970 HRESULT OnDefaultCommand(IShellView); > 971 HRESULT OnStateChange(IShellView, ULONG); > 972 HRESULT IncludeObject(IShellView, LPCITEMIDLIST); > 973 } > 974 alias ICommDlgBrowser LPCOMMDLGBROWSER; > 975 > 976 alias GUID SHELLVIEWID; > 977 > 978 struct SV2CVW2_PARAMS { > 979 DWORD cbSize = this.sizeof; 1032 interface IShellView : IOleWindow | 980 IShellView psvPrev; > 981 FOLDERSETTINGS *pfs; > 982 IShellBrowser psbOwner; > 983 RECT *prcView; > 984 const(SHELLVIEWID)* pvid; > 985 HWND hwndView; > 986 } > 987 alias SV2CVW2_PARAMS* LPSV2CVW2_PARAMS; 1033 { | 988 1034 HRESULT QueryInterface(REFIID,PVOID*); < 1035 ULONG AddRef(); < 1036 ULONG Release(); < > 989 interface IShellView2 : IShellView { 1037 HRESULT GetWindow(HWND*); 990 HRESULT GetWindow(HWND*); 1038 HRESULT ContextSensitiveHelp(BOOL); 991 HRESULT ContextSensitiveHelp(BOOL); 1039 HRESULT TranslateAccelerator(LPMSG); 992 HRESULT TranslateAccelerator(LPMSG); 1040 //[No] #ifdef _FIX_ENABLEMODELESS_CONFLICT 993 //[No] #ifdef _FIX_ENABLEMODELESS_CONFLICT 1041 //[No] STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE; 994 //[No] STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE; 1042 //[Yes] #else 995 //[Yes] #else 1043 HRESULT EnableModeless(BOOL); 996 HRESULT EnableModeless(BOOL); 1044 //[Yes] #endif 997 //[Yes] #endif 1045 HRESULT UIActivate(UINT); 998 HRESULT UIActivate(UINT); 1046 HRESULT Refresh(); 999 HRESULT Refresh(); 1047 HRESULT CreateViewWindow(IShellView*,LPCFOLDERSETTINGS,LPSHELLBROWSER,RE | 1000 HRESULT CreateViewWindow(IShellView, LPCFOLDERSETTINGS, LPSHELLBROWSER, 1048 HRESULT DestroyViewWindow(); 1001 HRESULT DestroyViewWindow(); 1049 HRESULT GetCurrentInfo(LPFOLDERSETTINGS); 1002 HRESULT GetCurrentInfo(LPFOLDERSETTINGS); 1050 HRESULT AddPropertySheetPages(DWORD,LPFNADDPROPSHEETPAGE,LPARAM); | 1003 HRESULT AddPropertySheetPages(DWORD, LPFNADDPROPSHEETPAGE, LPARAM); 1051 HRESULT SaveViewState(); 1004 HRESULT SaveViewState(); 1052 HRESULT SelectItem(LPCITEMIDLIST,UINT); | 1005 HRESULT SelectItem(LPCITEMIDLIST, UINT); 1053 HRESULT GetItemObject(UINT,REFIID,PVOID*); | 1006 HRESULT GetItemObject(UINT, REFIID, PVOID*); 1054 } < 1055 < 1056 interface ICommDlgBrowser : IUnknown < 1057 { < 1058 HRESULT QueryInterface(REFIID,PVOID*); < 1059 ULONG AddRef(); < 1060 ULONG Release(); < 1061 HRESULT OnDefaultCommand(IShellView*); < 1062 HRESULT OnStateChange(IShellView*,ULONG); < 1063 HRESULT IncludeObject(IShellView*,LPCITEMIDLIST); < 1064 } < 1065 alias ICommDlgBrowser *LPCOMMDLGBROWSER; < 1066 < 1067 alias GUID SHELLVIEWID; < 1068 < 1069 struct SV2CVW2_PARAMS { < 1070 DWORD cbSize = this.sizeof; < 1071 IShellView *psvPrev; < 1072 FOLDERSETTINGS *pfs; < 1073 IShellBrowser *psbOwner; < 1074 RECT *prcView; < 1075 CPtr!(SHELLVIEWID) pvid; < 1076 HWND hwndView; < 1077 } < 1078 alias SV2CVW2_PARAMS* LPSV2CVW2_PARAMS; < 1079 < 1080 interface IShellView2 : IShellView < 1081 { < 1082 < 1083 HRESULT QueryInterface(REFIID,PVOID*); < 1084 ULONG AddRef(); < 1085 ULONG Release(); < 1086 HRESULT GetWindow(HWND*); < 1087 HRESULT ContextSensitiveHelp(BOOL); < 1088 HRESULT TranslateAccelerator(LPMSG); < 1089 //[No] #ifdef _FIX_ENABLEMODELESS_CONFLICT < 1090 //[No] STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE; < 1091 //[Yes] #else < 1092 HRESULT EnableModeless(BOOL); < 1093 //[Yes] #endif < 1094 HRESULT UIActivate(UINT); < 1095 HRESULT Refresh(); < 1096 HRESULT CreateViewWindow(IShellView*,LPCFOLDERSETTINGS,LPSHELLBROWSER,RE < 1097 HRESULT DestroyViewWindow(); < 1098 HRESULT GetCurrentInfo(LPFOLDERSETTINGS); < 1099 HRESULT AddPropertySheetPages(DWORD,LPFNADDPROPSHEETPAGE,LPARAM); < 1100 HRESULT SaveViewState(); < 1101 HRESULT SelectItem(LPCITEMIDLIST,UINT); < 1102 HRESULT GetItemObject(UINT,REFIID,PVOID*); < 1103 HRESULT GetView(SHELLVIEWID*,ULONG); | 1007 HRESULT GetView(SHELLVIEWID*, ULONG); 1104 HRESULT CreateViewWindow2(LPSV2CVW2_PARAMS); 1008 HRESULT CreateViewWindow2(LPSV2CVW2_PARAMS); 1105 } 1009 } 1106 1010 1107 interface IShellExecuteHookA : IUnknown | 1011 interface IShellExecuteHookA : IUnknown { 1108 { < 1109 HRESULT QueryInterface(REFIID,PVOID*); < 1110 ULONG AddRef(); < 1111 ULONG Release(); < 1112 HRESULT Execute(LPSHELLEXECUTEINFOA); 1012 HRESULT Execute(LPSHELLEXECUTEINFOA); 1113 } 1013 } 1114 1014 1115 interface IShellExecuteHookW : IUnknown | 1015 interface IShellExecuteHookW : IUnknown { 1116 { < 1117 HRESULT QueryInterface(REFIID,PVOID*); < 1118 ULONG AddRef(); < 1119 ULONG Release(); < 1120 HRESULT Execute(LPSHELLEXECUTEINFOW); 1016 HRESULT Execute(LPSHELLEXECUTEINFOW); 1121 } 1017 } 1122 1018 1123 interface IShellIcon : IUnknown | 1019 interface IShellIcon : IUnknown { 1124 { < 1125 HRESULT QueryInterface(REFIID,PVOID*); < 1126 ULONG AddRef(); < 1127 ULONG Release(); < 1128 HRESULT GetIconOf(LPCITEMIDLIST,UINT,PINT); | 1020 HRESULT GetIconOf(LPCITEMIDLIST, UINT, PINT); 1129 } 1021 } 1130 alias IShellIcon* LPSHELLICON; | 1022 alias IShellIcon LPSHELLICON; 1131 1023 1132 struct SHELLFLAGSTATE { 1024 struct SHELLFLAGSTATE { 1133 // TODO | 1025 short _bf; 1134 short bitflags_; // for D. < 1135 /* | 1026 /* 1136 BOOL fShowAllObjects : 1; 1027 BOOL fShowAllObjects : 1; 1137 BOOL fShowExtensions : 1; 1028 BOOL fShowExtensions : 1; 1138 BOOL fNoConfirmRecycle : 1; 1029 BOOL fNoConfirmRecycle : 1; 1139 BOOL fShowSysFiles : 1; 1030 BOOL fShowSysFiles : 1; 1140 BOOL fShowCompColor : 1; 1031 BOOL fShowCompColor : 1; 1141 BOOL fDoubleClickInWebView : 1; 1032 BOOL fDoubleClickInWebView : 1; 1142 BOOL fDesktopHTML : 1; 1033 BOOL fDesktopHTML : 1; ................................................................................................................................................................................ 1144 BOOL fDontPrettyPath : 1; 1035 BOOL fDontPrettyPath : 1; 1145 BOOL fShowAttribCol : 1; 1036 BOOL fShowAttribCol : 1; 1146 BOOL fMapNetDrvBtn : 1; 1037 BOOL fMapNetDrvBtn : 1; 1147 BOOL fShowInfoTip : 1; 1038 BOOL fShowInfoTip : 1; 1148 BOOL fHideIcons : 1; 1039 BOOL fHideIcons : 1; 1149 UINT fRestFlags : 3; 1040 UINT fRestFlags : 3; 1150 */ 1041 */ > 1042 @property bool fShowAllObjects() { return cast(bool) (_bf & 0x0001 > 1043 @property bool fShowExtensions() { return cast(bool) (_bf & 0x0002 > 1044 @property bool fNoConfirmRecycle() { return cast(bool) (_bf & 0x0004 > 1045 @property bool fShowSysFiles() { return cast(bool) (_bf & 0x0008 > 1046 @property bool fShowCompColor() { return cast(bool) (_bf & 0x0010 > 1047 @property bool fDoubleClickInWebView() { return cast(bool) (_bf & 0x0020 > 1048 @property bool fDesktopHTML() { return cast(bool) (_bf & 0x0040 > 1049 @property bool fWin95Classic() { return cast(bool) (_bf & 0x0080 > 1050 @property bool fDontPrettyPath() { return cast(bool) (_bf & 0x0100 > 1051 @property bool fShowAttribCol() { return cast(bool) (_bf & 0x0200 > 1052 @property bool fMapNetDrvBtn() { return cast(bool) (_bf & 0x0400 > 1053 @property bool fShowInfoTip() { return cast(bool) (_bf & 0x0800 > 1054 @property bool fHideIcons() { return cast(bool) (_bf & 0x1000 > 1055 @property ubyte fRestFlags() { return cast(ubyte) (_bf >> 13); > 1056 > 1057 @property bool fShowAllObjects(bool f) { _bf = cast(ushort) ((_bf > 1058 @property bool fShowExtensions(bool f) { _bf = cast(ushort) ((_bf > 1059 @property bool fNoConfirmRecycle(bool f) { _bf = cast(ushort) ((_bf > 1060 @property bool fShowSysFiles(bool f) { _bf = cast(ushort) ((_bf > 1061 @property bool fShowCompColor(bool f) { _bf = cast(ushort) ((_bf > 1062 @property bool fDoubleClickInWebView(bool f) { _bf = cast(ushort) ((_bf > 1063 @property bool fDesktopHTML(bool f) { _bf = cast(ushort) ((_bf > 1064 @property bool fWin95Classic(bool f) { _bf = cast(ushort) ((_bf > 1065 @property bool fDontPrettyPath(bool f) { _bf = cast(ushort) ((_bf > 1066 @property bool fShowAttribCol(bool f) { _bf = cast(ushort) ((_bf > 1067 @property bool fMapNetDrvBtn(bool f) { _bf = cast(ushort) ((_bf > 1068 @property bool fShowInfoTip(bool f) { _bf = cast(ushort) ((_bf > 1069 @property bool fHideIcons(bool f) { _bf = cast(ushort) ((_bf > 1070 @property ubyte fRestFlags(ubyte f) { _bf = cast(ushort) ((_bf 1151 } 1071 } 1152 alias SHELLFLAGSTATE* LPSHELLFLAGSTATE; 1072 alias SHELLFLAGSTATE* LPSHELLFLAGSTATE; 1153 1073 1154 const SSF_SHOWALLOBJECTS = 0x1; 1074 const SSF_SHOWALLOBJECTS = 0x1; 1155 const SSF_SHOWEXTENSIONS = 0x2; 1075 const SSF_SHOWEXTENSIONS = 0x2; 1156 const SSF_SHOWCOMPCOLOR = 0x8; 1076 const SSF_SHOWCOMPCOLOR = 0x8; 1157 const SSF_SHOWSYSFILES = 0x20; 1077 const SSF_SHOWSYSFILES = 0x20; ................................................................................................................................................................................ 1161 const SSF_WIN95CLASSIC = 0x400; 1081 const SSF_WIN95CLASSIC = 0x400; 1162 const SSF_DONTPRETTYPATH = 0x800; 1082 const SSF_DONTPRETTYPATH = 0x800; 1163 const SSF_MAPNETDRVBUTTON = 0x1000; 1083 const SSF_MAPNETDRVBUTTON = 0x1000; 1164 const SSF_SHOWINFOTIP = 0x2000; 1084 const SSF_SHOWINFOTIP = 0x2000; 1165 const SSF_HIDEICONS = 0x4000; 1085 const SSF_HIDEICONS = 0x4000; 1166 const SSF_NOCONFIRMRECYCLE = 0x8000; 1086 const SSF_NOCONFIRMRECYCLE = 0x8000; 1167 1087 1168 interface IShellIconOverlayIdentifier : IUnknown | 1088 interface IShellIconOverlayIdentifier : IUnknown { 1169 { < 1170 HRESULT QueryInterface(REFIID,PVOID*); < 1171 ULONG AddRef(); < 1172 ULONG Release(); < 1173 HRESULT IsMemberOf(LPCWSTR,DWORD); | 1089 HRESULT IsMemberOf(LPCWSTR, DWORD); 1174 HRESULT GetOverlayInfo(LPWSTR,int,int*,DWORD*); | 1090 HRESULT GetOverlayInfo(LPWSTR, int, int*, DWORD*); 1175 HRESULT GetPriority(int*); 1091 HRESULT GetPriority(int*); 1176 } 1092 } 1177 1093 1178 const ISIOI_ICONFILE = 0x00000001; 1094 const ISIOI_ICONFILE = 0x00000001; 1179 const ISIOI_ICONINDEX = 0x00000002; 1095 const ISIOI_ICONINDEX = 0x00000002; 1180 1096 1181 static if (_WIN32_WINNT >= 0x0500) {/* W2K */ | 1097 static if (_WIN32_WINNT >= 0x500) { 1182 struct SHELLSTATE { 1098 struct SHELLSTATE { 1183 //TODO: < > 1099 uint _bf1; > 1100 DWORD dwWin95Unused; > 1101 UINT uWin95Unused; > 1102 LONG lParamSort; > 1103 int iSortDirection; > 1104 UINT _version; > 1105 UINT uNotUsed; > 1106 uint _bf2; 1184 /* 1107 /* 1185 BOOL fShowAllObjects : 1; 1108 BOOL fShowAllObjects : 1; 1186 BOOL fShowExtensions : 1; 1109 BOOL fShowExtensions : 1; 1187 BOOL fNoConfirmRecycle : 1; 1110 BOOL fNoConfirmRecycle : 1; 1188 BOOL fShowSysFiles : 1; 1111 BOOL fShowSysFiles : 1; 1189 BOOL fShowCompColor : 1; 1112 BOOL fShowCompColor : 1; 1190 BOOL fDoubleClickInWebView : 1; 1113 BOOL fDoubleClickInWebView : 1; ................................................................................................................................................................................ 1195 BOOL fMapNetDrvBtn : 1; 1118 BOOL fMapNetDrvBtn : 1; 1196 BOOL fShowInfoTip : 1; 1119 BOOL fShowInfoTip : 1; 1197 BOOL fHideIcons : 1; 1120 BOOL fHideIcons : 1; 1198 BOOL fWebView : 1; 1121 BOOL fWebView : 1; 1199 BOOL fFilter : 1; 1122 BOOL fFilter : 1; 1200 BOOL fShowSuperHidden : 1; 1123 BOOL fShowSuperHidden : 1; 1201 BOOL fNoNetCrawling : 1; 1124 BOOL fNoNetCrawling : 1; 1202 DWORD dwWin95Unused; < > 1125 */ 1203 UINT uWin95Unused; | 1126 @property bool fShowAllObjects() { return cast(bool) (_bf1 1204 LONG lParamSort; | 1127 @property bool fShowExtensions() { return cast(bool) (_bf1 1205 int iSortDirection; | 1128 @property bool fNoConfirmRecycle() { return cast(bool) (_bf1 1206 UINT version; | 1129 @property bool fShowSysFiles() { return cast(bool) (_bf1 1207 UINT uNotUsed; | 1130 @property bool fShowCompColor() { return cast(bool) (_bf1 > 1131 @property bool fDoubleClickInWebView() { return cast(bool) (_bf1 > 1132 @property bool fDesktopHTML() { return cast(bool) (_bf1 > 1133 @property bool fWin95Classic() { return cast(bool) (_bf1 > 1134 @property bool fDontPrettyPath() { return cast(bool) (_bf1 > 1135 @property bool fShowAttribCol() { return cast(bool) (_bf1 > 1136 @property bool fMapNetDrvBtn() { return cast(bool) (_bf1 > 1137 @property bool fShowInfoTip() { return cast(bool) (_bf1 > 1138 @property bool fHideIcons() { return cast(bool) (_bf1 > 1139 @property bool fWebView() { return cast(bool) (_bf1 > 1140 @property bool fFilter() { return cast(bool) (_bf1 > 1141 @property bool fShowSuperHidden() { return cast(bool) (_bf1 > 1142 @property bool fNoNetCrawling() { return cast(bool) (_bf1 > 1143 > 1144 @property bool fShowAllObjects(bool f) { _bf1 = cast(uint) > 1145 @property bool fShowExtensions(bool f) { _bf1 = cast(uint) > 1146 @property bool fNoConfirmRecycle(bool f) { _bf1 = cast(uint) > 1147 @property bool fShowSysFiles(bool f) { _bf1 = cast(uint) > 1148 @property bool fShowCompColor(bool f) { _bf1 = cast(uint) > 1149 @property bool fDoubleClickInWebView(bool f) { _bf1 = cast(uint) > 1150 @property bool fDesktopHTML(bool f) { _bf1 = cast(uint) > 1151 @property bool fWin95Classic(bool f) { _bf1 = cast(uint) > 1152 @property bool fDontPrettyPath(bool f) { _bf1 = cast(uint) > 1153 @property bool fShowAttribCol(bool f) { _bf1 = cast(uint) > 1154 @property bool fMapNetDrvBtn(bool f) { _bf1 = cast(uint) > 1155 @property bool fShowInfoTip(bool f) { _bf1 = cast(uint) > 1156 @property bool fHideIcons(bool f) { _bf1 = cast(uint) > 1157 @property bool fWebView(bool f) { _bf1 = cast(uint) > 1158 @property bool fFilter(bool f) { _bf1 = cast(uint) > 1159 @property bool fShowSuperHidden(bool f) { _bf1 = cast(uint) > 1160 @property bool fNoNetCrawling(bool f) { _bf1 = cast(uint) > 1161 /* 1208 BOOL fSepProcess : 1; 1162 BOOL fSepProcess : 1; 1209 BOOL fStartPanelOn : 1; 1163 BOOL fStartPanelOn : 1; 1210 BOOL fShowStartPage : 1; 1164 BOOL fShowStartPage : 1; 1211 UINT fSpareFlags : 13; 1165 UINT fSpareFlags : 13; 1212 */ | 1166 */ > 1167 @property bool fSepProcess() { return cast(bool) (_bf2 > 1168 @property bool fStartPanelOn() { return cast(bool) (_bf2 > 1169 @property bool fShowStartPage() { return cast(bool) (_bf2 > 1170 @property ushort fSpareFlags() { return cast(ushort) ((_ > 1171 > 1172 @property bool fSepProcess(bool f) { _bf2 = cast(uint) ((_bf > 1173 @property bool fStartPanelOn(bool f) { _bf2 = cast(uint) ((_bf > 1174 @property bool fShowStartPage(bool f) { _bf2 = cast(uint) ((_bf > 1175 @property ushort fSpareFlags(ushort f) { > 1176 _bf2 = cast(ushort) ((_bf2 & ~0xFFFF0007) | ((f & 0x1FFF > 1177 return cast(ushort) (f & 0x1FFF); > 1178 } 1213 } 1179 } 1214 alias SHELLSTATE* LPSHELLSTATE; 1180 alias SHELLSTATE* LPSHELLSTATE; 1215 } 1181 } 1216 1182 1217 static if (_WIN32_IE >= 0x0500) { | 1183 static if (_WIN32_IE >= 0x500) { 1218 align(8): | 1184 align(8) { 1219 struct SHDRAGIMAGE { | 1185 struct SHDRAGIMAGE { 1220 SIZE sizeDragImage; | 1186 SIZE sizeDragImage; 1221 POINT ptOffset; | 1187 POINT ptOffset; 1222 HBITMAP hbmpDragImage; | 1188 HBITMAP hbmpDragImage; 1223 COLORREF crColorKey; | 1189 COLORREF crColorKey; > 1190 } > 1191 alias SHDRAGIMAGE* LPSHDRAGIMAGE; 1224 } 1192 } 1225 alias SHDRAGIMAGE* LPSHDRAGIMAGE; < 1226 align: < 1227 1193 1228 interface IDragSourceHelper : IUnknown | 1194 interface IDragSourceHelper : IUnknown { 1229 { < 1230 HRESULT QueryInterface(REFIID riid, void **ppv); < 1231 ULONG AddRef(); < 1232 ULONG Release(); < 1233 HRESULT InitializeFromBitmap(LPSHDRAGIMAGE pshdi, IDataObject* p | 1195 HRESULT InitializeFromBitmap(LPSHDRAGIMAGE pshdi, IDataObject pD 1234 HRESULT InitializeFromWindow(HWND hwnd, POINT* ppt, IDataObject* | 1196 HRESULT InitializeFromWindow(HWND hwnd, POINT* ppt, IDataObject 1235 } 1197 } 1236 1198 1237 interface IDropTargetHelper : IUnknown | 1199 interface IDropTargetHelper : IUnknown { 1238 { < 1239 HRESULT QueryInterface(REFIID riid, void** ppv); < 1240 ULONG AddRef(); < 1241 ULONG Release(); < 1242 HRESULT DragEnter(HWND hwndTarget, IDataObject* pDataObject, POI | 1200 HRESULT DragEnter(HWND hwndTarget, IDataObject pDataObject, POIN 1243 HRESULT DragLeave(); 1201 HRESULT DragLeave(); 1244 HRESULT DragOver(POINT* ppt, DWORD dwEffect); 1202 HRESULT DragOver(POINT* ppt, DWORD dwEffect); 1245 HRESULT Drop(IDataObject* pDataObject, POINT* ppt, DWORD dwEffec | 1203 HRESULT Drop(IDataObject pDataObject, POINT* ppt, DWORD dwEffect 1246 HRESULT Show(BOOL fShow); 1204 HRESULT Show(BOOL fShow); 1247 } 1205 } 1248 } 1206 } 1249 1207 1250 extern (Windows): 1208 extern (Windows): 1251 void SHAddToRecentDocs(UINT,PCVOID); | 1209 void SHAddToRecentDocs(UINT, PCVOID); 1252 LPITEMIDLIST SHBrowseForFolderA(PBROWSEINFOA); 1210 LPITEMIDLIST SHBrowseForFolderA(PBROWSEINFOA); 1253 LPITEMIDLIST SHBrowseForFolderW(PBROWSEINFOW); 1211 LPITEMIDLIST SHBrowseForFolderW(PBROWSEINFOW); 1254 void SHChangeNotify(LONG,UINT,PCVOID,PCVOID); | 1212 void SHChangeNotify(LONG, UINT, PCVOID, PCVOID); 1255 HRESULT SHGetDataFromIDListA(LPSHELLFOLDER,LPCITEMIDLIST,int,PVOID,int); | 1213 HRESULT SHGetDataFromIDListA(LPSHELLFOLDER, LPCITEMIDLIST, int, PVOID, int); 1256 HRESULT SHGetDataFromIDListW(LPSHELLFOLDER,LPCITEMIDLIST,int,PVOID,int); | 1214 HRESULT SHGetDataFromIDListW(LPSHELLFOLDER, LPCITEMIDLIST, int, PVOID, int); 1257 HRESULT SHGetDesktopFolder(LPSHELLFOLDER*); 1215 HRESULT SHGetDesktopFolder(LPSHELLFOLDER*); 1258 HRESULT SHGetInstanceExplorer(IUnknown **); | 1216 HRESULT SHGetInstanceExplorer(IUnknown*); 1259 HRESULT SHGetMalloc(LPMALLOC*); 1217 HRESULT SHGetMalloc(LPMALLOC*); 1260 BOOL SHGetPathFromIDListA(LPCITEMIDLIST,LPSTR); | 1218 BOOL SHGetPathFromIDListA(LPCITEMIDLIST, LPSTR); 1261 BOOL SHGetPathFromIDListW(LPCITEMIDLIST,LPWSTR); | 1219 BOOL SHGetPathFromIDListW(LPCITEMIDLIST, LPWSTR); 1262 HRESULT SHGetSpecialFolderLocation(HWND,int,LPITEMIDLIST*); | 1220 HRESULT SHGetSpecialFolderLocation(HWND, int, LPITEMIDLIST*); 1263 HRESULT SHLoadInProc(REFCLSID); 1221 HRESULT SHLoadInProc(REFCLSID); 1264 1222 1265 static if (_WIN32_IE >= 0x0400) { | 1223 static if (_WIN32_IE >= 0x400) { 1266 BOOL SHGetSpecialFolderPathA(HWND,LPSTR,int,BOOL); | 1224 BOOL SHGetSpecialFolderPathA(HWND, LPSTR, int, BOOL); 1267 BOOL SHGetSpecialFolderPathW(HWND,LPWSTR,int,BOOL); | 1225 BOOL SHGetSpecialFolderPathW(HWND, LPWSTR, int, BOOL); 1268 } 1226 } 1269 1227 1270 /* SHGetFolderPath in shfolder.dll on W9x, NT4, also in shell32.dll on W2K */ 1228 /* SHGetFolderPath in shfolder.dll on W9x, NT4, also in shell32.dll on W2K */ 1271 HRESULT SHGetFolderPathA(HWND,int,HANDLE,DWORD,LPSTR); | 1229 HRESULT SHGetFolderPathA(HWND, int, HANDLE, DWORD, LPSTR); 1272 HRESULT SHGetFolderPathW(HWND,int,HANDLE,DWORD,LPWSTR); | 1230 HRESULT SHGetFolderPathW(HWND, int, HANDLE, DWORD, LPWSTR); 1273 1231 1274 static if ((_WIN32_WINDOWS >= 0x0490) || (_WIN32_WINNT >= 0x0500)) {/* ME or W2K | 1232 static if (_WIN32_WINNT >= 0x500) { > 1233 INT SHGetIconOverlayIndexW(LPCWSTR pszIconPath, int iIconIndex); > 1234 INT SHGetIconOverlayIndexA(LPCSTR pszIconPath, int iIconIndex); 1275 HRESULT SHGetFolderLocation(HWND,int,HANDLE,DWORD,LPITEMIDLIST*); | 1235 HRESULT SHGetFolderLocation(HWND, int, HANDLE, DWORD, LPITEMIDLIST*); 1276 } < 1277 < 1278 static if (_WIN32_WINNT >= 0x0500) { < 1279 INT SHCreateDirectoryExA(HWND,LPCSTR,LPSECURITY_ATTRIBUTES); | 1236 INT SHCreateDirectoryExA(HWND, LPCSTR, LPSECURITY_ATTRIBUTES); 1280 INT SHCreateDirectoryExW(HWND,LPCWSTR,LPSECURITY_ATTRIBUTES); | 1237 INT SHCreateDirectoryExW(HWND, LPCWSTR, LPSECURITY_ATTRIBUTES); 1281 HRESULT SHBindToParent(LPCITEMIDLIST,REFIID,VOID**,LPCITEMIDLIST*); | 1238 HRESULT SHBindToParent(LPCITEMIDLIST, REFIID, VOID**, LPCITEMIDLIST*); 1282 } 1239 } 1283 1240 1284 static if (_WIN32_WINNT >= 0x0501) {/* XP */ | 1241 static if (_WIN32_WINNT >= 0x501) { > 1242 enum { > 1243 PRF_VERIFYEXISTS = 0x0001, > 1244 PRF_TRYPROGRAMEXTENSIONS = (0x0002 | PRF_VERIFYEXISTS), > 1245 PRF_FIRSTDIRDEF = 0x0004, > 1246 PRF_DONTFINDLNK = 0x0008, > 1247 IDO_SHGIOI_SHARE = 0x0FFFFFFF, > 1248 IDO_SHGIOI_LINK = 0x0FFFFFFE, > 1249 IDO_SHGIOI_SLOWFILE = 0x0FFFFFFD, > 1250 IDO_SHGIOI_DEFAULT = 0x0FFFFFFC > 1251 } > 1252 > 1253 struct SHDESCRIPTIONID { > 1254 DWORD dwDescriptionId; > 1255 CLSID clsid; > 1256 } > 1257 alias SHDESCRIPTIONID* LPSHDESCRIPTIONID; > 1258 > 1259 BOOL PathResolve(LPWSTR, LPCWSTR*, UINT); 1285 HRESULT SHGetFolderPathAndSubDirA(HWND,int,HANDLE,DWORD,LPCSTR,LPSTR); | 1260 HRESULT SHGetFolderPathAndSubDirA(HWND, int, HANDLE, DWORD, LPCSTR, LPST 1286 HRESULT SHGetFolderPathAndSubDirW(HWND,int,HANDLE,DWORD,LPCWSTR,LPWSTR); | 1261 HRESULT SHGetFolderPathAndSubDirW(HWND, int, HANDLE, DWORD, LPCWSTR, LPW > 1262 HRESULT SHParseDisplayName(LPCWSTR, IBindCtx, LPITEMIDLIST, SFGAOF, SFGA 1287 } 1263 } 1288 1264 1289 void SHGetSettings(LPSHELLFLAGSTATE,DWORD); | 1265 void SHGetSettings(LPSHELLFLAGSTATE, DWORD); 1290 1266 1291 static if (_WIN32_WINNT >= 0x0500) {/* W2K */ | 1267 static if (_WIN32_WINNT >= 0x500) { 1292 void SHGetSetSettings(LPSHELLSTATE,DWORD,BOOL); | 1268 void SHGetSetSettings(LPSHELLSTATE, DWORD, BOOL); 1293 } < 1294 < 1295 static if (_WIN32_WINNT >= 0x0500) {/* W2K */ < 1296 BOOL ILIsEqual(LPCITEMIDLIST, LPCITEMIDLIST); 1269 BOOL ILIsEqual(LPCITEMIDLIST, LPCITEMIDLIST); 1297 BOOL ILIsParent(LPCITEMIDLIST, LPCITEMIDLIST, BOOL); 1270 BOOL ILIsParent(LPCITEMIDLIST, LPCITEMIDLIST, BOOL); 1298 BOOL ILRemoveLastID(LPITEMIDLIST); 1271 BOOL ILRemoveLastID(LPITEMIDLIST); 1299 HRESULT ILLoadFromStream(IStream*, LPITEMIDLIST*); | 1272 HRESULT ILLoadFromStream(IStream, LPITEMIDLIST*); 1300 HRESULT ILSaveToStream(IStream*, LPCITEMIDLIST); | 1273 HRESULT ILSaveToStream(IStream, LPCITEMIDLIST); 1301 LPITEMIDLIST ILAppendID(LPITEMIDLIST, LPCSHITEMID, BOOL); 1274 LPITEMIDLIST ILAppendID(LPITEMIDLIST, LPCSHITEMID, BOOL); 1302 LPITEMIDLIST ILClone(LPCITEMIDLIST); 1275 LPITEMIDLIST ILClone(LPCITEMIDLIST); 1303 LPITEMIDLIST ILCloneFirst(LPCITEMIDLIST); 1276 LPITEMIDLIST ILCloneFirst(LPCITEMIDLIST); 1304 LPITEMIDLIST ILCombine(LPCITEMIDLIST, LPCITEMIDLIST); 1277 LPITEMIDLIST ILCombine(LPCITEMIDLIST, LPCITEMIDLIST); 1305 LPITEMIDLIST ILFindChild(LPCITEMIDLIST, LPCITEMIDLIST); 1278 LPITEMIDLIST ILFindChild(LPCITEMIDLIST, LPCITEMIDLIST); 1306 LPITEMIDLIST ILFindLastID(LPCITEMIDLIST); 1279 LPITEMIDLIST ILFindLastID(LPCITEMIDLIST); 1307 LPITEMIDLIST ILGetNext(LPCITEMIDLIST); 1280 LPITEMIDLIST ILGetNext(LPCITEMIDLIST); 1308 UINT ILGetSize(LPCITEMIDLIST); 1281 UINT ILGetSize(LPCITEMIDLIST); 1309 void ILFree(LPITEMIDLIST); 1282 void ILFree(LPITEMIDLIST); 1310 1283 1311 HRESULT SHCoCreateInstance(LPCWSTR,REFCLSID,IUnknown*,REFIID,void**); | 1284 HRESULT SHCoCreateInstance(LPCWSTR, REFCLSID, IUnknown, REFIID, void**); 1312 } 1285 } 1313 1286 1314 version(Unicode) { 1287 version(Unicode) { 1315 alias IShellExecuteHookW IShellExecuteHook; 1288 alias IShellExecuteHookW IShellExecuteHook; 1316 alias IShellLinkW IShellLink; 1289 alias IShellLinkW IShellLink; 1317 alias BROWSEINFOW BROWSEINFO; 1290 alias BROWSEINFOW BROWSEINFO; 1318 alias SHBrowseForFolderW SHBrowseForFolder; 1291 alias SHBrowseForFolderW SHBrowseForFolder; 1319 alias SHGetDataFromIDListW SHGetDataFromIDList; 1292 alias SHGetDataFromIDListW SHGetDataFromIDList; 1320 alias SHGetPathFromIDListW SHGetPathFromIDList; 1293 alias SHGetPathFromIDListW SHGetPathFromIDList; 1321 static if (_WIN32_IE >= 0x0400) { | 1294 static if (_WIN32_IE >= 0x400) { 1322 alias SHGetSpecialFolderPathW SHGetSpecialFolderPath; 1295 alias SHGetSpecialFolderPathW SHGetSpecialFolderPath; 1323 } 1296 } 1324 alias SHGetFolderPathW SHGetFolderPath; 1297 alias SHGetFolderPathW SHGetFolderPath; 1325 static if (_WIN32_WINNT >= 0x0500) { | 1298 static if (_WIN32_WINNT >= 0x500) { > 1299 alias SHGetIconOverlayIndexW SHGetIconOverlayIndex; 1326 alias SHCreateDirectoryExW SHCreateDirectoryEx; 1300 alias SHCreateDirectoryExW SHCreateDirectoryEx; 1327 } 1301 } 1328 static if (_WIN32_WINNT >= 0x0501) { | 1302 static if (_WIN32_WINNT >= 0x501) { 1329 alias SHGetFolderPathAndSubDirW SHGetFolderPathAndSubDir; 1303 alias SHGetFolderPathAndSubDirW SHGetFolderPathAndSubDir; 1330 } 1304 } 1331 alias FILEDESCRIPTORW FILEDESCRIPTOR; 1305 alias FILEDESCRIPTORW FILEDESCRIPTOR; 1332 alias LPFILEDESCRIPTORW LPFILEDESCRIPTOR; 1306 alias LPFILEDESCRIPTORW LPFILEDESCRIPTOR; 1333 alias FILEGROUPDESCRIPTORW FILEGROUPDESCRIPTOR; 1307 alias FILEGROUPDESCRIPTORW FILEGROUPDESCRIPTOR; 1334 alias LPFILEGROUPDESCRIPTORW LPFILEGROUPDESCRIPTOR; 1308 alias LPFILEGROUPDESCRIPTORW LPFILEGROUPDESCRIPTOR; 1335 1309 ................................................................................................................................................................................ 1336 } else { 1310 } else { 1337 alias IShellExecuteHookA IShellExecuteHook; 1311 alias IShellExecuteHookA IShellExecuteHook; 1338 alias IShellLinkA IShellLink; 1312 alias IShellLinkA IShellLink; 1339 alias BROWSEINFOA BROWSEINFO; 1313 alias BROWSEINFOA BROWSEINFO; 1340 alias SHBrowseForFolderA SHBrowseForFolder; 1314 alias SHBrowseForFolderA SHBrowseForFolder; 1341 alias SHGetDataFromIDListA SHGetDataFromIDList; 1315 alias SHGetDataFromIDListA SHGetDataFromIDList; 1342 alias SHGetPathFromIDListA SHGetPathFromIDList; 1316 alias SHGetPathFromIDListA SHGetPathFromIDList; 1343 static if (_WIN32_IE >= 0x0400) { | 1317 static if (_WIN32_IE >= 0x400) { 1344 alias SHGetSpecialFolderPathA SHGetSpecialFolderPath; 1318 alias SHGetSpecialFolderPathA SHGetSpecialFolderPath; 1345 } 1319 } 1346 alias SHGetFolderPathA SHGetFolderPath; 1320 alias SHGetFolderPathA SHGetFolderPath; 1347 static if (_WIN32_WINNT >= 0x0500) { | 1321 static if (_WIN32_WINNT >= 0x500) { > 1322 alias SHGetIconOverlayIndexA SHGetIconOverlayIndex; 1348 alias SHCreateDirectoryExA SHCreateDirectoryEx; 1323 alias SHCreateDirectoryExA SHCreateDirectoryEx; 1349 } 1324 } 1350 static if (_WIN32_WINNT >= 0x0501) { | 1325 static if (_WIN32_WINNT >= 0x501) { 1351 alias SHGetFolderPathAndSubDirA SHGetFolderPathAndSubDir; 1326 alias SHGetFolderPathAndSubDirA SHGetFolderPathAndSubDir; 1352 } 1327 } 1353 alias FILEDESCRIPTORA FILEDESCRIPTOR; 1328 alias FILEDESCRIPTORA FILEDESCRIPTOR; 1354 alias LPFILEDESCRIPTORA LPFILEDESCRIPTOR; 1329 alias LPFILEDESCRIPTORA LPFILEDESCRIPTOR; 1355 alias FILEGROUPDESCRIPTORA FILEGROUPDESCRIPTOR; 1330 alias FILEGROUPDESCRIPTORA FILEGROUPDESCRIPTOR; 1356 alias LPFILEGROUPDESCRIPTORA LPFILEGROUPDESCRIPTOR; 1331 alias LPFILEGROUPDESCRIPTORA LPFILEGROUPDESCRIPTOR; 1357 } 1332 } 1358 alias BROWSEINFO* PBROWSEINFO, LPBROWSEINFO; 1333 alias BROWSEINFO* PBROWSEINFO, LPBROWSEINFO; > 1334 > 1335 static if (_WIN32_WINNT >= 0x501) { > 1336 interface IFolderView : IUnknown { > 1337 HRESULT GetAutoArrange(); > 1338 HRESULT GetCurrentViewMode(UINT); > 1339 HRESULT GetDefaultSpacing(POINT*); > 1340 HRESULT GetFocusedItem(int*); > 1341 HRESULT GetFolder(REFIID, PVOID*); > 1342 HRESULT GetItemPosition(LPCITEMIDLIST, POINT*); > 1343 HRESULT GetSelectionMarkedItem(int*); > 1344 HRESULT GetSpacing(POINT*); > 1345 HRESULT Item(int, LPITEMIDLIST*); > 1346 HRESULT ItemCount(UINT, int*); > 1347 HRESULT Items(UINT, REFIID, PVOID*); > 1348 HRESULT SelectAndPositionItems(UINT, LPCITEMIDLIST*, POINT*, DWORD); > 1349 HRESULT SelectItem(int, DWORD); > 1350 HRESULT SetCurrentViewMode(UINT); > 1351 } > 1352 alias IFolderView LPFOLDERVIEW; > 1353 }

Modified src/win32/shlwapi.d from [06ead287f10f9815] to [b2149b33a45a6395].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.shlwapi; 10 module win32.shlwapi; 11 pragma(lib, "shlwapi.lib"); | 11 pragma(lib, "shlwapi"); 12 12 13 /* Changes compared to MinGW: 13 /* Changes compared to MinGW: 14 wnsprintf functions are not included. 14 wnsprintf functions are not included. 15 // Macros unneeded for D 15 // Macros unneeded for D 16 #define StrCmpIA lstrcmpiA; 16 #define StrCmpIA lstrcmpiA; 17 #define StrCmpA lstrcmpA; 17 #define StrCmpA lstrcmpA; 18 #define StrCpyA lstrcpyA; 18 #define StrCpyA lstrcpyA; ................................................................................................................................................................................ 114 URLIS_NOHISTORY, 114 URLIS_NOHISTORY, 115 URLIS_FILEURL, 115 URLIS_FILEURL, 116 URLIS_APPLIABLE, 116 URLIS_APPLIABLE, 117 URLIS_DIRECTORY, 117 URLIS_DIRECTORY, 118 URLIS_HASQUERY 118 URLIS_HASQUERY 119 } 119 } 120 120 121 alias HANDLE HUSKEY; | 121 mixin DECLARE_HANDLE!("HUSKEY"); 122 alias HUSKEY* PHUSKEY; 122 alias HUSKEY* PHUSKEY; 123 123 124 extern (Windows) 124 extern (Windows) 125 { 125 { 126 alias HRESULT function (DLLVERSIONINFO *) DLLGETVERSIONPROC; 126 alias HRESULT function (DLLVERSIONINFO *) DLLGETVERSIONPROC; 127 } 127 } 128 128 ................................................................................................................................................................................ 153 } 153 } 154 154 155 BOOL UrlIsFileUrlW(LPCWSTR pszURL) 155 BOOL UrlIsFileUrlW(LPCWSTR pszURL) 156 { 156 { 157 return UrlIsW(pszURL, URLIS.URLIS_FILEURL); 157 return UrlIsW(pszURL, URLIS.URLIS_FILEURL); 158 } 158 } 159 159 160 HRESULT UrlUnescapeInPlaceA(LPSTR pszUrl,DWORD dwFlags) | 160 HRESULT UrlUnescapeInPlaceA(LPSTR pszUrl, DWORD dwFlags) 161 { 161 { 162 return UrlUnescapeA(pszUrl, null, null, dwFlags | URL_UNESCAPE_INPLACE); 162 return UrlUnescapeA(pszUrl, null, null, dwFlags | URL_UNESCAPE_INPLACE); 163 } 163 } 164 HRESULT UrlUnescapeInPlaceW(LPWSTR pszUrl,DWORD dwFlags) | 164 HRESULT UrlUnescapeInPlaceW(LPWSTR pszUrl, DWORD dwFlags) 165 { 165 { 166 return UrlUnescapeW(pszUrl, null, null, dwFlags | URL_UNESCAPE_INPLACE); 166 return UrlUnescapeW(pszUrl, null, null, dwFlags | URL_UNESCAPE_INPLACE); 167 } 167 } 168 168 169 extern (Windows): 169 extern (Windows): 170 BOOL ChrCmpIA(WORD,WORD); | 170 BOOL ChrCmpIA(WORD, WORD); 171 BOOL ChrCmpIW(WCHAR,WCHAR); | 171 BOOL ChrCmpIW(WCHAR, WCHAR); 172 BOOL IntlStrEqWorkerA(BOOL,LPCSTR,LPCSTR,int); | 172 BOOL IntlStrEqWorkerA(BOOL, LPCSTR, LPCSTR, int); 173 BOOL IntlStrEqWorkerW(BOOL,LPCWSTR,LPCWSTR,int); | 173 BOOL IntlStrEqWorkerW(BOOL, LPCWSTR, LPCWSTR, int); 174 HRESULT SHStrDupA(LPCSTR,LPWSTR*); | 174 HRESULT SHStrDupA(LPCSTR, LPWSTR*); 175 HRESULT SHStrDupW(LPCWSTR,LPWSTR*); | 175 HRESULT SHStrDupW(LPCWSTR, LPWSTR*); 176 LPSTR StrCatA(LPSTR,LPCSTR); | 176 LPSTR StrCatA(LPSTR, LPCSTR); 177 LPWSTR StrCatW(LPWSTR,LPCWSTR); | 177 LPWSTR StrCatW(LPWSTR, LPCWSTR); 178 LPSTR StrCatBuffA(LPSTR,LPCSTR,int); | 178 LPSTR StrCatBuffA(LPSTR, LPCSTR, int); 179 LPWSTR StrCatBuffW(LPWSTR,LPCWSTR,int); | 179 LPWSTR StrCatBuffW(LPWSTR, LPCWSTR, int); 180 DWORD StrCatChainW(LPWSTR,DWORD,DWORD,LPCWSTR); | 180 DWORD StrCatChainW(LPWSTR, DWORD, DWORD, LPCWSTR); 181 LPSTR StrChrA(LPCSTR,WORD); | 181 LPSTR StrChrA(LPCSTR, WORD); 182 LPWSTR StrChrW(LPCWSTR,WCHAR); | 182 LPWSTR StrChrW(LPCWSTR, WCHAR); 183 LPSTR StrChrIA(LPCSTR,WORD); | 183 LPSTR StrChrIA(LPCSTR, WORD); 184 LPWSTR StrChrIW(LPCWSTR,WCHAR); | 184 LPWSTR StrChrIW(LPCWSTR, WCHAR); 185 int StrCmpIW(LPCWSTR,LPCWSTR); | 185 int StrCmpIW(LPCWSTR, LPCWSTR); 186 int StrCmpW(LPCWSTR,LPCWSTR); | 186 int StrCmpW(LPCWSTR, LPCWSTR); 187 LPWSTR StrCpyW(LPWSTR,LPCWSTR); | 187 LPWSTR StrCpyW(LPWSTR, LPCWSTR); 188 LPWSTR StrCpyNW(LPWSTR,LPCWSTR,int); | 188 LPWSTR StrCpyNW(LPWSTR, LPCWSTR, int); 189 int StrCmpNA(LPCSTR,LPCSTR,int); | 189 int StrCmpNA(LPCSTR, LPCSTR, int); 190 int StrCmpNW(LPCWSTR,LPCWSTR,int); | 190 int StrCmpNW(LPCWSTR, LPCWSTR, int); 191 int StrCmpNIA(LPCSTR,LPCSTR,int); | 191 int StrCmpNIA(LPCSTR, LPCSTR, int); 192 int StrCmpNIW(LPCWSTR,LPCWSTR,int); | 192 int StrCmpNIW(LPCWSTR, LPCWSTR, int); 193 int StrCSpnA(LPCSTR,LPCSTR); | 193 int StrCSpnA(LPCSTR, LPCSTR); 194 int StrCSpnW(LPCWSTR,LPCWSTR); | 194 int StrCSpnW(LPCWSTR, LPCWSTR); 195 int StrCSpnIA(LPCSTR,LPCSTR); | 195 int StrCSpnIA(LPCSTR, LPCSTR); 196 int StrCSpnIW(LPCWSTR,LPCWSTR); | 196 int StrCSpnIW(LPCWSTR, LPCWSTR); 197 LPSTR StrDupA(LPCSTR); 197 LPSTR StrDupA(LPCSTR); 198 LPWSTR StrDupW(LPCWSTR); 198 LPWSTR StrDupW(LPCWSTR); 199 LPSTR StrFormatByteSize64A(LONGLONG,LPSTR,UINT); | 199 LPSTR StrFormatByteSize64A(LONGLONG, LPSTR, UINT); 200 LPSTR StrFormatByteSizeA(DWORD,LPSTR,UINT); | 200 LPSTR StrFormatByteSizeA(DWORD, LPSTR, UINT); 201 LPWSTR StrFormatByteSizeW(LONGLONG,LPWSTR,UINT); | 201 LPWSTR StrFormatByteSizeW(LONGLONG, LPWSTR, UINT); 202 LPSTR StrFormatKBSizeA(LONGLONG,LPSTR,UINT); | 202 LPSTR StrFormatKBSizeA(LONGLONG, LPSTR, UINT); 203 LPWSTR StrFormatKBSizeW(LONGLONG,LPWSTR,UINT); | 203 LPWSTR StrFormatKBSizeW(LONGLONG, LPWSTR, UINT); 204 int StrFromTimeIntervalA(LPSTR,UINT,DWORD,int); | 204 int StrFromTimeIntervalA(LPSTR, UINT, DWORD, int); 205 int StrFromTimeIntervalW(LPWSTR,UINT,DWORD,int); | 205 int StrFromTimeIntervalW(LPWSTR, UINT, DWORD, int); 206 BOOL StrIsIntlEqualA(BOOL,LPCSTR,LPCSTR,int); | 206 BOOL StrIsIntlEqualA(BOOL, LPCSTR, LPCSTR, int); 207 BOOL StrIsIntlEqualW(BOOL,LPCWSTR,LPCWSTR,int); | 207 BOOL StrIsIntlEqualW(BOOL, LPCWSTR, LPCWSTR, int); 208 LPSTR StrNCatA(LPSTR,LPCSTR,int); | 208 LPSTR StrNCatA(LPSTR, LPCSTR, int); 209 LPWSTR StrNCatW(LPWSTR,LPCWSTR,int); | 209 LPWSTR StrNCatW(LPWSTR, LPCWSTR, int); 210 LPSTR StrPBrkA(LPCSTR,LPCSTR); | 210 LPSTR StrPBrkA(LPCSTR, LPCSTR); 211 LPWSTR StrPBrkW(LPCWSTR,LPCWSTR); | 211 LPWSTR StrPBrkW(LPCWSTR, LPCWSTR); 212 LPSTR StrRChrA(LPCSTR,LPCSTR,WORD); | 212 LPSTR StrRChrA(LPCSTR, LPCSTR, WORD); 213 LPWSTR StrRChrW(LPCWSTR,LPCWSTR,WCHAR); | 213 LPWSTR StrRChrW(LPCWSTR, LPCWSTR, WCHAR); 214 LPSTR StrRChrIA(LPCSTR,LPCSTR,WORD); | 214 LPSTR StrRChrIA(LPCSTR, LPCSTR, WORD); 215 LPWSTR StrRChrIW(LPCWSTR,LPCWSTR,WCHAR); | 215 LPWSTR StrRChrIW(LPCWSTR, LPCWSTR, WCHAR); 216 LPSTR StrRStrIA(LPCSTR,LPCSTR,LPCSTR); | 216 LPSTR StrRStrIA(LPCSTR, LPCSTR, LPCSTR); 217 LPWSTR StrRStrIW(LPCWSTR,LPCWSTR,LPCWSTR); | 217 LPWSTR StrRStrIW(LPCWSTR, LPCWSTR, LPCWSTR); 218 int StrSpnA(LPCSTR,LPCSTR); | 218 int StrSpnA(LPCSTR, LPCSTR); 219 int StrSpnW(LPCWSTR,LPCWSTR); | 219 int StrSpnW(LPCWSTR, LPCWSTR); 220 LPSTR StrStrA(LPCSTR, LPCSTR); 220 LPSTR StrStrA(LPCSTR, LPCSTR); 221 LPSTR StrStrIA(LPCSTR,LPCSTR); | 221 LPSTR StrStrIA(LPCSTR, LPCSTR); 222 LPWSTR StrStrIW(LPCWSTR,LPCWSTR); | 222 LPWSTR StrStrIW(LPCWSTR, LPCWSTR); 223 LPWSTR StrStrW(LPCWSTR,LPCWSTR); | 223 LPWSTR StrStrW(LPCWSTR, LPCWSTR); 224 int StrToIntA(LPCSTR); 224 int StrToIntA(LPCSTR); 225 int StrToIntW(LPCWSTR); 225 int StrToIntW(LPCWSTR); 226 BOOL StrToIntExA(LPCSTR,DWORD,int*); | 226 BOOL StrToIntExA(LPCSTR, DWORD, int*); 227 BOOL StrToIntExW(LPCWSTR,DWORD,int*); | 227 BOOL StrToIntExW(LPCWSTR, DWORD, int*); 228 BOOL StrTrimA(LPSTR,LPCSTR); | 228 BOOL StrTrimA(LPSTR, LPCSTR); 229 BOOL StrTrimW(LPWSTR,LPCWSTR); | 229 BOOL StrTrimW(LPWSTR, LPCWSTR); 230 LPSTR PathAddBackslashA(LPSTR); 230 LPSTR PathAddBackslashA(LPSTR); 231 LPWSTR PathAddBackslashW(LPWSTR); 231 LPWSTR PathAddBackslashW(LPWSTR); 232 BOOL PathAddExtensionA(LPSTR,LPCSTR); | 232 BOOL PathAddExtensionA(LPSTR, LPCSTR); 233 BOOL PathAddExtensionW(LPWSTR,LPCWSTR); | 233 BOOL PathAddExtensionW(LPWSTR, LPCWSTR); 234 BOOL PathAppendA(LPSTR,LPCSTR); | 234 BOOL PathAppendA(LPSTR, LPCSTR); 235 BOOL PathAppendW(LPWSTR,LPCWSTR); | 235 BOOL PathAppendW(LPWSTR, LPCWSTR); 236 LPSTR PathBuildRootA(LPSTR,int); | 236 LPSTR PathBuildRootA(LPSTR, int); 237 LPWSTR PathBuildRootW(LPWSTR,int); | 237 LPWSTR PathBuildRootW(LPWSTR, int); 238 BOOL PathCanonicalizeA(LPSTR,LPCSTR); | 238 BOOL PathCanonicalizeA(LPSTR, LPCSTR); 239 BOOL PathCanonicalizeW(LPWSTR,LPCWSTR); | 239 BOOL PathCanonicalizeW(LPWSTR, LPCWSTR); 240 LPSTR PathCombineA(LPSTR,LPCSTR,LPCSTR); | 240 LPSTR PathCombineA(LPSTR, LPCSTR, LPCSTR); 241 LPWSTR PathCombineW(LPWSTR,LPCWSTR,LPCWSTR); | 241 LPWSTR PathCombineW(LPWSTR, LPCWSTR, LPCWSTR); 242 int PathCommonPrefixA(LPCSTR,LPCSTR,LPSTR); | 242 int PathCommonPrefixA(LPCSTR, LPCSTR, LPSTR); 243 int PathCommonPrefixW(LPCWSTR,LPCWSTR,LPWSTR); | 243 int PathCommonPrefixW(LPCWSTR, LPCWSTR, LPWSTR); 244 BOOL PathCompactPathA(HDC,LPSTR,UINT); | 244 BOOL PathCompactPathA(HDC, LPSTR, UINT); 245 BOOL PathCompactPathW(HDC,LPWSTR,UINT); | 245 BOOL PathCompactPathW(HDC, LPWSTR, UINT); 246 BOOL PathCompactPathExA(LPSTR,LPCSTR,UINT,DWORD); | 246 BOOL PathCompactPathExA(LPSTR, LPCSTR, UINT, DWORD); 247 BOOL PathCompactPathExW(LPWSTR,LPCWSTR,UINT,DWORD); | 247 BOOL PathCompactPathExW(LPWSTR, LPCWSTR, UINT, DWORD); 248 HRESULT PathCreateFromUrlA(LPCSTR,LPSTR,LPDWORD,DWORD); | 248 HRESULT PathCreateFromUrlA(LPCSTR, LPSTR, LPDWORD, DWORD); 249 HRESULT PathCreateFromUrlW(LPCWSTR,LPWSTR,LPDWORD,DWORD); | 249 HRESULT PathCreateFromUrlW(LPCWSTR, LPWSTR, LPDWORD, DWORD); 250 BOOL PathFileExistsA(LPCSTR); 250 BOOL PathFileExistsA(LPCSTR); 251 BOOL PathFileExistsW(LPCWSTR); 251 BOOL PathFileExistsW(LPCWSTR); 252 LPSTR PathFindExtensionA(LPCSTR); 252 LPSTR PathFindExtensionA(LPCSTR); 253 LPWSTR PathFindExtensionW(LPCWSTR); 253 LPWSTR PathFindExtensionW(LPCWSTR); 254 LPSTR PathFindFileNameA(LPCSTR); 254 LPSTR PathFindFileNameA(LPCSTR); 255 LPWSTR PathFindFileNameW(LPCWSTR); 255 LPWSTR PathFindFileNameW(LPCWSTR); 256 LPSTR PathFindNextComponentA(LPCSTR); 256 LPSTR PathFindNextComponentA(LPCSTR); 257 LPWSTR PathFindNextComponentW(LPCWSTR); 257 LPWSTR PathFindNextComponentW(LPCWSTR); 258 BOOL PathFindOnPathA(LPSTR,LPCSTR*); | 258 BOOL PathFindOnPathA(LPSTR, LPCSTR*); 259 BOOL PathFindOnPathW(LPWSTR,LPCWSTR*); | 259 BOOL PathFindOnPathW(LPWSTR, LPCWSTR*); 260 LPCSTR PathFindSuffixArrayA(LPCSTR,LPCSTR*,int); | 260 LPCSTR PathFindSuffixArrayA(LPCSTR, LPCSTR*, int); 261 LPCWSTR PathFindSuffixArrayW(LPCWSTR,LPCWSTR*,int); | 261 LPCWSTR PathFindSuffixArrayW(LPCWSTR, LPCWSTR*, int); 262 LPSTR PathGetArgsA(LPCSTR); 262 LPSTR PathGetArgsA(LPCSTR); 263 LPWSTR PathGetArgsW(LPCWSTR); 263 LPWSTR PathGetArgsW(LPCWSTR); 264 UINT PathGetCharTypeA(UCHAR); 264 UINT PathGetCharTypeA(UCHAR); 265 UINT PathGetCharTypeW(WCHAR); 265 UINT PathGetCharTypeW(WCHAR); 266 int PathGetDriveNumberA(LPCSTR); 266 int PathGetDriveNumberA(LPCSTR); 267 int PathGetDriveNumberW(LPCWSTR); 267 int PathGetDriveNumberW(LPCWSTR); 268 BOOL PathIsContentTypeA(LPCSTR,LPCSTR); | 268 BOOL PathIsContentTypeA(LPCSTR, LPCSTR); 269 BOOL PathIsContentTypeW(LPCWSTR,LPCWSTR); | 269 BOOL PathIsContentTypeW(LPCWSTR, LPCWSTR); 270 BOOL PathIsDirectoryA(LPCSTR); 270 BOOL PathIsDirectoryA(LPCSTR); 271 BOOL PathIsDirectoryEmptyA(LPCSTR); 271 BOOL PathIsDirectoryEmptyA(LPCSTR); 272 BOOL PathIsDirectoryEmptyW(LPCWSTR); 272 BOOL PathIsDirectoryEmptyW(LPCWSTR); 273 BOOL PathIsDirectoryW(LPCWSTR); 273 BOOL PathIsDirectoryW(LPCWSTR); 274 BOOL PathIsFileSpecA(LPCSTR); 274 BOOL PathIsFileSpecA(LPCSTR); 275 BOOL PathIsFileSpecW(LPCWSTR); 275 BOOL PathIsFileSpecW(LPCWSTR); 276 BOOL PathIsLFNFileSpecA(LPCSTR); 276 BOOL PathIsLFNFileSpecA(LPCSTR); 277 BOOL PathIsLFNFileSpecW(LPCWSTR); 277 BOOL PathIsLFNFileSpecW(LPCWSTR); 278 BOOL PathIsNetworkPathA(LPCSTR); 278 BOOL PathIsNetworkPathA(LPCSTR); 279 BOOL PathIsNetworkPathW(LPCWSTR); 279 BOOL PathIsNetworkPathW(LPCWSTR); 280 BOOL PathIsPrefixA(LPCSTR,LPCSTR); | 280 BOOL PathIsPrefixA(LPCSTR, LPCSTR); 281 BOOL PathIsPrefixW(LPCWSTR,LPCWSTR); | 281 BOOL PathIsPrefixW(LPCWSTR, LPCWSTR); 282 BOOL PathIsRelativeA(LPCSTR); 282 BOOL PathIsRelativeA(LPCSTR); 283 BOOL PathIsRelativeW(LPCWSTR); 283 BOOL PathIsRelativeW(LPCWSTR); 284 BOOL PathIsRootA(LPCSTR); 284 BOOL PathIsRootA(LPCSTR); 285 BOOL PathIsRootW(LPCWSTR); 285 BOOL PathIsRootW(LPCWSTR); 286 BOOL PathIsSameRootA(LPCSTR,LPCSTR); | 286 BOOL PathIsSameRootA(LPCSTR, LPCSTR); 287 BOOL PathIsSameRootW(LPCWSTR,LPCWSTR); | 287 BOOL PathIsSameRootW(LPCWSTR, LPCWSTR); 288 BOOL PathIsSystemFolderA(LPCSTR,DWORD); | 288 BOOL PathIsSystemFolderA(LPCSTR, DWORD); 289 BOOL PathIsSystemFolderW(LPCWSTR,DWORD); | 289 BOOL PathIsSystemFolderW(LPCWSTR, DWORD); 290 BOOL PathIsUNCA(LPCSTR); 290 BOOL PathIsUNCA(LPCSTR); 291 BOOL PathIsUNCServerA(LPCSTR); 291 BOOL PathIsUNCServerA(LPCSTR); 292 BOOL PathIsUNCServerShareA(LPCSTR); 292 BOOL PathIsUNCServerShareA(LPCSTR); 293 BOOL PathIsUNCServerShareW(LPCWSTR); 293 BOOL PathIsUNCServerShareW(LPCWSTR); 294 BOOL PathIsUNCServerW(LPCWSTR); 294 BOOL PathIsUNCServerW(LPCWSTR); 295 BOOL PathIsUNCW(LPCWSTR); 295 BOOL PathIsUNCW(LPCWSTR); 296 BOOL PathIsURLA(LPCSTR); 296 BOOL PathIsURLA(LPCSTR); 297 BOOL PathIsURLW(LPCWSTR); 297 BOOL PathIsURLW(LPCWSTR); 298 BOOL PathMakePrettyA(LPSTR); 298 BOOL PathMakePrettyA(LPSTR); 299 BOOL PathMakePrettyW(LPWSTR); 299 BOOL PathMakePrettyW(LPWSTR); 300 BOOL PathMakeSystemFolderA(LPSTR); 300 BOOL PathMakeSystemFolderA(LPSTR); 301 BOOL PathMakeSystemFolderW(LPWSTR); 301 BOOL PathMakeSystemFolderW(LPWSTR); 302 BOOL PathMatchSpecA(LPCSTR,LPCSTR); | 302 BOOL PathMatchSpecA(LPCSTR, LPCSTR); 303 BOOL PathMatchSpecW(LPCWSTR,LPCWSTR); | 303 BOOL PathMatchSpecW(LPCWSTR, LPCWSTR); 304 int PathParseIconLocationA(LPSTR); 304 int PathParseIconLocationA(LPSTR); 305 int PathParseIconLocationW(LPWSTR); 305 int PathParseIconLocationW(LPWSTR); 306 void PathQuoteSpacesA(LPSTR); 306 void PathQuoteSpacesA(LPSTR); 307 void PathQuoteSpacesW(LPWSTR); 307 void PathQuoteSpacesW(LPWSTR); 308 BOOL PathRelativePathToA(LPSTR,LPCSTR,DWORD,LPCSTR,DWORD); | 308 BOOL PathRelativePathToA(LPSTR, LPCSTR, DWORD, LPCSTR, DWORD); 309 BOOL PathRelativePathToW(LPWSTR,LPCWSTR,DWORD,LPCWSTR,DWORD); | 309 BOOL PathRelativePathToW(LPWSTR, LPCWSTR, DWORD, LPCWSTR, DWORD); 310 void PathRemoveArgsA(LPSTR); 310 void PathRemoveArgsA(LPSTR); 311 void PathRemoveArgsW(LPWSTR); 311 void PathRemoveArgsW(LPWSTR); 312 LPSTR PathRemoveBackslashA(LPSTR); 312 LPSTR PathRemoveBackslashA(LPSTR); 313 LPWSTR PathRemoveBackslashW(LPWSTR); 313 LPWSTR PathRemoveBackslashW(LPWSTR); 314 void PathRemoveBlanksA(LPSTR); 314 void PathRemoveBlanksA(LPSTR); 315 void PathRemoveBlanksW(LPWSTR); 315 void PathRemoveBlanksW(LPWSTR); 316 void PathRemoveExtensionA(LPSTR); 316 void PathRemoveExtensionA(LPSTR); 317 void PathRemoveExtensionW(LPWSTR); 317 void PathRemoveExtensionW(LPWSTR); 318 BOOL PathRemoveFileSpecA(LPSTR); 318 BOOL PathRemoveFileSpecA(LPSTR); 319 BOOL PathRemoveFileSpecW(LPWSTR); 319 BOOL PathRemoveFileSpecW(LPWSTR); 320 BOOL PathRenameExtensionA(LPSTR,LPCSTR); | 320 BOOL PathRenameExtensionA(LPSTR, LPCSTR); 321 BOOL PathRenameExtensionW(LPWSTR,LPCWSTR); | 321 BOOL PathRenameExtensionW(LPWSTR, LPCWSTR); 322 BOOL PathSearchAndQualifyA(LPCSTR,LPSTR,UINT); | 322 BOOL PathSearchAndQualifyA(LPCSTR, LPSTR, UINT); 323 BOOL PathSearchAndQualifyW(LPCWSTR,LPWSTR,UINT); | 323 BOOL PathSearchAndQualifyW(LPCWSTR, LPWSTR, UINT); 324 void PathSetDlgItemPathA(HWND,int,LPCSTR); | 324 void PathSetDlgItemPathA(HWND, int, LPCSTR); 325 void PathSetDlgItemPathW(HWND,int,LPCWSTR); | 325 void PathSetDlgItemPathW(HWND, int, LPCWSTR); 326 LPSTR PathSkipRootA(LPCSTR); 326 LPSTR PathSkipRootA(LPCSTR); 327 LPWSTR PathSkipRootW(LPCWSTR); 327 LPWSTR PathSkipRootW(LPCWSTR); 328 void PathStripPathA(LPSTR); 328 void PathStripPathA(LPSTR); 329 void PathStripPathW(LPWSTR); 329 void PathStripPathW(LPWSTR); 330 BOOL PathStripToRootA(LPSTR); 330 BOOL PathStripToRootA(LPSTR); 331 BOOL PathStripToRootW(LPWSTR); 331 BOOL PathStripToRootW(LPWSTR); 332 void PathUndecorateA(LPSTR); 332 void PathUndecorateA(LPSTR); 333 void PathUndecorateW(LPWSTR); 333 void PathUndecorateW(LPWSTR); 334 BOOL PathUnExpandEnvStringsA(LPCSTR,LPSTR,UINT); | 334 BOOL PathUnExpandEnvStringsA(LPCSTR, LPSTR, UINT); 335 BOOL PathUnExpandEnvStringsW(LPCWSTR,LPWSTR,UINT); | 335 BOOL PathUnExpandEnvStringsW(LPCWSTR, LPWSTR, UINT); 336 BOOL PathUnmakeSystemFolderA(LPSTR); 336 BOOL PathUnmakeSystemFolderA(LPSTR); 337 BOOL PathUnmakeSystemFolderW(LPWSTR); 337 BOOL PathUnmakeSystemFolderW(LPWSTR); 338 void PathUnquoteSpacesA(LPSTR); 338 void PathUnquoteSpacesA(LPSTR); 339 void PathUnquoteSpacesW(LPWSTR); 339 void PathUnquoteSpacesW(LPWSTR); 340 HRESULT SHAutoComplete(HWND,DWORD); | 340 HRESULT SHAutoComplete(HWND, DWORD); 341 BOOL SHCreateThread(LPTHREAD_START_ROUTINE,void*,DWORD,LPTHREAD_START_ROUTINE); | 341 BOOL SHCreateThread(LPTHREAD_START_ROUTINE, void*, DWORD, LPTHREAD_START_ROUTINE 342 DWORD SHCopyKeyA(HKEY,LPCSTR,HKEY,DWORD); | 342 DWORD SHCopyKeyA(HKEY, LPCSTR, HKEY, DWORD); 343 DWORD SHCopyKeyW(HKEY,LPCWSTR,HKEY,DWORD); | 343 DWORD SHCopyKeyW(HKEY, LPCWSTR, HKEY, DWORD); 344 DWORD SHDeleteEmptyKeyA(HKEY,LPCSTR); | 344 DWORD SHDeleteEmptyKeyA(HKEY, LPCSTR); 345 DWORD SHDeleteEmptyKeyW(HKEY,LPCWSTR); | 345 DWORD SHDeleteEmptyKeyW(HKEY, LPCWSTR); 346 DWORD SHDeleteKeyA(HKEY,LPCSTR); | 346 DWORD SHDeleteKeyA(HKEY, LPCSTR); 347 DWORD SHDeleteKeyW(HKEY,LPCWSTR); | 347 DWORD SHDeleteKeyW(HKEY, LPCWSTR); 348 DWORD SHEnumKeyExA(HKEY,DWORD,LPSTR,LPDWORD); | 348 DWORD SHEnumKeyExA(HKEY, DWORD, LPSTR, LPDWORD); 349 DWORD SHEnumKeyExW(HKEY,DWORD,LPWSTR,LPDWORD); | 349 DWORD SHEnumKeyExW(HKEY, DWORD, LPWSTR, LPDWORD); 350 DWORD SHQueryInfoKeyA(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD); | 350 DWORD SHQueryInfoKeyA(HKEY, LPDWORD, LPDWORD, LPDWORD, LPDWORD); 351 DWORD SHQueryInfoKeyW(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD); | 351 DWORD SHQueryInfoKeyW(HKEY, LPDWORD, LPDWORD, LPDWORD, LPDWORD); 352 DWORD SHQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD); | 352 DWORD SHQueryValueExA(HKEY, LPCSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD); 353 DWORD SHQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD); | 353 DWORD SHQueryValueExW(HKEY, LPCWSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD); 354 HRESULT SHGetThreadRef(IUnknown**); | 354 HRESULT SHGetThreadRef(IUnknown*); 355 HRESULT SHSetThreadRef(IUnknown*); | 355 HRESULT SHSetThreadRef(IUnknown); 356 BOOL SHSkipJunction(IBindCtx*, CPtr!(CLSID)); | 356 BOOL SHSkipJunction(IBindCtx, const(CLSID)*); 357 DWORD SHEnumValueA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD); | 357 DWORD SHEnumValueA(HKEY, DWORD, LPSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD); 358 DWORD SHEnumValueW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD); | 358 DWORD SHEnumValueW(HKEY, DWORD, LPWSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD); 359 DWORD SHGetValueA(HKEY,LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD); | 359 DWORD SHGetValueA(HKEY, LPCSTR, LPCSTR, LPDWORD, LPVOID, LPDWORD); 360 DWORD SHGetValueW(HKEY,LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD); | 360 DWORD SHGetValueW(HKEY, LPCWSTR, LPCWSTR, LPDWORD, LPVOID, LPDWORD); 361 DWORD SHSetValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPCVOID,DWORD); | 361 DWORD SHSetValueA(HKEY, LPCSTR, LPCSTR, DWORD, LPCVOID, DWORD); 362 DWORD SHSetValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPCVOID,DWORD); | 362 DWORD SHSetValueW(HKEY, LPCWSTR, LPCWSTR, DWORD, LPCVOID, DWORD); 363 DWORD SHDeleteValueA(HKEY,LPCSTR,LPCSTR); | 363 DWORD SHDeleteValueA(HKEY, LPCSTR, LPCSTR); 364 DWORD SHDeleteValueW(HKEY,LPCWSTR,LPCWSTR); | 364 DWORD SHDeleteValueW(HKEY, LPCWSTR, LPCWSTR); 365 HRESULT AssocCreate(CLSID, CPtr!(IID) ,CPtr!(LPVOID)); | 365 HRESULT AssocCreate(CLSID, const(IID)* , const(LPVOID)*); 366 HRESULT AssocQueryKeyA(ASSOCF,ASSOCKEY,LPCSTR,LPCSTR,HKEY*); | 366 HRESULT AssocQueryKeyA(ASSOCF, ASSOCKEY, LPCSTR, LPCSTR, HKEY*); 367 HRESULT AssocQueryKeyW(ASSOCF,ASSOCKEY,LPCWSTR,LPCWSTR,HKEY*); | 367 HRESULT AssocQueryKeyW(ASSOCF, ASSOCKEY, LPCWSTR, LPCWSTR, HKEY*); 368 HRESULT AssocQueryStringA(ASSOCF,ASSOCSTR,LPCSTR,LPCSTR,LPSTR,DWORD*); | 368 HRESULT AssocQueryStringA(ASSOCF, ASSOCSTR, LPCSTR, LPCSTR, LPSTR, DWORD*); 369 HRESULT AssocQueryStringByKeyA(ASSOCF,ASSOCSTR,HKEY,LPCSTR,LPSTR,DWORD*); | 369 HRESULT AssocQueryStringByKeyA(ASSOCF, ASSOCSTR, HKEY, LPCSTR, LPSTR, DWORD*); 370 HRESULT AssocQueryStringByKeyW(ASSOCF,ASSOCSTR,HKEY,LPCWSTR,LPWSTR,DWORD*); | 370 HRESULT AssocQueryStringByKeyW(ASSOCF, ASSOCSTR, HKEY, LPCWSTR, LPWSTR, DWORD*); 371 HRESULT AssocQueryStringW(ASSOCF,ASSOCSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD*); | 371 HRESULT AssocQueryStringW(ASSOCF, ASSOCSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD*); 372 HRESULT UrlApplySchemeA(LPCSTR,LPSTR,LPDWORD,DWORD); | 372 HRESULT UrlApplySchemeA(LPCSTR, LPSTR, LPDWORD, DWORD); 373 HRESULT UrlApplySchemeW(LPCWSTR,LPWSTR,LPDWORD,DWORD); | 373 HRESULT UrlApplySchemeW(LPCWSTR, LPWSTR, LPDWORD, DWORD); 374 HRESULT UrlCanonicalizeA(LPCSTR,LPSTR,LPDWORD,DWORD); | 374 HRESULT UrlCanonicalizeA(LPCSTR, LPSTR, LPDWORD, DWORD); 375 HRESULT UrlCanonicalizeW(LPCWSTR,LPWSTR,LPDWORD,DWORD); | 375 HRESULT UrlCanonicalizeW(LPCWSTR, LPWSTR, LPDWORD, DWORD); 376 HRESULT UrlCombineA(LPCSTR,LPCSTR,LPSTR,LPDWORD,DWORD); | 376 HRESULT UrlCombineA(LPCSTR, LPCSTR, LPSTR, LPDWORD, DWORD); 377 HRESULT UrlCombineW(LPCWSTR,LPCWSTR,LPWSTR,LPDWORD,DWORD); | 377 HRESULT UrlCombineW(LPCWSTR, LPCWSTR, LPWSTR, LPDWORD, DWORD); 378 int UrlCompareA(LPCSTR,LPCSTR,BOOL); | 378 int UrlCompareA(LPCSTR, LPCSTR, BOOL); 379 int UrlCompareW(LPCWSTR,LPCWSTR,BOOL); | 379 int UrlCompareW(LPCWSTR, LPCWSTR, BOOL); 380 HRESULT UrlCreateFromPathA(LPCSTR,LPSTR,LPDWORD,DWORD); | 380 HRESULT UrlCreateFromPathA(LPCSTR, LPSTR, LPDWORD, DWORD); 381 HRESULT UrlCreateFromPathW(LPCWSTR,LPWSTR,LPDWORD,DWORD); | 381 HRESULT UrlCreateFromPathW(LPCWSTR, LPWSTR, LPDWORD, DWORD); 382 HRESULT UrlEscapeA(LPCSTR,LPSTR,LPDWORD,DWORD); | 382 HRESULT UrlEscapeA(LPCSTR, LPSTR, LPDWORD, DWORD); 383 HRESULT UrlEscapeW(LPCWSTR,LPWSTR,LPDWORD,DWORD); | 383 HRESULT UrlEscapeW(LPCWSTR, LPWSTR, LPDWORD, DWORD); 384 LPCSTR UrlGetLocationA(LPCSTR); 384 LPCSTR UrlGetLocationA(LPCSTR); 385 LPCWSTR UrlGetLocationW(LPCWSTR); 385 LPCWSTR UrlGetLocationW(LPCWSTR); 386 HRESULT UrlGetPartA(LPCSTR,LPSTR,LPDWORD,DWORD,DWORD); | 386 HRESULT UrlGetPartA(LPCSTR, LPSTR, LPDWORD, DWORD, DWORD); 387 HRESULT UrlGetPartW(LPCWSTR,LPWSTR,LPDWORD,DWORD,DWORD); | 387 HRESULT UrlGetPartW(LPCWSTR, LPWSTR, LPDWORD, DWORD, DWORD); 388 HRESULT UrlHashA(LPCSTR,LPBYTE,DWORD); | 388 HRESULT UrlHashA(LPCSTR, LPBYTE, DWORD); 389 HRESULT UrlHashW(LPCWSTR,LPBYTE,DWORD); | 389 HRESULT UrlHashW(LPCWSTR, LPBYTE, DWORD); 390 BOOL UrlIsA(LPCSTR,URLIS); | 390 BOOL UrlIsA(LPCSTR, URLIS); 391 BOOL UrlIsW(LPCWSTR,URLIS); | 391 BOOL UrlIsW(LPCWSTR, URLIS); 392 BOOL UrlIsNoHistoryA(LPCSTR); 392 BOOL UrlIsNoHistoryA(LPCSTR); 393 BOOL UrlIsNoHistoryW(LPCWSTR); 393 BOOL UrlIsNoHistoryW(LPCWSTR); 394 BOOL UrlIsOpaqueA(LPCSTR); 394 BOOL UrlIsOpaqueA(LPCSTR); 395 BOOL UrlIsOpaqueW(LPCWSTR); 395 BOOL UrlIsOpaqueW(LPCWSTR); 396 HRESULT UrlUnescapeA(LPSTR,LPSTR,LPDWORD,DWORD); | 396 HRESULT UrlUnescapeA(LPSTR, LPSTR, LPDWORD, DWORD); 397 HRESULT UrlUnescapeW(LPWSTR,LPWSTR,LPDWORD,DWORD); | 397 HRESULT UrlUnescapeW(LPWSTR, LPWSTR, LPDWORD, DWORD); 398 DWORD SHRegCloseUSKey(HUSKEY); 398 DWORD SHRegCloseUSKey(HUSKEY); 399 LONG SHRegCreateUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,DWORD); | 399 LONG SHRegCreateUSKeyA(LPCSTR, REGSAM, HUSKEY, PHUSKEY, DWORD); 400 LONG SHRegCreateUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,DWORD); | 400 LONG SHRegCreateUSKeyW(LPCWSTR, REGSAM, HUSKEY, PHUSKEY, DWORD); 401 LONG SHRegDeleteEmptyUSKeyA(HUSKEY,LPCSTR,SHREGDEL_FLAGS); | 401 LONG SHRegDeleteEmptyUSKeyA(HUSKEY, LPCSTR, SHREGDEL_FLAGS); 402 LONG SHRegDeleteEmptyUSKeyW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS); | 402 LONG SHRegDeleteEmptyUSKeyW(HUSKEY, LPCWSTR, SHREGDEL_FLAGS); 403 LONG SHRegDeleteUSValueA(HUSKEY,LPCSTR,SHREGDEL_FLAGS); | 403 LONG SHRegDeleteUSValueA(HUSKEY, LPCSTR, SHREGDEL_FLAGS); 404 LONG SHRegDeleteUSValueW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS); | 404 LONG SHRegDeleteUSValueW(HUSKEY, LPCWSTR, SHREGDEL_FLAGS); 405 HKEY SHRegDuplicateHKey(HKEY); 405 HKEY SHRegDuplicateHKey(HKEY); 406 DWORD SHRegEnumUSKeyA(HUSKEY,DWORD,LPSTR,LPDWORD,SHREGENUM_FLAGS); | 406 DWORD SHRegEnumUSKeyA(HUSKEY, DWORD, LPSTR, LPDWORD, SHREGENUM_FLAGS); 407 DWORD SHRegEnumUSKeyW(HUSKEY,DWORD,LPWSTR,LPDWORD,SHREGENUM_FLAGS); | 407 DWORD SHRegEnumUSKeyW(HUSKEY, DWORD, LPWSTR, LPDWORD, SHREGENUM_FLAGS); 408 DWORD SHRegEnumUSValueA(HUSKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGE | 408 DWORD SHRegEnumUSValueA(HUSKEY, DWORD, LPSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD, 409 DWORD SHRegEnumUSValueW(HUSKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREG | 409 DWORD SHRegEnumUSValueW(HUSKEY, DWORD, LPWSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD 410 BOOL SHRegGetBoolUSValueA(LPCSTR,LPCSTR,BOOL,BOOL); | 410 BOOL SHRegGetBoolUSValueA(LPCSTR, LPCSTR, BOOL, BOOL); 411 BOOL SHRegGetBoolUSValueW(LPCWSTR,LPCWSTR,BOOL,BOOL); | 411 BOOL SHRegGetBoolUSValueW(LPCWSTR, LPCWSTR, BOOL, BOOL); 412 DWORD SHRegGetPathA(HKEY,LPCSTR,LPCSTR,LPSTR,DWORD); | 412 DWORD SHRegGetPathA(HKEY, LPCSTR, LPCSTR, LPSTR, DWORD); 413 DWORD SHRegGetPathW(HKEY,LPCWSTR,LPCWSTR,LPWSTR,DWORD); | 413 DWORD SHRegGetPathW(HKEY, LPCWSTR, LPCWSTR, LPWSTR, DWORD); 414 LONG SHRegGetUSValueA(LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD); | 414 LONG SHRegGetUSValueA(LPCSTR, LPCSTR, LPDWORD, LPVOID, LPDWORD, BOOL, LPVOID, DW 415 LONG SHRegGetUSValueW(LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD); | 415 LONG SHRegGetUSValueW(LPCWSTR, LPCWSTR, LPDWORD, LPVOID, LPDWORD, BOOL, LPVOID, 416 LONG SHRegOpenUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,BOOL); | 416 LONG SHRegOpenUSKeyA(LPCSTR, REGSAM, HUSKEY, PHUSKEY, BOOL); 417 LONG SHRegOpenUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,BOOL); | 417 LONG SHRegOpenUSKeyW(LPCWSTR, REGSAM, HUSKEY, PHUSKEY, BOOL); 418 DWORD SHRegQueryInfoUSKeyA(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAG | 418 DWORD SHRegQueryInfoUSKeyA(HUSKEY, LPDWORD, LPDWORD, LPDWORD, LPDWORD, SHREGENUM 419 DWORD SHRegQueryInfoUSKeyW(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAG | 419 DWORD SHRegQueryInfoUSKeyW(HUSKEY, LPDWORD, LPDWORD, LPDWORD, LPDWORD, SHREGENUM 420 LONG SHRegQueryUSValueA(HUSKEY,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD); | 420 LONG SHRegQueryUSValueA(HUSKEY, LPCSTR, LPDWORD, LPVOID, LPDWORD, BOOL, LPVOID, 421 LONG SHRegQueryUSValueW(HUSKEY,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD) | 421 LONG SHRegQueryUSValueW(HUSKEY, LPCWSTR, LPDWORD, LPVOID, LPDWORD, BOOL, LPVOID, 422 DWORD SHRegSetPathA(HKEY,LPCSTR,LPCSTR,LPCSTR,DWORD); | 422 DWORD SHRegSetPathA(HKEY, LPCSTR, LPCSTR, LPCSTR, DWORD); 423 DWORD SHRegSetPathW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR,DWORD); | 423 DWORD SHRegSetPathW(HKEY, LPCWSTR, LPCWSTR, LPCWSTR, DWORD); 424 LONG SHRegSetUSValueA(LPCSTR,LPCSTR,DWORD,LPVOID,DWORD,DWORD); | 424 LONG SHRegSetUSValueA(LPCSTR, LPCSTR, DWORD, LPVOID, DWORD, DWORD); 425 LONG SHRegSetUSValueW(LPCWSTR,LPCWSTR,DWORD,LPVOID,DWORD,DWORD); | 425 LONG SHRegSetUSValueW(LPCWSTR, LPCWSTR, DWORD, LPVOID, DWORD, DWORD); 426 LONG SHRegWriteUSValueA(HUSKEY,LPCSTR,DWORD,LPVOID,DWORD,DWORD); | 426 LONG SHRegWriteUSValueA(HUSKEY, LPCSTR, DWORD, LPVOID, DWORD, DWORD); 427 LONG SHRegWriteUSValueW(HUSKEY,LPCWSTR,DWORD,LPVOID,DWORD,DWORD); | 427 LONG SHRegWriteUSValueW(HUSKEY, LPCWSTR, DWORD, LPVOID, DWORD, DWORD); 428 HRESULT HashData(LPBYTE,DWORD,LPBYTE,DWORD); | 428 HRESULT HashData(LPBYTE, DWORD, LPBYTE, DWORD); 429 HPALETTE SHCreateShellPalette(HDC); 429 HPALETTE SHCreateShellPalette(HDC); 430 COLORREF ColorHLSToRGB(WORD,WORD,WORD); | 430 COLORREF ColorHLSToRGB(WORD, WORD, WORD); 431 COLORREF ColorAdjustLuma(COLORREF,int,BOOL); | 431 COLORREF ColorAdjustLuma(COLORREF, int, BOOL); 432 void ColorRGBToHLS(COLORREF,WORD*,WORD*,WORD*); | 432 void ColorRGBToHLS(COLORREF, WORD*, WORD*, WORD*); 433 /** Should not be necessary for D? 433 /** Should not be necessary for D? 434 extern (C): 434 extern (C): 435 int wnsprintfA(LPSTR,int,LPCSTR,...); | 435 int wnsprintfA(LPSTR, int, LPCSTR, ...); 436 int wnsprintfW(LPWSTR,int,LPCWSTR,...); | 436 int wnsprintfW(LPWSTR, int, LPCWSTR, ...); 437 extern (Windows): 437 extern (Windows): 438 int wvnsprintfA(LPSTR,int,LPCSTR,va_list); | 438 int wvnsprintfA(LPSTR, int, LPCSTR, va_list); 439 int wvnsprintfW(LPWSTR,int,LPCWSTR,va_list); | 439 int wvnsprintfW(LPWSTR, int, LPCWSTR, va_list); 440 */ 440 */ 441 441 442 HINSTANCE MLLoadLibraryA(LPCSTR,HANDLE,DWORD,LPCSTR,BOOL); | 442 HINSTANCE MLLoadLibraryA(LPCSTR, HANDLE, DWORD, LPCSTR, BOOL); 443 HINSTANCE MLLoadLibraryW(LPCWSTR,HANDLE,DWORD,LPCWSTR,BOOL); | 443 HINSTANCE MLLoadLibraryW(LPCWSTR, HANDLE, DWORD, LPCWSTR, BOOL); 444 444 445 HRESULT DllInstall(BOOL,LPCWSTR); | 445 HRESULT DllInstall(BOOL, LPCWSTR); 446 446 447 HRESULT StrRetToBufA(LPSTRRET,LPCITEMIDLIST,LPSTR,UINT); | 447 HRESULT StrRetToBufA(LPSTRRET, LPCITEMIDLIST, LPSTR, UINT); 448 HRESULT StrRetToBufW(LPSTRRET,LPCITEMIDLIST,LPWSTR,UINT); | 448 HRESULT StrRetToBufW(LPSTRRET, LPCITEMIDLIST, LPWSTR, UINT); 449 HRESULT StrRetToStrA(LPSTRRET,LPCITEMIDLIST,LPSTR*); | 449 HRESULT StrRetToStrA(LPSTRRET, LPCITEMIDLIST, LPSTR*); 450 HRESULT StrRetToStrW(LPSTRRET,LPCITEMIDLIST,LPWSTR*); | 450 HRESULT StrRetToStrW(LPSTRRET, LPCITEMIDLIST, LPWSTR*); 451 HRESULT SHCreateStreamOnFileA(LPCSTR,DWORD,IStream**); | 451 HRESULT SHCreateStreamOnFileA(LPCSTR, DWORD, IStream*); 452 HRESULT SHCreateStreamOnFileW(LPCWSTR,DWORD,IStream**); | 452 HRESULT SHCreateStreamOnFileW(LPCWSTR, DWORD, IStream*); 453 IStream* SHOpenRegStream2A(HKEY,LPCSTR,LPCSTR,DWORD); | 453 IStream SHOpenRegStream2A(HKEY, LPCSTR, LPCSTR, DWORD); 454 IStream* SHOpenRegStream2W(HKEY,LPCWSTR,LPCWSTR,DWORD); | 454 IStream SHOpenRegStream2W(HKEY, LPCWSTR, LPCWSTR, DWORD); 455 IStream* SHOpenRegStreamA(HKEY,LPCSTR,LPCSTR,DWORD); | 455 IStream SHOpenRegStreamA(HKEY, LPCSTR, LPCSTR, DWORD); 456 IStream* SHOpenRegStreamW(HKEY,LPCWSTR,LPCWSTR,DWORD); | 456 IStream SHOpenRegStreamW(HKEY, LPCWSTR, LPCWSTR, DWORD); 457 457 458 version(Unicode) { 458 version(Unicode) { 459 alias ChrCmpIW ChrCmpI; 459 alias ChrCmpIW ChrCmpI; 460 alias IntlStrEqNW IntlStrEqN; 460 alias IntlStrEqNW IntlStrEqN; 461 alias IntlStrEqNIW IntlStrEqNI; 461 alias IntlStrEqNIW IntlStrEqNI; 462 alias IntlStrEqWorkerW IntlStrEqWorker; 462 alias IntlStrEqWorkerW IntlStrEqWorker; 463 alias SHStrDupW SHStrDup; 463 alias SHStrDupW SHStrDup;

Modified src/win32/snmp.d from [c6a48338a4008905] to [36b511a95006fc3f].

Modified src/win32/sql.d from [edd10e7d6d473fa3] to [e16fff59d532178b].

Modified src/win32/sqlext.d from [4eaa68ebc36b3782] to [ace14bc40c4bc3c9].

Modified src/win32/sqltypes.d from [96280391078c825f] to [e13dc9b878fc2ab3].

26 alias PVOID PTR, HENV, HDBC, HSTMT, SQLPOINTER; 26 alias PVOID PTR, HENV, HDBC, HSTMT, SQLPOINTER; 27 alias UCHAR SQLCHAR; 27 alias UCHAR SQLCHAR; 28 // #ifndef _WIN64 28 // #ifndef _WIN64 29 alias UDWORD SQLUINTEGER; 29 alias UDWORD SQLUINTEGER; 30 // #endif 30 // #endif 31 31 32 //static if (ODBCVER >= 0x0300) { 32 //static if (ODBCVER >= 0x0300) { 33 alias HANDLE SQLHANDLE; | 33 alias TypeDef!(HANDLE) SQLHANDLE; 34 alias SQLHANDLE SQLHENV, SQLHDBC, SQLHSTMT, SQLHDESC; 34 alias SQLHANDLE SQLHENV, SQLHDBC, SQLHSTMT, SQLHDESC; 35 /* 35 /* 36 } else { 36 } else { 37 alias void* SQLHENV; 37 alias void* SQLHENV; 38 alias void* SQLHDBC; 38 alias void* SQLHDBC; 39 alias void* SQLHSTMT; 39 alias void* SQLHSTMT; 40 } 40 } ................................................................................................................................................................................ 132 132 133 const SQL_MAX_NUMERIC_LEN = 16; 133 const SQL_MAX_NUMERIC_LEN = 16; 134 134 135 struct SQL_NUMERIC_STRUCT { 135 struct SQL_NUMERIC_STRUCT { 136 SQLCHAR precision; 136 SQLCHAR precision; 137 SQLSCHAR scale; 137 SQLSCHAR scale; 138 SQLCHAR sign; 138 SQLCHAR sign; 139 SQLCHAR val[SQL_MAX_NUMERIC_LEN]; | 139 SQLCHAR[SQL_MAX_NUMERIC_LEN] val; 140 } 140 } 141 // } ODBCVER >= 0x0300 141 // } ODBCVER >= 0x0300 142 alias GUID SQLGUID; 142 alias GUID SQLGUID;

Modified src/win32/sqlucode.d from [99f932d0d28c09d9] to [bcc8810ff536a408].

Added src/win32/sspi.d version [e02537c1e2b2a8a2]

> 1 /***********************************************************************\ > 2 * sspi.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Translated from MinGW Windows headers * > 7 * by Ellery Newcomer * > 8 * * > 9 * Placed into public domain * > 10 \***********************************************************************/ > 11 module win32.sspi; > 12 > 13 import win32.windef; > 14 import win32.ntdef; > 15 import win32.w32api; > 16 import win32.security; > 17 import win32.ntsecapi; > 18 import win32.subauth; > 19 > 20 enum :ULONG{ > 21 SECPKG_CRED_INBOUND = 1, > 22 SECPKG_CRED_OUTBOUND = 2, > 23 SECPKG_CRED_BOTH = (SECPKG_CRED_OUTBOUND|SECPKG_CRED_INBOUND), > 24 SECPKG_CRED_ATTR_NAMES = 1, > 25 } > 26 > 27 enum :ULONG{ > 28 SECPKG_FLAG_INTEGRITY = 1, > 29 SECPKG_FLAG_PRIVACY = 2, > 30 SECPKG_FLAG_TOKEN_ONLY = 4, > 31 SECPKG_FLAG_DATAGRAM = 8, > 32 SECPKG_FLAG_CONNECTION = 16, > 33 SECPKG_FLAG_MULTI_REQUIRED = 32, > 34 SECPKG_FLAG_CLIENT_ONLY = 64, > 35 SECPKG_FLAG_EXTENDED_ERROR = 128, > 36 SECPKG_FLAG_IMPERSONATION = 256, > 37 SECPKG_FLAG_ACCEPT_WIN32_NAME = 512, > 38 SECPKG_FLAG_STREAM = 1024, > 39 } > 40 > 41 enum :ULONG{ > 42 SECPKG_ATTR_AUTHORITY = 6, > 43 SECPKG_ATTR_CONNECTION_INFO = 90, > 44 SECPKG_ATTR_ISSUER_LIST = 80, > 45 SECPKG_ATTR_ISSUER_LIST_EX = 89, > 46 SECPKG_ATTR_KEY_INFO = 5, > 47 SECPKG_ATTR_LIFESPAN = 2, > 48 SECPKG_ATTR_LOCAL_CERT_CONTEXT = 84, > 49 SECPKG_ATTR_LOCAL_CRED = 82, > 50 SECPKG_ATTR_NAMES = 1, > 51 SECPKG_ATTR_PROTO_INFO = 7, > 52 SECPKG_ATTR_REMOTE_CERT_CONTEXT = 83, > 53 SECPKG_ATTR_REMOTE_CRED = 81, > 54 SECPKG_ATTR_SIZES = 0, > 55 SECPKG_ATTR_STREAM_SIZES = 4, > 56 } > 57 > 58 enum :ULONG{ > 59 SECBUFFER_EMPTY = 0, > 60 SECBUFFER_DATA = 1, > 61 SECBUFFER_TOKEN = 2, > 62 SECBUFFER_PKG_PARAMS = 3, > 63 SECBUFFER_MISSING = 4, > 64 SECBUFFER_EXTRA = 5, > 65 SECBUFFER_STREAM_TRAILER = 6, > 66 SECBUFFER_STREAM_HEADER = 7, > 67 SECBUFFER_PADDING = 9, > 68 SECBUFFER_STREAM = 10, > 69 SECBUFFER_READONLY = 0x80000000, > 70 SECBUFFER_ATTRMASK = 0xf0000000, > 71 } > 72 > 73 enum UNISP_NAME_A = "Microsoft Unified Security Protocol Provider"; > 74 enum UNISP_NAME_W = "Microsoft Unified Security Protocol Provider"w; > 75 enum SECBUFFER_VERSION = 0; > 76 > 77 alias UNICODE_STRING SECURITY_STRING; > 78 alias UNICODE_STRING* PSECURITY_STRING; > 79 > 80 extern(Windows): > 81 > 82 struct SecHandle { > 83 ULONG_PTR dwLower; > 84 ULONG_PTR dwUpper; > 85 } > 86 alias SecHandle* PSecHandle; > 87 struct SecBuffer { > 88 ULONG cbBuffer; > 89 ULONG BufferType; > 90 PVOID pvBuffer; > 91 } > 92 alias SecBuffer* PSecBuffer; > 93 alias SecHandle CredHandle; > 94 alias PSecHandle PCredHandle; > 95 alias SecHandle CtxtHandle; > 96 alias PSecHandle PCtxtHandle; > 97 struct SECURITY_INTEGER { > 98 uint LowPart; > 99 int HighPart; > 100 } > 101 alias SECURITY_INTEGER TimeStamp; > 102 alias SECURITY_INTEGER* PTimeStamp; > 103 struct SecBufferDesc { > 104 ULONG ulVersion; > 105 ULONG cBuffers; > 106 PSecBuffer pBuffers; > 107 } > 108 alias SecBufferDesc* PSecBufferDesc; > 109 struct SecPkgContext_StreamSizes { > 110 ULONG cbHeader; > 111 ULONG cbTrailer; > 112 ULONG cbMaximumMessage; > 113 ULONG cBuffers; > 114 ULONG cbBlockSize; > 115 } > 116 alias SecPkgContext_StreamSizes* PSecPkgContext_StreamSizes; > 117 struct SecPkgContext_Sizes { > 118 ULONG cbMaxToken; > 119 ULONG cbMaxSignature; > 120 ULONG cbBlockSize; > 121 ULONG cbSecurityTrailer; > 122 } > 123 alias SecPkgContext_Sizes* PSecPkgContext_Sizes; > 124 struct SecPkgContext_AuthorityW { > 125 SEC_WCHAR* sAuthorityName; > 126 } > 127 alias SecPkgContext_AuthorityW* PSecPkgContext_AuthorityW; > 128 struct SecPkgContext_AuthorityA { > 129 SEC_CHAR* sAuthorityName; > 130 } > 131 alias SecPkgContext_AuthorityA* PSecPkgContext_AuthorityA; > 132 struct SecPkgContext_KeyInfoW { > 133 SEC_WCHAR* sSignatureAlgorithmName; > 134 SEC_WCHAR* sEncryptAlgorithmName; > 135 ULONG KeySize; > 136 ULONG SignatureAlgorithm; > 137 ULONG EncryptAlgorithm; > 138 } > 139 alias SecPkgContext_KeyInfoW* PSecPkgContext_KeyInfoW; > 140 struct SecPkgContext_KeyInfoA { > 141 SEC_CHAR* sSignatureAlgorithmName; > 142 SEC_CHAR* sEncryptAlgorithmName; > 143 ULONG KeySize; > 144 ULONG SignatureAlgorithm; > 145 ULONG EncryptAlgorithm; > 146 } > 147 alias SecPkgContext_KeyInfoA* PSecPkgContext_KeyInfoA; > 148 struct SecPkgContext_LifeSpan { > 149 TimeStamp tsStart; > 150 TimeStamp tsExpiry; > 151 } > 152 alias SecPkgContext_LifeSpan* PSecPkgContext_LifeSpan; > 153 struct SecPkgContext_NamesW { > 154 SEC_WCHAR* sUserName; > 155 } > 156 alias SecPkgContext_NamesW* PSecPkgContext_NamesW; > 157 struct SecPkgContext_NamesA { > 158 SEC_CHAR* sUserName; > 159 } > 160 alias SecPkgContext_NamesA* PSecPkgContext_NamesA; > 161 struct SecPkgInfoW { > 162 ULONG fCapabilities; > 163 USHORT wVersion; > 164 USHORT wRPCID; > 165 ULONG cbMaxToken; > 166 SEC_WCHAR* Name; > 167 SEC_WCHAR* Comment; > 168 } > 169 alias SecPkgInfoW* PSecPkgInfoW; > 170 struct SecPkgInfoA { > 171 ULONG fCapabilities; > 172 USHORT wVersion; > 173 USHORT wRPCID; > 174 ULONG cbMaxToken; > 175 SEC_CHAR* Name; > 176 SEC_CHAR* Comment; > 177 } > 178 alias SecPkgInfoA* PSecPkgInfoA; > 179 /* supported only in win2k+, so it should be a PSecPkgInfoW */ > 180 /* PSDK does not say it has ANSI/Unicode versions */ > 181 struct SecPkgContext_PackageInfo { > 182 PSecPkgInfoW PackageInfo; > 183 } > 184 alias SecPkgContext_PackageInfo* PSecPkgContext_PackageInfo; > 185 struct SecPkgCredentials_NamesW { > 186 SEC_WCHAR* sUserName; > 187 } > 188 alias SecPkgCredentials_NamesW* PSecPkgCredentials_NamesW; > 189 struct SecPkgCredentials_NamesA { > 190 SEC_CHAR* sUserName; > 191 } > 192 alias SecPkgCredentials_NamesA* PSecPkgCredentials_NamesA; > 193 > 194 /* TODO: missing type in SDK */ > 195 alias void function() SEC_GET_KEY_FN; > 196 > 197 alias SECURITY_STATUS function(PULONG,PSecPkgInfoW*) ENUMERATE_SECURITY_PACKAGES > 198 alias SECURITY_STATUS function(PULONG,PSecPkgInfoA*) ENUMERATE_SECURITY_PACKAGES > 199 alias SECURITY_STATUS function(PCredHandle,ULONG,PVOID) QUERY_CREDENTIALS_ATTRIB > 200 alias SECURITY_STATUS function(PCredHandle,ULONG,PVOID) QUERY_CREDENTIALS_ATTRIB > 201 alias SECURITY_STATUS function(SEC_WCHAR*,SEC_WCHAR*,ULONG,PLUID,PVOID,SEC_GET_K > 202 alias SECURITY_STATUS function(SEC_CHAR*,SEC_CHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY > 203 alias SECURITY_STATUS function(PCredHandle) FREE_CREDENTIALS_HANDLE_FN; > 204 alias SECURITY_STATUS function(PCredHandle,PCtxtHandle,SEC_WCHAR*,ULONG,ULONG,UL > 205 alias SECURITY_STATUS function(PCredHandle,PCtxtHandle,SEC_CHAR*,ULONG,ULONG,ULO > 206 alias SECURITY_STATUS function(PCredHandle,PCtxtHandle,PSecBufferDesc,ULONG,ULON > 207 alias SECURITY_STATUS function(PCtxtHandle,PSecBufferDesc) COMPLETE_AUTH_TOKEN_F > 208 alias SECURITY_STATUS function(PCtxtHandle) DELETE_SECURITY_CONTEXT_FN; > 209 alias SECURITY_STATUS function(PCtxtHandle,PSecBufferDesc) APPLY_CONTROL_TOKEN_F > 210 alias SECURITY_STATUS function(PCtxtHandle,PSecBufferDesc) APPLY_CONTROL_TOKEN_F > 211 alias SECURITY_STATUS function(PCtxtHandle,ULONG,PVOID) QUERY_CONTEXT_ATTRIBUTES > 212 alias SECURITY_STATUS function(PCtxtHandle,ULONG,PVOID) QUERY_CONTEXT_ATTRIBUTES > 213 alias SECURITY_STATUS function(PCtxtHandle) IMPERSONATE_SECURITY_CONTEXT_FN; > 214 alias SECURITY_STATUS function(PCtxtHandle) REVERT_SECURITY_CONTEXT_FN; > 215 alias SECURITY_STATUS function(PCtxtHandle,ULONG,PSecBufferDesc,ULONG) MAKE_SIGN > 216 alias SECURITY_STATUS function(PCtxtHandle,PSecBufferDesc,ULONG,PULONG) VERIFY_S > 217 alias SECURITY_STATUS function(PVOID) FREE_CONTEXT_BUFFER_FN; > 218 alias SECURITY_STATUS function(SEC_CHAR*,PSecPkgInfoA*) QUERY_SECURITY_PACKAGE_I > 219 alias SECURITY_STATUS function(PCtxtHandle,HANDLE*) QUERY_SECURITY_CONTEXT_TOKEN > 220 alias SECURITY_STATUS function(SEC_WCHAR*,PSecPkgInfoW*) QUERY_SECURITY_PACKAGE_ > 221 alias SECURITY_STATUS function(PCtxtHandle,ULONG,PSecBufferDesc,ULONG) ENCRYPT_M > 222 alias SECURITY_STATUS function(PCtxtHandle,PSecBufferDesc,ULONG,PULONG) DECRYPT_ > 223 > 224 /* No, it really is FreeCredentialsHandle, see the thread beginning > 225 * http://sourceforge.net/mailarchive/message.php?msg_id=4321080 for a > 226 * discovery discussion. */ > 227 struct SecurityFunctionTableW{ > 228 uint dwVersion; > 229 ENUMERATE_SECURITY_PACKAGES_FN_W EnumerateSecurityPackagesW; > 230 QUERY_CREDENTIALS_ATTRIBUTES_FN_W QueryCredentialsAttributesW; > 231 ACQUIRE_CREDENTIALS_HANDLE_FN_W AcquireCredentialsHandleW; > 232 FREE_CREDENTIALS_HANDLE_FN FreeCredentialsHandle; > 233 void* Reserved2; > 234 INITIALIZE_SECURITY_CONTEXT_FN_W InitializeSecurityContextW; > 235 ACCEPT_SECURITY_CONTEXT_FN AcceptSecurityContext; > 236 COMPLETE_AUTH_TOKEN_FN CompleteAuthToken; > 237 DELETE_SECURITY_CONTEXT_FN DeleteSecurityContext; > 238 APPLY_CONTROL_TOKEN_FN_W ApplyControlTokenW; > 239 QUERY_CONTEXT_ATTRIBUTES_FN_W QueryContextAttributesW; > 240 IMPERSONATE_SECURITY_CONTEXT_FN ImpersonateSecurityContext; > 241 REVERT_SECURITY_CONTEXT_FN RevertSecurityContext; > 242 MAKE_SIGNATURE_FN MakeSignature; > 243 VERIFY_SIGNATURE_FN VerifySignature; > 244 FREE_CONTEXT_BUFFER_FN FreeContextBuffer; > 245 QUERY_SECURITY_PACKAGE_INFO_FN_W QuerySecurityPackageInfoW; > 246 void* Reserved3; > 247 void* Reserved4; > 248 void* Reserved5; > 249 void* Reserved6; > 250 void* Reserved7; > 251 void* Reserved8; > 252 QUERY_SECURITY_CONTEXT_TOKEN_FN QuerySecurityContextToken; > 253 ENCRYPT_MESSAGE_FN EncryptMessage; > 254 DECRYPT_MESSAGE_FN DecryptMessage; > 255 } > 256 alias SecurityFunctionTableW* PSecurityFunctionTableW; > 257 struct SecurityFunctionTableA{ > 258 uint dwVersion; > 259 ENUMERATE_SECURITY_PACKAGES_FN_A EnumerateSecurityPackagesA; > 260 QUERY_CREDENTIALS_ATTRIBUTES_FN_A QueryCredentialsAttributesA; > 261 ACQUIRE_CREDENTIALS_HANDLE_FN_A AcquireCredentialsHandleA; > 262 FREE_CREDENTIALS_HANDLE_FN FreeCredentialsHandle; > 263 void* Reserved2; > 264 INITIALIZE_SECURITY_CONTEXT_FN_A InitializeSecurityContextA; > 265 ACCEPT_SECURITY_CONTEXT_FN AcceptSecurityContext; > 266 COMPLETE_AUTH_TOKEN_FN CompleteAuthToken; > 267 DELETE_SECURITY_CONTEXT_FN DeleteSecurityContext; > 268 APPLY_CONTROL_TOKEN_FN_A ApplyControlTokenA; > 269 QUERY_CONTEXT_ATTRIBUTES_FN_A QueryContextAttributesA; > 270 IMPERSONATE_SECURITY_CONTEXT_FN ImpersonateSecurityContext; > 271 REVERT_SECURITY_CONTEXT_FN RevertSecurityContext; > 272 MAKE_SIGNATURE_FN MakeSignature; > 273 VERIFY_SIGNATURE_FN VerifySignature; > 274 FREE_CONTEXT_BUFFER_FN FreeContextBuffer; > 275 QUERY_SECURITY_PACKAGE_INFO_FN_A QuerySecurityPackageInfoA; > 276 void* Reserved3; > 277 void* Reserved4; > 278 void* Unknown1; > 279 void* Unknown2; > 280 void* Unknown3; > 281 void* Unknown4; > 282 void* Unknown5; > 283 ENCRYPT_MESSAGE_FN EncryptMessage; > 284 DECRYPT_MESSAGE_FN DecryptMessage; > 285 } > 286 alias SecurityFunctionTableA* PSecurityFunctionTableA; > 287 alias PSecurityFunctionTableA function() INIT_SECURITY_INTERFACE_A; > 288 alias PSecurityFunctionTableW function() INIT_SECURITY_INTERFACE_W; > 289 > 290 SECURITY_STATUS FreeCredentialsHandle(PCredHandle); > 291 SECURITY_STATUS EnumerateSecurityPackagesA(PULONG,PSecPkgInfoA*); > 292 SECURITY_STATUS EnumerateSecurityPackagesW(PULONG,PSecPkgInfoW*); > 293 SECURITY_STATUS AcquireCredentialsHandleA(SEC_CHAR*,SEC_CHAR*,ULONG,PLUID,PVOID, > 294 SECURITY_STATUS AcquireCredentialsHandleW(SEC_WCHAR*,SEC_WCHAR*,ULONG,PLUID,PVOI > 295 SECURITY_STATUS AcceptSecurityContext(PCredHandle,PCtxtHandle,PSecBufferDesc,ULO > 296 SECURITY_STATUS InitializeSecurityContextA(PCredHandle,PCtxtHandle,SEC_CHAR*,ULO > 297 SECURITY_STATUS InitializeSecurityContextW(PCredHandle,PCtxtHandle,SEC_WCHAR*,UL > 298 SECURITY_STATUS FreeContextBuffer(PVOID); > 299 SECURITY_STATUS QueryContextAttributesA(PCtxtHandle,ULONG,PVOID); > 300 SECURITY_STATUS QueryContextAttributesW(PCtxtHandle,ULONG,PVOID); > 301 SECURITY_STATUS QueryCredentialsAttributesA(PCredHandle,ULONG,PVOID); > 302 SECURITY_STATUS QueryCredentialsAttributesW(PCredHandle,ULONG,PVOID); > 303 static if(_WIN32_WINNT >= 0x500){ > 304 SECURITY_STATUS QuerySecurityContextToken(PCtxtHandle,HANDLE*); > 305 } > 306 SECURITY_STATUS DecryptMessage(PCtxtHandle,PSecBufferDesc,ULONG,PULONG); > 307 SECURITY_STATUS EncryptMessage(PCtxtHandle,ULONG,PSecBufferDesc,ULONG); > 308 SECURITY_STATUS DeleteSecurityContext(PCtxtHandle); > 309 SECURITY_STATUS CompleteAuthToken(PCtxtHandle,PSecBufferDesc); > 310 SECURITY_STATUS ApplyControlTokenA(PCtxtHandle,PSecBufferDesc); > 311 SECURITY_STATUS ApplyControlTokenW(PCtxtHandle,PSecBufferDesc); > 312 SECURITY_STATUS ImpersonateSecurityContext(PCtxtHandle); > 313 SECURITY_STATUS RevertSecurityContext(PCtxtHandle); > 314 SECURITY_STATUS MakeSignature(PCtxtHandle,ULONG,PSecBufferDesc,ULONG); > 315 SECURITY_STATUS VerifySignature(PCtxtHandle,PSecBufferDesc,ULONG,PULONG); > 316 SECURITY_STATUS QuerySecurityPackageInfoA(SEC_CHAR*,PSecPkgInfoA*); > 317 SECURITY_STATUS QuerySecurityPackageInfoW(SEC_WCHAR*,PSecPkgInfoW*); > 318 PSecurityFunctionTableA InitSecurityInterfaceA(); > 319 PSecurityFunctionTableW InitSecurityInterfaceW(); > 320 > 321 version(Unicode) { > 322 alias UNISP_NAME_W UNISP_NAME; > 323 alias SecPkgInfoW SecPkgInfo; > 324 alias PSecPkgInfoW PSecPkgInfo; > 325 alias SecPkgCredentials_NamesW SecPkgCredentials_Names; > 326 alias PSecPkgCredentials_NamesW PSecPkgCredentials_Names; > 327 alias SecPkgContext_AuthorityW SecPkgContext_Authority; > 328 alias PSecPkgContext_AuthorityW PSecPkgContext_Authority; > 329 alias SecPkgContext_KeyInfoW SecPkgContext_KeyInfo; > 330 alias PSecPkgContext_KeyInfoW PSecPkgContext_KeyInfo; > 331 alias SecPkgContext_NamesW SecPkgContext_Names; > 332 alias PSecPkgContext_NamesW PSecPkgContext_Names; > 333 alias SecurityFunctionTableW SecurityFunctionTable; > 334 alias PSecurityFunctionTableW PSecurityFunctionTable; > 335 alias AcquireCredentialsHandleW AcquireCredentialsHandle; > 336 alias EnumerateSecurityPackagesW EnumerateSecurityPackages; > 337 alias InitializeSecurityContextW InitializeSecurityContext; > 338 alias QueryContextAttributesW QueryContextAttributes; > 339 alias QueryCredentialsAttributesW QueryCredentialsAttributes; > 340 alias QuerySecurityPackageInfoW QuerySecurityPackageInfo; > 341 alias ApplyControlTokenW ApplyControlToken; > 342 alias ENUMERATE_SECURITY_PACKAGES_FN_W ENUMERATE_SECURITY_PACKAGES_FN; > 343 alias QUERY_CREDENTIALS_ATTRIBUTES_FN_W QUERY_CREDENTIALS_ATTRIBUTES_FN; > 344 alias ACQUIRE_CREDENTIALS_HANDLE_FN_W ACQUIRE_CREDENTIALS_HANDLE_FN; > 345 alias INITIALIZE_SECURITY_CONTEXT_FN_W INITIALIZE_SECURITY_CONTEXT_FN; > 346 alias APPLY_CONTROL_TOKEN_FN_W APPLY_CONTROL_TOKEN_FN; > 347 alias QUERY_CONTEXT_ATTRIBUTES_FN_W QUERY_CONTEXT_ATTRIBUTES_FN; > 348 alias QUERY_SECURITY_PACKAGE_INFO_FN_W QUERY_SECURITY_PACKAGE_INFO_FN; > 349 alias INIT_SECURITY_INTERFACE_W INIT_SECURITY_INTERFACE; > 350 }else{ > 351 alias UNISP_NAME_A UNISP_NAME; > 352 alias SecPkgInfoA SecPkgInfo; > 353 alias PSecPkgInfoA PSecPkgInfo; > 354 alias SecPkgCredentials_NamesA SecPkgCredentials_Names; > 355 alias PSecPkgCredentials_NamesA PSecPkgCredentials_Names; > 356 alias SecPkgContext_AuthorityA SecPkgContext_Authority; > 357 alias PSecPkgContext_AuthorityA PSecPkgContext_Authority; > 358 alias SecPkgContext_KeyInfoA SecPkgContext_KeyInfo; > 359 alias PSecPkgContext_KeyInfoA PSecPkgContext_KeyInfo; > 360 alias SecPkgContext_NamesA SecPkgContext_Names; > 361 alias PSecPkgContext_NamesA PSecPkgContext_Names; > 362 alias SecurityFunctionTableA SecurityFunctionTable; > 363 alias PSecurityFunctionTableA PSecurityFunctionTable; > 364 alias AcquireCredentialsHandleA AcquireCredentialsHandle; > 365 alias EnumerateSecurityPackagesA EnumerateSecurityPackages; > 366 alias InitializeSecurityContextA InitializeSecurityContext; > 367 alias QueryContextAttributesA QueryContextAttributes; > 368 alias QueryCredentialsAttributesA QueryCredentialsAttributes; > 369 alias QuerySecurityPackageInfoA QuerySecurityPackageInfo; > 370 alias ApplyControlTokenA ApplyControlToken; > 371 alias ENUMERATE_SECURITY_PACKAGES_FN_A ENUMERATE_SECURITY_PACKAGES_FN; > 372 alias QUERY_CREDENTIALS_ATTRIBUTES_FN_A QUERY_CREDENTIALS_ATTRIBUTES_FN; > 373 alias ACQUIRE_CREDENTIALS_HANDLE_FN_A ACQUIRE_CREDENTIALS_HANDLE_FN; > 374 alias INITIALIZE_SECURITY_CONTEXT_FN_A INITIALIZE_SECURITY_CONTEXT_FN; > 375 alias APPLY_CONTROL_TOKEN_FN_A APPLY_CONTROL_TOKEN_FN; > 376 alias QUERY_CONTEXT_ATTRIBUTES_FN_A QUERY_CONTEXT_ATTRIBUTES_FN; > 377 alias QUERY_SECURITY_PACKAGE_INFO_FN_A QUERY_SECURITY_PACKAGE_INFO_FN; > 378 alias INIT_SECURITY_INTERFACE_A INIT_SECURITY_INTERFACE; > 379 } > 380

Modified src/win32/subauth.d from [f644874abd87ad5a] to [2e201cc81211b5e1].

102 USHORT Length; 102 USHORT Length; 103 USHORT MaximumLength; 103 USHORT MaximumLength; 104 PCHAR Buffer; 104 PCHAR Buffer; 105 } 105 } 106 alias STRING* PSTRING; 106 alias STRING* PSTRING; 107 +/ 107 +/ 108 108 109 alias HANDLE SAM_HANDLE; | 109 mixin DECLARE_HANDLE!("SAM_HANDLE"); 110 alias HANDLE* PSAM_HANDLE; | 110 alias SAM_HANDLE* PSAM_HANDLE; 111 111 112 struct OLD_LARGE_INTEGER { 112 struct OLD_LARGE_INTEGER { 113 ULONG LowPart; 113 ULONG LowPart; 114 LONG HighPart; 114 LONG HighPart; 115 } 115 } 116 alias OLD_LARGE_INTEGER* POLD_LARGE_INTEGER; 116 alias OLD_LARGE_INTEGER* POLD_LARGE_INTEGER; 117 117 ................................................................................................................................................................................ 127 127 128 128 129 const CYPHER_BLOCK_LENGTH = 8; 129 const CYPHER_BLOCK_LENGTH = 8; 130 const USER_SESSION_KEY_LENGTH = CYPHER_BLOCK_LENGTH * 2; 130 const USER_SESSION_KEY_LENGTH = CYPHER_BLOCK_LENGTH * 2; 131 const CLEAR_BLOCK_LENGTH = 8; 131 const CLEAR_BLOCK_LENGTH = 8; 132 132 133 struct CYPHER_BLOCK { 133 struct CYPHER_BLOCK { 134 CHAR data[CYPHER_BLOCK_LENGTH]; | 134 CHAR[CYPHER_BLOCK_LENGTH] data; 135 } 135 } 136 alias CYPHER_BLOCK* PCYPHER_BLOCK; 136 alias CYPHER_BLOCK* PCYPHER_BLOCK; 137 137 138 struct CLEAR_BLOCK { 138 struct CLEAR_BLOCK { 139 CHAR data[CLEAR_BLOCK_LENGTH]; | 139 CHAR[CLEAR_BLOCK_LENGTH] data; 140 } 140 } 141 alias CLEAR_BLOCK* PCLEAR_BLOCK; 141 alias CLEAR_BLOCK* PCLEAR_BLOCK; 142 142 143 struct LM_OWF_PASSWORD { 143 struct LM_OWF_PASSWORD { 144 CYPHER_BLOCK data[2]; | 144 CYPHER_BLOCK[2] data; 145 } 145 } 146 alias LM_OWF_PASSWORD* PLM_OWF_PASSWORD; 146 alias LM_OWF_PASSWORD* PLM_OWF_PASSWORD; 147 147 148 struct USER_SESSION_KEY { 148 struct USER_SESSION_KEY { 149 CYPHER_BLOCK data[2]; | 149 CYPHER_BLOCK[2] data; 150 } 150 } 151 alias USER_SESSION_KEY* PUSER_SESSION_KEY; 151 alias USER_SESSION_KEY* PUSER_SESSION_KEY; 152 152 153 alias CLEAR_BLOCK LM_CHALLENGE; 153 alias CLEAR_BLOCK LM_CHALLENGE; 154 alias LM_CHALLENGE* PLM_CHALLENGE; 154 alias LM_CHALLENGE* PLM_CHALLENGE; 155 155 156 alias LM_OWF_PASSWORD NT_OWF_PASSWORD; 156 alias LM_OWF_PASSWORD NT_OWF_PASSWORD;

Added src/win32/testall.d version [bab623b5478ae8fc]

> 1 // Used only for testing -- imports all windows headers. > 2 module win32.testall; > 3 > 4 import win32.core; > 5 import win32.windows; > 6 import win32.commctrl; > 7 import win32.setupapi; > 8 > 9 import win32.directx.dinput8; > 10 import win32.directx.dsound8; > 11 > 12 import win32.directx.d3d9; > 13 import win32.directx.d3dx9; > 14 import win32.directx.dxerr; > 15 import win32.directx.dxerr8; > 16 import win32.directx.dxerr9; > 17 > 18 import win32.directx.d3d10; > 19 import win32.directx.d3d10effect; > 20 import win32.directx.d3d10shader; > 21 import win32.directx.d3dx10; > 22 import win32.directx.dxgi; > 23 > 24 import win32.oleacc; > 25 import win32.comcat; > 26 import win32.cpl; > 27 import win32.cplext; > 28 import win32.custcntl; > 29 import win32.ocidl; > 30 import win32.olectl; > 31 import win32.oledlg; > 32 import win32.objsafe; > 33 import win32.ole; > 34 > 35 import win32.shldisp; > 36 import win32.shlobj; > 37 import win32.shlwapi; > 38 import win32.regstr; > 39 import win32.richole; > 40 import win32.tmschema; > 41 import win32.servprov; > 42 import win32.exdisp; > 43 import win32.exdispid; > 44 import win32.idispids; > 45 import win32.mshtml; > 46 > 47 import win32.lm; > 48 import win32.lmbrowsr; > 49 > 50 import win32.sql; > 51 import win32.sqlext; > 52 import win32.sqlucode; > 53 import win32.odbcinst; > 54 > 55 import win32.imagehlp; > 56 import win32.intshcut; > 57 import win32.iphlpapi; > 58 import win32.isguids; > 59 > 60 import win32.subauth; > 61 import win32.rasdlg; > 62 import win32.rassapi; > 63 > 64 import win32.mapi; > 65 import win32.mciavi; > 66 import win32.mcx; > 67 import win32.mgmtapi; > 68 > 69 import win32.nddeapi; > 70 import win32.msacm; > 71 import win32.nspapi; > 72 > 73 import win32.ntdef; > 74 import win32.ntldap; > 75 import win32.ntsecapi; > 76 > 77 import win32.pbt; > 78 import win32.powrprof; > 79 import win32.rapi; > 80 > 81 import win32.wininet; > 82 import win32.winioctl; > 83 import win32.winldap; > 84 > 85 import win32.dbt; > 86 > 87 import win32.rpcdce2; > 88 > 89 import win32.tlhelp32; > 90 > 91 import win32.httpext; > 92 import win32.lmwksta; > 93 import win32.mswsock; > 94 import win32.objidl; > 95 import win32.ole2ver; > 96 import win32.psapi; > 97 import win32.raserror; > 98 import win32.usp10; > 99 import win32.vfw; > 100 > 101 version (WindowsVista) { > 102 version = WINDOWS_XP_UP; > 103 } else version (Windows2003) { > 104 version = WINDOWS_XP_UP; > 105 } else version (WindowsXP) { > 106 version = WINDOWS_XP_UP; > 107 } > 108 > 109 version (WINDOWS_XP_UP) { > 110 import win32.errorrep; > 111 import win32.lmmsg; > 112 import win32.reason; > 113 import win32.secext; > 114 } > 115 import win32.aclapi; > 116 import win32.aclui; > 117 import win32.dhcpcsdk; > 118 import win32.lmserver; > 119 import win32.ntdll; > 120 > 121 version (Win32_Winsock1) { > 122 import win32.winsock; > 123 }

Added src/win32/testcompile.bat version [68d5658ffa3146f6]

> 1 @call :testuni > 2 @call :testuni -version=Unicode > 3 @goto :eof > 4 > 5 :testuni > 6 @call :testversion %* > 7 @call :testversion %* -version=Windows2000 > 8 @call :testversion %* -version=WindowsXP > 9 @call :testversion %* -version=Windows2003 > 10 @call :testversion %* -version=WindowsVista > 11 @call :testversion %* -version=Win32_Winsock1 > 12 @call :testversion %* -version=IE7 > 13 @goto :eof > 14 > 15 :testversion > 16 @call :testone -m32 %* > 17 @call :testone -m64 %* > 18 @goto :eof > 19 > 20 :testone > 21 dmd -I.. -c %* testall.d > 22 @if errorlevel 1 exit 1 > 23 @goto :eof

Modified src/win32/tlhelp32.d from [57d6b78740d2c6bb] to [ae72c8193c7063ac].

30 TH32CS_SNAPTHREAD = 0x4, 30 TH32CS_SNAPTHREAD = 0x4, 31 TH32CS_SNAPMODULE = 0x8, 31 TH32CS_SNAPMODULE = 0x8, 32 TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST|TH32CS_SNAPPROCESS|TH32CS_SNA 32 TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST|TH32CS_SNAPPROCESS|TH32CS_SNA 33 TH32CS_INHERIT = 0x80000000 33 TH32CS_INHERIT = 0x80000000 34 } 34 } 35 35 36 struct HEAPLIST32 { 36 struct HEAPLIST32 { 37 DWORD dwSize; | 37 SIZE_T dwSize; 38 DWORD th32ProcessID; 38 DWORD th32ProcessID; 39 DWORD th32HeapID; | 39 ULONG_PTR th32HeapID; 40 DWORD dwFlags; 40 DWORD dwFlags; 41 } 41 } 42 alias HEAPLIST32* PHEAPLIST32; 42 alias HEAPLIST32* PHEAPLIST32; 43 alias HEAPLIST32* LPHEAPLIST32; 43 alias HEAPLIST32* LPHEAPLIST32; 44 44 45 struct HEAPENTRY32 { 45 struct HEAPENTRY32 { 46 DWORD dwSize; | 46 SIZE_T dwSize; 47 HANDLE hHandle; 47 HANDLE hHandle; 48 DWORD dwAddress; | 48 ULONG_PTR dwAddress; 49 DWORD dwBlockSize; | 49 SIZE_T dwBlockSize; 50 DWORD dwFlags; 50 DWORD dwFlags; 51 DWORD dwLockCount; 51 DWORD dwLockCount; 52 DWORD dwResvd; 52 DWORD dwResvd; 53 DWORD th32ProcessID; 53 DWORD th32ProcessID; 54 DWORD th32HeapID; | 54 ULONG_PTR th32HeapID; 55 } 55 } 56 alias HEAPENTRY32* PHEAPENTRY32; 56 alias HEAPENTRY32* PHEAPENTRY32; 57 alias HEAPENTRY32* LPHEAPENTRY32; 57 alias HEAPENTRY32* LPHEAPENTRY32; 58 58 59 struct PROCESSENTRY32W { 59 struct PROCESSENTRY32W { 60 DWORD dwSize; 60 DWORD dwSize; 61 DWORD cntUsage; 61 DWORD cntUsage; 62 DWORD th32ProcessID; 62 DWORD th32ProcessID; 63 DWORD th32DefaultHeapID; | 63 ULONG_PTR th32DefaultHeapID; 64 DWORD th32ModuleID; 64 DWORD th32ModuleID; 65 DWORD cntThreads; 65 DWORD cntThreads; 66 DWORD th32ParentProcessID; 66 DWORD th32ParentProcessID; 67 LONG pcPriClassBase; 67 LONG pcPriClassBase; 68 DWORD dwFlags; 68 DWORD dwFlags; 69 WCHAR szExeFile[MAX_PATH]; | 69 WCHAR[MAX_PATH] szExeFile; 70 } 70 } 71 alias PROCESSENTRY32W* PPROCESSENTRY32W; 71 alias PROCESSENTRY32W* PPROCESSENTRY32W; 72 alias PROCESSENTRY32W* LPPROCESSENTRY32W; 72 alias PROCESSENTRY32W* LPPROCESSENTRY32W; 73 73 74 struct THREADENTRY32 { 74 struct THREADENTRY32 { 75 DWORD dwSize; 75 DWORD dwSize; 76 DWORD cntUsage; 76 DWORD cntUsage; ................................................................................................................................................................................ 88 DWORD th32ModuleID; 88 DWORD th32ModuleID; 89 DWORD th32ProcessID; 89 DWORD th32ProcessID; 90 DWORD GlblcntUsage; 90 DWORD GlblcntUsage; 91 DWORD ProccntUsage; 91 DWORD ProccntUsage; 92 BYTE *modBaseAddr; 92 BYTE *modBaseAddr; 93 DWORD modBaseSize; 93 DWORD modBaseSize; 94 HMODULE hModule; 94 HMODULE hModule; 95 WCHAR szModule[MAX_MODULE_NAME32 + 1]; | 95 WCHAR[MAX_MODULE_NAME32 + 1] szModule; 96 WCHAR szExePath[MAX_PATH]; | 96 WCHAR[MAX_PATH] szExePath; 97 } 97 } 98 alias MODULEENTRY32W* PMODULEENTRY32W; 98 alias MODULEENTRY32W* PMODULEENTRY32W; 99 alias MODULEENTRY32W* LPMODULEENTRY32W; 99 alias MODULEENTRY32W* LPMODULEENTRY32W; 100 100 101 version(Unicode) { 101 version(Unicode) { 102 alias PROCESSENTRY32W PROCESSENTRY32; 102 alias PROCESSENTRY32W PROCESSENTRY32; 103 alias PPROCESSENTRY32W PPROCESSENTRY32; 103 alias PPROCESSENTRY32W PPROCESSENTRY32; ................................................................................................................................................................................ 107 alias PMODULEENTRY32W PMODULEENTRY32; 107 alias PMODULEENTRY32W PMODULEENTRY32; 108 alias LPMODULEENTRY32W LPMODULEENTRY32; 108 alias LPMODULEENTRY32W LPMODULEENTRY32; 109 } else { 109 } else { 110 struct PROCESSENTRY32 { 110 struct PROCESSENTRY32 { 111 DWORD dwSize; 111 DWORD dwSize; 112 DWORD cntUsage; 112 DWORD cntUsage; 113 DWORD th32ProcessID; 113 DWORD th32ProcessID; 114 DWORD th32DefaultHeapID; | 114 ULONG_PTR th32DefaultHeapID; 115 DWORD th32ModuleID; 115 DWORD th32ModuleID; 116 DWORD cntThreads; 116 DWORD cntThreads; 117 DWORD th32ParentProcessID; 117 DWORD th32ParentProcessID; 118 LONG pcPriClassBase; 118 LONG pcPriClassBase; 119 DWORD dwFlags; 119 DWORD dwFlags; 120 CHAR szExeFile[MAX_PATH]; | 120 CHAR[MAX_PATH] szExeFile; 121 } 121 } 122 alias PROCESSENTRY32* PPROCESSENTRY32; 122 alias PROCESSENTRY32* PPROCESSENTRY32; 123 alias PROCESSENTRY32* LPPROCESSENTRY32; 123 alias PROCESSENTRY32* LPPROCESSENTRY32; 124 124 125 struct MODULEENTRY32 { 125 struct MODULEENTRY32 { 126 DWORD dwSize; 126 DWORD dwSize; 127 DWORD th32ModuleID; 127 DWORD th32ModuleID; 128 DWORD th32ProcessID; 128 DWORD th32ProcessID; 129 DWORD GlblcntUsage; 129 DWORD GlblcntUsage; 130 DWORD ProccntUsage; 130 DWORD ProccntUsage; 131 BYTE *modBaseAddr; 131 BYTE *modBaseAddr; 132 DWORD modBaseSize; 132 DWORD modBaseSize; 133 HMODULE hModule; 133 HMODULE hModule; 134 char szModule[MAX_MODULE_NAME32 + 1]; | 134 char[MAX_MODULE_NAME32 + 1] szModule; 135 char szExePath[MAX_PATH]; | 135 char[MAX_PATH] szExePath; 136 } 136 } 137 alias MODULEENTRY32* PMODULEENTRY32; 137 alias MODULEENTRY32* PMODULEENTRY32; 138 alias MODULEENTRY32* LPMODULEENTRY32; 138 alias MODULEENTRY32* LPMODULEENTRY32; 139 } 139 } 140 140 141 141 142 extern(Windows) { 142 extern(Windows) {

Modified src/win32/tmschema.d from [57cb44d41ff60fd2] to [26d6cc7f6beb564c].

Modified src/win32/unknwn.d from [bef2bcd5872970ce] to [b2a61832b0cfbdcf].

32 HRESULT CreateInstance(IUnknown UnkOuter, IID* riid, void** pvOb 32 HRESULT CreateInstance(IUnknown UnkOuter, IID* riid, void** pvOb 33 HRESULT LockServer(BOOL fLock); 33 HRESULT LockServer(BOOL fLock); 34 } 34 } 35 alias IClassFactory LPCLASSFACTORY; 35 alias IClassFactory LPCLASSFACTORY; 36 36 37 /+ 37 /+ 38 // These do not seem to be necessary (or desirable) for D. 38 // These do not seem to be necessary (or desirable) for D. 39 HRESULT IUnknown_QueryInterface_Proxy(IUnknown*,REFIID,void**); | 39 HRESULT IUnknown_QueryInterface_Proxy(IUnknown,REFIID,void**); 40 ULONG IUnknown_AddRef_Proxy(IUnknown*); | 40 ULONG IUnknown_AddRef_Proxy(IUnknown); 41 ULONG IUnknown_Release_Proxy(IUnknown*); | 41 ULONG IUnknown_Release_Proxy(IUnknown); 42 HRESULT IClassFactory_RemoteCreateInstance_Proxy(IClassFactory*,REFIID,I | 42 HRESULT IClassFactory_RemoteCreateInstance_Proxy(IClassFactory,REFIID,IU 43 HRESULT IClassFactory_RemoteLockServer_Proxy(IClassFactory*,BOOL); | 43 HRESULT IClassFactory_RemoteLockServer_Proxy(IClassFactory,BOOL); 44 HRESULT IClassFactory_CreateInstance_Proxy(IClassFactory*,IUnknown*,REFI | 44 HRESULT IClassFactory_CreateInstance_Proxy(IClassFactory,IUnknown,REFIID 45 HRESULT IClassFactory_CreateInstance_Stub(IClassFactory*,REFIID,IUnknown | 45 HRESULT IClassFactory_CreateInstance_Stub(IClassFactory,REFIID,IUnknown* 46 HRESULT IClassFactory_LockServer_Proxy(IClassFactory*,BOOL); | 46 HRESULT IClassFactory_LockServer_Proxy(IClassFactory,BOOL); 47 HRESULT IClassFactory_LockServer_Stub(IClassFactory*,BOOL); | 47 HRESULT IClassFactory_LockServer_Stub(IClassFactory,BOOL); 48 48 49 void IUnknown_QueryInterface_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRP 49 void IUnknown_QueryInterface_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRP 50 void IUnknown_AddRef_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAG 50 void IUnknown_AddRef_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAG 51 void IUnknown_Release_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSA 51 void IUnknown_Release_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSA 52 void IClassFactory_RemoteCreateInstance_Stub(LPRPCSTUBBUFFER,LPRPCCHANNE 52 void IClassFactory_RemoteCreateInstance_Stub(LPRPCSTUBBUFFER,LPRPCCHANNE 53 void IClassFactory_RemoteLockServer_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUF 53 void IClassFactory_RemoteLockServer_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUF 54 +/ 54 +/ 55 } 55 }

Modified src/win32/usp10.d from [a70e4c08c60d829b] to [cce453ef0465bd4e].

282 282 283 283 284 /* Uniscribe Functions 284 /* Uniscribe Functions 285 * http://msdn2.microsoft.com/library/ms776469 */ 285 * http://msdn2.microsoft.com/library/ms776469 */ 286 extern (Windows) 286 extern (Windows) 287 { 287 { 288 HRESULT ScriptFreeCache(SCRIPT_CACHE*); 288 HRESULT ScriptFreeCache(SCRIPT_CACHE*); 289 HRESULT ScriptItemize(CPtr!(WCHAR), int, int, CPtr!(SCRIPT_CONTROL), CPt | 289 HRESULT ScriptItemize(const(WCHAR)*, int, int, const(SCRIPT_CONTROL)*, c 290 HRESULT ScriptLayout(int, CPtr!(BYTE), int*, int*); | 290 HRESULT ScriptLayout(int, const(BYTE)*, int*, int*); 291 HRESULT ScriptShape(HDC, SCRIPT_CACHE*, CPtr!(WCHAR), int, int, SCRIPT_A | 291 HRESULT ScriptShape(HDC, SCRIPT_CACHE*, const(WCHAR)*, int, int, SCRIPT_ 292 HRESULT ScriptPlace(HDC, SCRIPT_CACHE*, CPtr!(WORD), int, CPtr!(SCRIPT_V | 292 HRESULT ScriptPlace(HDC, SCRIPT_CACHE*, const(WORD)*, int, const(SCRIPT_ 293 HRESULT ScriptTextOut(HDC, SCRIPT_CACHE*, int, int, UINT, CPtr!(RECT), C | 293 HRESULT ScriptTextOut(HDC, SCRIPT_CACHE*, int, int, UINT, const(RECT)*, 294 HRESULT ScriptJustify(CPtr!(SCRIPT_VISATTR), CPtr!(int), int, int, int, | 294 HRESULT ScriptJustify(const(SCRIPT_VISATTR)*, const(int)*, int, int, int 295 HRESULT ScriptBreak(CPtr!(WCHAR), int, CPtr!(SCRIPT_ANALYSIS), CPtr!(SCR | 295 HRESULT ScriptBreak(const(WCHAR)*, int, const(SCRIPT_ANALYSIS)*, const(S 296 HRESULT ScriptCPtoX(int, BOOL, int, int, CPtr!(WORD), CPtr!(SCRIPT_VISAT | 296 HRESULT ScriptCPtoX(int, BOOL, int, int, const(WORD)*, const(SCRIPT_VISA 297 HRESULT ScriptXtoCP(int, int, int, CPtr!(WORD), CPtr!(SCRIPT_VISATTR), C | 297 HRESULT ScriptXtoCP(int, int, int, const(WORD)*, const(SCRIPT_VISATTR)*, 298 HRESULT ScriptGetLogicalWidths(CPtr!(SCRIPT_ANALYSIS), int, int, CPtr!(i | 298 HRESULT ScriptGetLogicalWidths(const(SCRIPT_ANALYSIS)*, int, int, const( 299 HRESULT ScriptApplyLogicalWidth(CPtr!(int), int, int, CPtr!(WORD), CPtr! | 299 HRESULT ScriptApplyLogicalWidth(const(int)*, int, int, const(WORD)*, con 300 HRESULT ScriptGetCMap(HDC, SCRIPT_CACHE*, CPtr!(WCHAR), int, DWORD, WORD | 300 HRESULT ScriptGetCMap(HDC, SCRIPT_CACHE*, const(WCHAR)*, int, DWORD, WOR 301 HRESULT ScriptGetGlyphABCWidth(HDC, SCRIPT_CACHE*, WORD, ABC*); 301 HRESULT ScriptGetGlyphABCWidth(HDC, SCRIPT_CACHE*, WORD, ABC*); 302 HRESULT ScriptGetProperties(CPtr!(SCRIPT_PROPERTIES**), int*); | 302 HRESULT ScriptGetProperties(const(SCRIPT_PROPERTIES**)*, int*); 303 HRESULT ScriptGetFontProperties(HDC, SCRIPT_CACHE*, SCRIPT_FONTPROPERTIE 303 HRESULT ScriptGetFontProperties(HDC, SCRIPT_CACHE*, SCRIPT_FONTPROPERTIE 304 HRESULT ScriptCacheGetHeight(HDC, SCRIPT_CACHE*, int*); 304 HRESULT ScriptCacheGetHeight(HDC, SCRIPT_CACHE*, int*); 305 HRESULT ScriptIsComplex(CPtr!(WCHAR), int, DWORD); | 305 HRESULT ScriptIsComplex(const(WCHAR)*, int, DWORD); 306 HRESULT ScriptRecordDigitSubstitution(LCID, SCRIPT_DIGITSUBSTITUTE*); 306 HRESULT ScriptRecordDigitSubstitution(LCID, SCRIPT_DIGITSUBSTITUTE*); 307 HRESULT ScriptApplyDigitSubstitution(CPtr!(SCRIPT_DIGITSUBSTITUTE), SCRI | 307 HRESULT ScriptApplyDigitSubstitution(const(SCRIPT_DIGITSUBSTITUTE)*, SCR 308 308 309 /* ScriptString Functions 309 /* ScriptString Functions 310 * http://msdn2.microsoft.com/library/ms776485 */ 310 * http://msdn2.microsoft.com/library/ms776485 */ 311 HRESULT ScriptStringAnalyse(HDC, CPtr!(void), int, int, int, DWORD, int, | 311 HRESULT ScriptStringAnalyse(HDC, const(void)*, int, int, int, DWORD, int 312 HRESULT ScriptStringFree(SCRIPT_STRING_ANALYSIS*); 312 HRESULT ScriptStringFree(SCRIPT_STRING_ANALYSIS*); 313 CPtr!(SIZE) ScriptString_pSize(SCRIPT_STRING_ANALYSIS); | 313 const(SIZE)* ScriptString_pSize(SCRIPT_STRING_ANALYSIS); 314 CPtr!(int) ScriptString_pcOutChars(SCRIPT_STRING_ANALYSIS); | 314 const(int)* ScriptString_pcOutChars(SCRIPT_STRING_ANALYSIS); 315 CPtr!(SCRIPT_LOGATTR) ScriptString_pLogAttr(SCRIPT_STRING_ANALYSIS); | 315 const(SCRIPT_LOGATTR)* ScriptString_pLogAttr(SCRIPT_STRING_ANALYSIS); 316 HRESULT ScriptStringGetOrder(SCRIPT_STRING_ANALYSIS, UINT*); 316 HRESULT ScriptStringGetOrder(SCRIPT_STRING_ANALYSIS, UINT*); 317 HRESULT ScriptStringCPtoX(SCRIPT_STRING_ANALYSIS, int, BOOL, int*); 317 HRESULT ScriptStringCPtoX(SCRIPT_STRING_ANALYSIS, int, BOOL, int*); 318 HRESULT ScriptStringXtoCP(SCRIPT_STRING_ANALYSIS, int, int*, int*); 318 HRESULT ScriptStringXtoCP(SCRIPT_STRING_ANALYSIS, int, int*, int*); 319 HRESULT ScriptStringGetLogicalWidths(SCRIPT_STRING_ANALYSIS, int*); 319 HRESULT ScriptStringGetLogicalWidths(SCRIPT_STRING_ANALYSIS, int*); 320 HRESULT ScriptStringValidate(SCRIPT_STRING_ANALYSIS); 320 HRESULT ScriptStringValidate(SCRIPT_STRING_ANALYSIS); 321 HRESULT ScriptStringOut(SCRIPT_STRING_ANALYSIS, int, int, UINT, CPtr!(RE | 321 HRESULT ScriptStringOut(SCRIPT_STRING_ANALYSIS, int, int, UINT, const(RE 322 322 323 /* TODO: Windows Vista fearured functions 323 /* TODO: Windows Vista fearured functions 324 ScriptGetFontAlternateGlyphs() 324 ScriptGetFontAlternateGlyphs() 325 ScriptGetFontFeatureTags() 325 ScriptGetFontFeatureTags() 326 ScriptGetFontLanguageTags() 326 ScriptGetFontLanguageTags() 327 ScriptGetFontScriptTags() 327 ScriptGetFontScriptTags() 328 ScriptItemizeOpenType() 328 ScriptItemizeOpenType() 329 ScriptPlaceOpenType() 329 ScriptPlaceOpenType() 330 ScriptPositionSingleGlyph() 330 ScriptPositionSingleGlyph() 331 ScriptShapeOpenType() 331 ScriptShapeOpenType() 332 ScriptSubstituteSingleGlyph() 332 ScriptSubstituteSingleGlyph() 333 */ 333 */ 334 } 334 }

Modified src/win32/uuid.d from [522e1289f42c29a4] to [6945f4e8e141228c].

1 module win32.uuid; 1 module win32.uuid; 2 2 3 import win32.basetyps; 3 import win32.basetyps; 4 4 > 5 export 5 extern(C) { 6 extern(C) { 6 const IID _DBBMKGUID = {0xF6304BB0, 0xD188, 0x11CD, [0xAD, 0x48, 0x00, 0xAA, 0x 7 const IID _DBBMKGUID = {0xF6304BB0, 0xD188, 0x11CD, [0xAD, 0x48, 0x00, 0xAA, 0x 7 const IID _DBCIDGUID = {0xFE284700, 0xD188, 0x11CD, [0xAD, 0x48, 0x00, 0xAA, 0x 8 const IID _DBCIDGUID = {0xFE284700, 0xD188, 0x11CD, [0xAD, 0x48, 0x00, 0xAA, 0x 8 const IID _GUID_NAMEONLY = {0xE8BF1170, 0xD188, 0x11CD, [0xAD, 0x48, 0x00, 0xAA 9 const IID _GUID_NAMEONLY = {0xE8BF1170, 0xD188, 0x11CD, [0xAD, 0x48, 0x00, 0xAA 9 const IID ARRAYID_PathProperties = {0x7ECBBA04, 0x2D97, 0x11CF, [0xA2, 0x29, 0x 10 const IID ARRAYID_PathProperties = {0x7ECBBA04, 0x2D97, 0x11CF, [0xA2, 0x29, 0x 10 const IID BFID_GRAY_16 = {0xF9D6BC00, 0x449C, 0x11D0, [0x91, 0x8C, 0x00, 0xAA, 11 const IID BFID_GRAY_16 = {0xF9D6BC00, 0x449C, 0x11D0, [0x91, 0x8C, 0x00, 0xAA, 11 const IID BFID_GRAY_8 = {0xD93DE910, 0x449C, 0x11D0, [0x91, 0x8C, 0x00, 0xAA, 0 12 const IID BFID_GRAY_8 = {0xD93DE910, 0x449C, 0x11D0, [0x91, 0x8C, 0x00, 0xAA, 0

Modified src/win32/vfw.d from [b5a6268e1454a5d6] to [754e428e88f168dc].

4 * Windows API header module * 4 * Windows API header module * 5 * written in the D programming language * 5 * written in the D programming language * 6 * * 6 * * 7 * Placed into public domain * 7 * Placed into public domain * 8 \***********************************************************************/ 8 \***********************************************************************/ 9 9 10 module win32.vfw; 10 module win32.vfw; 11 pragma(lib, "vfw32.lib"); | 11 pragma(lib, "vfw32"); 12 12 13 private import 13 private import 14 win32.commdlg, 14 win32.commdlg, 15 win32.wingdi, 15 win32.wingdi, 16 win32.mmsystem, 16 win32.mmsystem, 17 win32.unknwn, 17 win32.unknwn, 18 win32.w32api, 18 win32.w32api, ................................................................................................................................................................................ 31 31 32 /** 32 /** 33 * COMPMAN - Installable Compression Manager. 33 * COMPMAN - Installable Compression Manager. 34 */ 34 */ 35 35 36 const ICVERSION = 0x0104; 36 const ICVERSION = 0x0104; 37 37 38 alias HANDLE HIC; | 38 alias TypeDef!(HANDLE) HIC; 39 39 40 const BI_1632 = 0x32333631; 40 const BI_1632 = 0x32333631; 41 41 42 template aviTWOCC(char c0, char c1) { 42 template aviTWOCC(char c0, char c1) { 43 const WORD aviTWOCC = c0 | (c1 << 8); 43 const WORD aviTWOCC = c0 | (c1 << 8); 44 } 44 } 45 45 ................................................................................................................................................................................ 182 struct ICINFO { 182 struct ICINFO { 183 DWORD dwSize; 183 DWORD dwSize; 184 DWORD fccType; 184 DWORD fccType; 185 DWORD fccHandler; 185 DWORD fccHandler; 186 DWORD dwFlags; 186 DWORD dwFlags; 187 DWORD dwVersion; 187 DWORD dwVersion; 188 DWORD dwVersionICM; 188 DWORD dwVersionICM; 189 WCHAR szName[16]; | 189 WCHAR[16] szName; 190 WCHAR szDescription[128]; | 190 WCHAR[128] szDescription; 191 WCHAR szDriver[128]; | 191 WCHAR[128] szDriver; 192 } 192 } 193 193 194 enum { 194 enum { 195 VIDCF_QUALITY = 0x0001, 195 VIDCF_QUALITY = 0x0001, 196 VIDCF_CRUNCH = 0x0002, 196 VIDCF_CRUNCH = 0x0002, 197 VIDCF_TEMPORAL = 0x0004, 197 VIDCF_TEMPORAL = 0x0004, 198 VIDCF_COMPRESSFRAMES = 0x0008, 198 VIDCF_COMPRESSFRAMES = 0x0008, ................................................................................................................................................................................ 379 const ICMF_ABOUT_QUERY = 0x00000001; 379 const ICMF_ABOUT_QUERY = 0x00000001; 380 380 381 DWORD ICQueryAbout(HIC hic) { 381 DWORD ICQueryAbout(HIC hic) { 382 return ICSendMessage(hic, ICM_ABOUT, -1, ICMF_ABOUT_QUERY) == ICERR_OK; 382 return ICSendMessage(hic, ICM_ABOUT, -1, ICMF_ABOUT_QUERY) == ICERR_OK; 383 } 383 } 384 384 385 DWORD ICAbout(HIC hic, HWND hwnd) { 385 DWORD ICAbout(HIC hic, HWND hwnd) { 386 return ICSendMessage(hic, ICM_ABOUT, cast(UINT)hwnd, 0); | 386 return cast(DWORD) ICSendMessage(hic, ICM_ABOUT, cast(DWORD_PTR) cast(UI 387 } 387 } 388 388 389 DWORD ICQueryConfigure(HIC hic) { 389 DWORD ICQueryConfigure(HIC hic) { 390 return (ICSendMessage(hic, ICM_CONFIGURE, -1, ICMF_CONFIGURE_QUERY) == I 390 return (ICSendMessage(hic, ICM_CONFIGURE, -1, ICMF_CONFIGURE_QUERY) == I 391 } 391 } 392 392 393 DWORD ICConfigure(HIC hic, HWND hwnd) { 393 DWORD ICConfigure(HIC hic, HWND hwnd) { 394 return ICSendMessage(hic, ICM_CONFIGURE, cast(UINT)hwnd, 0); | 394 return cast(DWORD) ICSendMessage(hic, ICM_CONFIGURE, cast(DWORD_PTR) cas 395 } 395 } 396 396 397 DWORD ICGetState(HIC hic, LPVOID pv, DWORD_PTR cb) { 397 DWORD ICGetState(HIC hic, LPVOID pv, DWORD_PTR cb) { 398 return ICSendMessage(hic, ICM_GETSTATE, cast(DWORD)pv, cast(DWORD)cb); | 398 return cast(DWORD) ICSendMessage(hic, ICM_GETSTATE, cast(DWORD_PTR) pv, 399 } 399 } 400 400 401 DWORD ICSetState(HIC hic, LPVOID pv, DWORD_PTR cb) { 401 DWORD ICSetState(HIC hic, LPVOID pv, DWORD_PTR cb) { 402 return ICSendMessage(hic, ICM_SETSTATE, cast(DWORD)pv, cast(DWORD)cb); | 402 return cast(DWORD) ICSendMessage(hic, ICM_SETSTATE, cast(DWORD_PTR) pv, 403 } 403 } 404 404 405 DWORD ICGetStateSize(HIC hic) { 405 DWORD ICGetStateSize(HIC hic) { 406 return ICGetState(hic, null, 0); 406 return ICGetState(hic, null, 0); 407 } 407 } 408 408 409 DWORD dwICValue; 409 DWORD dwICValue; ................................................................................................................................................................................ 415 415 416 DWORD ICGetDefaultKeyFrameRate(HIC hic) { 416 DWORD ICGetDefaultKeyFrameRate(HIC hic) { 417 ICSendMessage(hic, ICM_GETDEFAULTKEYFRAMERATE, cast(DWORD_PTR)&dwICValue 417 ICSendMessage(hic, ICM_GETDEFAULTKEYFRAMERATE, cast(DWORD_PTR)&dwICValue 418 return dwICValue; 418 return dwICValue; 419 } 419 } 420 420 421 DWORD ICDrawWindow(HIC hic, LPVOID prc) { 421 DWORD ICDrawWindow(HIC hic, LPVOID prc) { 422 return ICSendMessage(hic, ICM_DRAW_WINDOW, cast(DWORD)prc, RECT.sizeof); | 422 return cast(DWORD) ICSendMessage(hic, ICM_DRAW_WINDOW, cast(DWORD_PTR) p 423 } 423 } 424 424 425 extern (Windows) { 425 extern (Windows) { 426 DWORD ICCompress(HIC hic, DWORD dwFlags, LPBITMAPINFOHEADER lpbiOutput, 426 DWORD ICCompress(HIC hic, DWORD dwFlags, LPBITMAPINFOHEADER lpbiOutput, 427 LPBITMAPINFOHEADER lpbiInput, LPVOID lpBits, LPDWORD lpckid, LPD 427 LPBITMAPINFOHEADER lpbiInput, LPVOID lpBits, LPDWORD lpckid, LPD 428 LONG lFrameNum, DWORD dwFrameSize, DWORD dwQuality, LPBITMAPINFO 428 LONG lFrameNum, DWORD dwFrameSize, DWORD dwQuality, LPBITMAPINFO 429 } 429 } ................................................................................................................................................................................ 669 extern (Windows) { 669 extern (Windows) { 670 BOOL ICSeqCompressFrameStart(PCOMPVARS pc, LPBITMAPINFO lpbiIn); 670 BOOL ICSeqCompressFrameStart(PCOMPVARS pc, LPBITMAPINFO lpbiIn); 671 void ICSeqCompressFrameEnd(PCOMPVARS pc); 671 void ICSeqCompressFrameEnd(PCOMPVARS pc); 672 LPVOID ICSeqCompressFrame(PCOMPVARS pc, UINT uiFlags, LPVOID lpBits, BOO 672 LPVOID ICSeqCompressFrame(PCOMPVARS pc, UINT uiFlags, LPVOID lpBits, BOO 673 void ICCompressorFree(PCOMPVARS pc); 673 void ICCompressorFree(PCOMPVARS pc); 674 } 674 } 675 675 676 alias HANDLE HDRAWDIB; | 676 mixin DECLARE_HANDLE!("HDRAWDIB"); 677 677 678 enum { 678 enum { 679 DDF_0001 = 0x0001, 679 DDF_0001 = 0x0001, 680 DDF_UPDATE = 0x0002, 680 DDF_UPDATE = 0x0002, 681 DDF_SAME_HDC = 0x0004, 681 DDF_SAME_HDC = 0x0004, 682 DDF_SAME_DRAW = 0x0008, 682 DDF_SAME_DRAW = 0x0008, 683 DDF_DONTDRAW = 0x0010, 683 DDF_DONTDRAW = 0x0010, ................................................................................................................................................................................ 814 DWORD dwFlags; 814 DWORD dwFlags; 815 DWORD dwTotalFrames; 815 DWORD dwTotalFrames; 816 DWORD dwInitialFrames; 816 DWORD dwInitialFrames; 817 DWORD dwStreams; 817 DWORD dwStreams; 818 DWORD dwSuggestedBufferSize; 818 DWORD dwSuggestedBufferSize; 819 DWORD dwWidth; 819 DWORD dwWidth; 820 DWORD dwHeight; 820 DWORD dwHeight; 821 DWORD dwReserved[4]; | 821 DWORD[4] dwReserved; 822 } 822 } 823 823 824 const AVISF_DISABLED = 0x00000001; 824 const AVISF_DISABLED = 0x00000001; 825 825 826 const AVISF_VIDEO_PALCHANGES = 0x00010000; 826 const AVISF_VIDEO_PALCHANGES = 0x00010000; 827 827 828 struct AVIStreamHeader { 828 struct AVIStreamHeader { ................................................................................................................................................................................ 857 DWORD dwChunkLength; 857 DWORD dwChunkLength; 858 } 858 } 859 859 860 struct AVIPALCHANGE { 860 struct AVIPALCHANGE { 861 BYTE bFirstEntry; 861 BYTE bFirstEntry; 862 BYTE bNumEntries; 862 BYTE bNumEntries; 863 WORD wFlags; 863 WORD wFlags; 864 PALETTEENTRY peNew[]; | 864 PALETTEENTRY[1] _peNew; > 865 PALETTEENTRY* peNew() { return _peNew.ptr; } 865 } 866 } 866 867 867 const AVIGETFRAMEF_BESTDISPLAYFMT = 1; 868 const AVIGETFRAMEF_BESTDISPLAYFMT = 1; 868 869 869 struct AVISTREAMINFOW { 870 struct AVISTREAMINFOW { 870 DWORD fccType; 871 DWORD fccType; 871 DWORD fccHandler; 872 DWORD fccHandler; ................................................................................................................................................................................ 880 DWORD dwInitialFrames; 881 DWORD dwInitialFrames; 881 DWORD dwSuggestedBufferSize; 882 DWORD dwSuggestedBufferSize; 882 DWORD dwQuality; 883 DWORD dwQuality; 883 DWORD dwSampleSize; 884 DWORD dwSampleSize; 884 RECT rcFrame; 885 RECT rcFrame; 885 DWORD dwEditCount; 886 DWORD dwEditCount; 886 DWORD dwFormatChangeCount; 887 DWORD dwFormatChangeCount; 887 WCHAR szName[64]; | 888 WCHAR[64] szName; 888 } 889 } 889 alias AVISTREAMINFOW* LPAVISTREAMINFOW; 890 alias AVISTREAMINFOW* LPAVISTREAMINFOW; 890 891 891 struct AVISTREAMINFOA { 892 struct AVISTREAMINFOA { 892 DWORD fccType; 893 DWORD fccType; 893 DWORD fccHandler; 894 DWORD fccHandler; 894 DWORD dwFlags; 895 DWORD dwFlags; ................................................................................................................................................................................ 902 DWORD dwInitialFrames; 903 DWORD dwInitialFrames; 903 DWORD dwSuggestedBufferSize; 904 DWORD dwSuggestedBufferSize; 904 DWORD dwQuality; 905 DWORD dwQuality; 905 DWORD dwSampleSize; 906 DWORD dwSampleSize; 906 RECT rcFrame; 907 RECT rcFrame; 907 DWORD dwEditCount; 908 DWORD dwEditCount; 908 DWORD dwFormatChangeCount; 909 DWORD dwFormatChangeCount; 909 char szName[64]; | 910 char[64] szName; 910 } 911 } 911 alias AVISTREAMINFOA* LPAVISTREAMINFOA; 912 alias AVISTREAMINFOA* LPAVISTREAMINFOA; 912 913 913 version(Unicode) { 914 version(Unicode) { 914 alias AVISTREAMINFOW AVISTREAMINFO; 915 alias AVISTREAMINFOW AVISTREAMINFO; 915 alias LPAVISTREAMINFOW LPAVISTREAMINFO; 916 alias LPAVISTREAMINFOW LPAVISTREAMINFO; 916 } else { // Unicode 917 } else { // Unicode ................................................................................................................................................................................ 929 DWORD dwSuggestedBufferSize; 930 DWORD dwSuggestedBufferSize; 930 DWORD dwWidth; 931 DWORD dwWidth; 931 DWORD dwHeight; 932 DWORD dwHeight; 932 DWORD dwScale; 933 DWORD dwScale; 933 DWORD dwRate; 934 DWORD dwRate; 934 DWORD dwLength; 935 DWORD dwLength; 935 DWORD dwEditCount; 936 DWORD dwEditCount; 936 WCHAR szFileType[64]; | 937 WCHAR[64] szFileType; 937 } 938 } 938 alias AVIFILEINFOW* LPAVIFILEINFOW; 939 alias AVIFILEINFOW* LPAVIFILEINFOW; 939 940 940 struct AVIFILEINFOA { 941 struct AVIFILEINFOA { 941 DWORD dwMaxBytesPerSec; 942 DWORD dwMaxBytesPerSec; 942 DWORD dwFlags; 943 DWORD dwFlags; 943 DWORD dwCaps; 944 DWORD dwCaps; ................................................................................................................................................................................ 945 DWORD dwSuggestedBufferSize; 946 DWORD dwSuggestedBufferSize; 946 DWORD dwWidth; 947 DWORD dwWidth; 947 DWORD dwHeight; 948 DWORD dwHeight; 948 DWORD dwScale; 949 DWORD dwScale; 949 DWORD dwRate; 950 DWORD dwRate; 950 DWORD dwLength; 951 DWORD dwLength; 951 DWORD dwEditCount; 952 DWORD dwEditCount; 952 char szFileType[64]; | 953 char[64] szFileType; 953 } 954 } 954 alias AVIFILEINFOA* LPAVIFILEINFOA; 955 alias AVIFILEINFOA* LPAVIFILEINFOA; 955 956 956 version(Unicode) { 957 version(Unicode) { 957 alias AVIFILEINFOW AVIFILEINFO; 958 alias AVIFILEINFOW AVIFILEINFO; 958 alias LPAVIFILEINFOW LPAVIFILEINFO; 959 alias LPAVIFILEINFOW LPAVIFILEINFO; 959 } else { // Unicode 960 } else { // Unicode ................................................................................................................................................................................ 1035 STDMETHOD(Reserved2) (THIS) PURE; 1036 STDMETHOD(Reserved2) (THIS) PURE; 1036 STDMETHOD(Reserved3) (THIS) PURE; 1037 STDMETHOD(Reserved3) (THIS) PURE; 1037 STDMETHOD(Reserved4) (THIS) PURE; 1038 STDMETHOD(Reserved4) (THIS) PURE; 1038 STDMETHOD(Reserved5) (THIS) PURE; 1039 STDMETHOD(Reserved5) (THIS) PURE; 1039 #endif 1040 #endif 1040 }; 1041 }; 1041 1042 1042 typedef IAVIStream FAR* PAVISTREAM; | 1043 alias TypeDef!(IAVIStream FAR*) PAVISTREAM; 1043 1044 1044 #undef INTERFACE 1045 #undef INTERFACE 1045 #define INTERFACE IAVIStreaming 1046 #define INTERFACE IAVIStreaming 1046 1047 1047 DECLARE_INTERFACE_(IAVIStreaming, IUnknown) 1048 DECLARE_INTERFACE_(IAVIStreaming, IUnknown) 1048 { 1049 { 1049 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; 1050 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; ................................................................................................................................................................................ 1053 STDMETHOD(Begin) (THIS_ 1054 STDMETHOD(Begin) (THIS_ 1054 LONG lStart, 1055 LONG lStart, 1055 LONG lEnd, 1056 LONG lEnd, 1056 LONG lRate) PURE; 1057 LONG lRate) PURE; 1057 STDMETHOD(End) (THIS) PURE; 1058 STDMETHOD(End) (THIS) PURE; 1058 }; 1059 }; 1059 1060 1060 typedef IAVIStreaming FAR* PAVISTREAMING; | 1061 alias TypeDef!(IAVIStreaming FAR*) PAVISTREAMING; 1061 1062 1062 1063 1063 #undef INTERFACE 1064 #undef INTERFACE 1064 #define INTERFACE IAVIEditStream 1065 #define INTERFACE IAVIEditStream 1065 1066 1066 DECLARE_INTERFACE_(IAVIEditStream, IUnknown) 1067 DECLARE_INTERFACE_(IAVIEditStream, IUnknown) 1067 { 1068 { ................................................................................................................................................................................ 1081 LONG lStart, 1082 LONG lStart, 1082 LONG lEnd) PURE; 1083 LONG lEnd) PURE; 1083 STDMETHOD(Clone) (THIS_ PAVISTREAM FAR *ppResult) PURE; 1084 STDMETHOD(Clone) (THIS_ PAVISTREAM FAR *ppResult) PURE; 1084 STDMETHOD(SetInfo) (THIS_ AVISTREAMINFOW FAR * lpInfo, 1085 STDMETHOD(SetInfo) (THIS_ AVISTREAMINFOW FAR * lpInfo, 1085 LONG cbInfo) PURE; 1086 LONG cbInfo) PURE; 1086 }; 1087 }; 1087 1088 1088 typedef IAVIEditStream FAR* PAVIEDITSTREAM; | 1089 alias TypeDef!(IAVIEditStream FAR*) PAVIEDITSTREAM; 1089 1090 1090 #undef INTERFACE 1091 #undef INTERFACE 1091 #define INTERFACE IAVIPersistFile 1092 #define INTERFACE IAVIPersistFile 1092 1093 1093 DECLARE_INTERFACE_(IAVIPersistFile, IPersistFile) 1094 DECLARE_INTERFACE_(IAVIPersistFile, IPersistFile) 1094 { 1095 { 1095 STDMETHOD(Reserved1)(THIS) PURE; 1096 STDMETHOD(Reserved1)(THIS) PURE; 1096 }; 1097 }; 1097 1098 1098 typedef IAVIPersistFile FAR* PAVIPERSISTFILE; | 1099 alias TypeDef!(IAVIPersistFile FAR*) PAVIPERSISTFILE; 1099 1100 1100 #undef INTERFACE 1101 #undef INTERFACE 1101 #define INTERFACE IAVIFile 1102 #define INTERFACE IAVIFile 1102 #define PAVIFILE IAVIFile FAR* 1103 #define PAVIFILE IAVIFile FAR* 1103 1104 1104 DECLARE_INTERFACE_(IAVIFile, IUnknown) 1105 DECLARE_INTERFACE_(IAVIFile, IUnknown) 1105 { 1106 { ................................................................................................................................................................................ 1128 STDMETHOD(EndRecord) (THIS) PURE; 1129 STDMETHOD(EndRecord) (THIS) PURE; 1129 STDMETHOD(DeleteStream) (THIS_ 1130 STDMETHOD(DeleteStream) (THIS_ 1130 DWORD fccType, 1131 DWORD fccType, 1131 LONG lParam) PURE; 1132 LONG lParam) PURE; 1132 }; 1133 }; 1133 1134 1134 #undef PAVIFILE 1135 #undef PAVIFILE 1135 typedef IAVIFile FAR* PAVIFILE; | 1136 alias TypeDef!(IAVIFile FAR*) PAVIFILE; 1136 1137 1137 #undef INTERFACE 1138 #undef INTERFACE 1138 #define INTERFACE IGetFrame 1139 #define INTERFACE IGetFrame 1139 #define PGETFRAME IGetFrame FAR* 1140 #define PGETFRAME IGetFrame FAR* 1140 1141 1141 DECLARE_INTERFACE_(IGetFrame, IUnknown) 1142 DECLARE_INTERFACE_(IGetFrame, IUnknown) 1142 { 1143 { ................................................................................................................................................................................ 1149 STDMETHOD(Begin) (THIS_ LONG lStart, LONG lEnd, LONG lRate) PURE; 1150 STDMETHOD(Begin) (THIS_ LONG lStart, LONG lEnd, LONG lRate) PURE; 1150 STDMETHOD(End) (THIS) PURE; 1151 STDMETHOD(End) (THIS) PURE; 1151 1152 1152 STDMETHOD(SetFormat) (THIS_ LPBITMAPINFOHEADER lpbi, LPVOID lpBits, int x, i 1153 STDMETHOD(SetFormat) (THIS_ LPBITMAPINFOHEADER lpbi, LPVOID lpBits, int x, i 1153 }; 1154 }; 1154 1155 1155 #undef PGETFRAME 1156 #undef PGETFRAME 1156 typedef IGetFrame FAR* PGETFRAME; | 1157 alias TypeDef!(IGetFrame FAR*) PGETFRAME; 1157 1158 1158 #define DEFINE_AVIGUID(name, l, w1, w2) DEFINE_GUID(name, l, w1, w2, 0xC0,0,0 1159 #define DEFINE_AVIGUID(name, l, w1, w2) DEFINE_GUID(name, l, w1, w2, 0xC0,0,0 1159 1160 1160 DEFINE_AVIGUID(IID_IAVIFile, 0x00020020, 0, 0); 1161 DEFINE_AVIGUID(IID_IAVIFile, 0x00020020, 0, 0); 1161 DEFINE_AVIGUID(IID_IAVIStream, 0x00020021, 0, 0); 1162 DEFINE_AVIGUID(IID_IAVIStream, 0x00020021, 0, 0); 1162 DEFINE_AVIGUID(IID_IAVIStreaming, 0x00020022, 0, 0); 1163 DEFINE_AVIGUID(IID_IAVIStreaming, 0x00020022, 0, 0); 1163 DEFINE_AVIGUID(IID_IGetFrame, 0x00020023, 0, 0); 1164 DEFINE_AVIGUID(IID_IGetFrame, 0x00020023, 0, 0); ................................................................................................................................................................................ 1662 void MCIWndSetTimers(HWND hwnd, UINT active, UINT inactive) 1663 void MCIWndSetTimers(HWND hwnd, UINT active, UINT inactive) 1663 { SendMessage(hwnd, MCIWNDM_SETTIMERS, cast(WPARAM)active, cast(LPARAM)i 1664 { SendMessage(hwnd, MCIWNDM_SETTIMERS, cast(WPARAM)active, cast(LPARAM)i 1664 UINT MCIWndGetActiveTimer(HWND hwnd) 1665 UINT MCIWndGetActiveTimer(HWND hwnd) 1665 { return cast(UINT)SendMessage(hwnd, MCIWNDM_GETACTIVETIMER, 0, 0); } 1666 { return cast(UINT)SendMessage(hwnd, MCIWNDM_GETACTIVETIMER, 0, 0); } 1666 UINT MCIWndGetInactiveTimer(HWND hwnd) 1667 UINT MCIWndGetInactiveTimer(HWND hwnd) 1667 { return cast(UINT)SendMessage(hwnd, MCIWNDM_GETINACTIVETIMER, 0, 0); } 1668 { return cast(UINT)SendMessage(hwnd, MCIWNDM_GETINACTIVETIMER, 0, 0); } 1668 LONG MCIWndRealize(HWND hwnd, BOOL fBkgnd) 1669 LONG MCIWndRealize(HWND hwnd, BOOL fBkgnd) 1669 { return SendMessage(hwnd, MCIWNDM_REALIZE, cast(WPARAM)fBkgnd, 0); } | 1670 { return cast(LONG) SendMessage(hwnd, MCIWNDM_REALIZE, cast(WPARAM)fBkgn 1670 LONG MCIWndSendString(HWND hwnd, LPTSTR sz) 1671 LONG MCIWndSendString(HWND hwnd, LPTSTR sz) 1671 { return SendMessage(hwnd, MCIWNDM_SENDSTRING, 0, cast(LPARAM)sz); } | 1672 { return cast(LONG) SendMessage(hwnd, MCIWNDM_SENDSTRING, 0, cast(LPARAM 1672 LONG MCIWndReturnString(HWND hwnd, LPVOID lp, UINT len) 1673 LONG MCIWndReturnString(HWND hwnd, LPVOID lp, UINT len) 1673 { return SendMessage(hwnd, MCIWNDM_RETURNSTRING, cast(WPARAM)len, cast(L | 1674 { return cast(LONG) SendMessage(hwnd, MCIWNDM_RETURNSTRING, cast(WPARAM) 1674 LONG MCIWndGetError(HWND hwnd, LPVOID lp, UINT len) 1675 LONG MCIWndGetError(HWND hwnd, LPVOID lp, UINT len) 1675 { return SendMessage(hwnd, MCIWNDM_GETERROR, cast(WPARAM)len, cast(LPARA | 1676 { return cast(LONG) SendMessage(hwnd, MCIWNDM_GETERROR, cast(WPARAM)len, 1676 HPALETTE MCIWndGetPalette(HWND hwnd) 1677 HPALETTE MCIWndGetPalette(HWND hwnd) 1677 { return cast(HPALETTE)SendMessage(hwnd, MCIWNDM_GETPALETTE, 0, 0); } 1678 { return cast(HPALETTE)SendMessage(hwnd, MCIWNDM_GETPALETTE, 0, 0); } 1678 LONG MCIWndSetPalette(HWND hwnd, HPALETTE hpal) 1679 LONG MCIWndSetPalette(HWND hwnd, HPALETTE hpal) 1679 { return SendMessage(hwnd, MCIWNDM_SETPALETTE, cast(WPARAM)hpal, 0); } | 1680 { return cast(LONG) SendMessage(hwnd, MCIWNDM_SETPALETTE, cast(WPARAM)hp 1680 LONG MCIWndGetFileName(HWND hwnd, LPVOID lp, UINT len) 1681 LONG MCIWndGetFileName(HWND hwnd, LPVOID lp, UINT len) 1681 { return SendMessage(hwnd, MCIWNDM_GETFILENAME, cast(WPARAM)len, cast(LP | 1682 { return cast(LONG) SendMessage(hwnd, MCIWNDM_GETFILENAME, cast(WPARAM)l 1682 LONG MCIWndGetDevice(HWND hwnd, LPVOID lp, UINT len) 1683 LONG MCIWndGetDevice(HWND hwnd, LPVOID lp, UINT len) 1683 { return SendMessage(hwnd, MCIWNDM_GETDEVICE, cast(WPARAM)len, cast(LPAR | 1684 { return cast(LONG) SendMessage(hwnd, MCIWNDM_GETDEVICE, cast(WPARAM)len 1684 UINT MCIWndGetStyles(HWND hwnd) 1685 UINT MCIWndGetStyles(HWND hwnd) 1685 { return SendMessage(hwnd, MCIWNDM_GETSTYLES, 0, 0); } | 1686 { return cast(UINT) SendMessage(hwnd, MCIWNDM_GETSTYLES, 0, 0); } 1686 LONG MCIWndChangeStyles(HWND hwnd, UINT mask, LONG value) 1687 LONG MCIWndChangeStyles(HWND hwnd, UINT mask, LONG value) 1687 { return SendMessage(hwnd, MCIWNDM_CHANGESTYLES, cast(WPARAM)mask, cast( | 1688 { return cast(LONG) SendMessage(hwnd, MCIWNDM_CHANGESTYLES, cast(WPARAM) 1688 LONG MCIWndOpenInterface(HWND hwnd, LPUNKNOWN pUnk) 1689 LONG MCIWndOpenInterface(HWND hwnd, LPUNKNOWN pUnk) 1689 { return SendMessage(hwnd, MCIWNDM_OPENINTERFACE, 0, cast(LPARAM)cast(vo | 1690 { return cast(LONG) SendMessage(hwnd, MCIWNDM_OPENINTERFACE, 0, cast(LPA 1690 LONG MCIWndSetOwner(HWND hwnd, HWND hwndP) 1691 LONG MCIWndSetOwner(HWND hwnd, HWND hwndP) 1691 { return SendMessage(hwnd, MCIWNDM_SETOWNER, cast(WPARAM)hwndP, 0); } | 1692 { return cast(LONG) SendMessage(hwnd, MCIWNDM_SETOWNER, cast(WPARAM)hwnd 1692 1693 1693 enum { 1694 enum { 1694 MCIWNDM_GETDEVICEID = WM_USER + 100, 1695 MCIWNDM_GETDEVICEID = WM_USER + 100, 1695 MCIWNDM_SENDSTRINGA = WM_USER + 101, 1696 MCIWNDM_SENDSTRINGA = WM_USER + 101, 1696 MCIWNDM_GETPOSITIONA = WM_USER + 102, 1697 MCIWNDM_GETPOSITIONA = WM_USER + 102, 1697 MCIWNDM_GETSTART = WM_USER + 103, 1698 MCIWNDM_GETSTART = WM_USER + 103, 1698 MCIWNDM_GETLENGTH = WM_USER + 104, 1699 MCIWNDM_GETLENGTH = WM_USER + 104, ................................................................................................................................................................................ 1815 MCI_MODE_PLAY, 1816 MCI_MODE_PLAY, 1816 MCI_MODE_RECORD, 1817 MCI_MODE_RECORD, 1817 MCI_MODE_SEEK, 1818 MCI_MODE_SEEK, 1818 MCI_MODE_PAUSE, 1819 MCI_MODE_PAUSE, 1819 MCI_MODE_OPEN, 1820 MCI_MODE_OPEN, 1820 } 1821 } 1821 1822 1822 alias HANDLE HVIDEO; | 1823 alias TypeDef!(HANDLE) HVIDEO; 1823 alias HVIDEO* LPHVIDEO; 1824 alias HVIDEO* LPHVIDEO; 1824 1825 1825 // Error Return Values 1826 // Error Return Values 1826 1827 1827 enum { 1828 enum { 1828 DV_ERR_OK = 0, 1829 DV_ERR_OK = 0, 1829 DV_ERR_BASE = 1, 1830 DV_ERR_BASE = 1, ................................................................................................................................................................................ 1882 struct VIDEOHDR { 1883 struct VIDEOHDR { 1883 LPBYTE lpData; 1884 LPBYTE lpData; 1884 DWORD dwBufferLength; 1885 DWORD dwBufferLength; 1885 DWORD dwBytesUsed; 1886 DWORD dwBytesUsed; 1886 DWORD dwTimeCaptured; 1887 DWORD dwTimeCaptured; 1887 DWORD_PTR dwUser; 1888 DWORD_PTR dwUser; 1888 DWORD dwFlags; 1889 DWORD dwFlags; 1889 DWORD_PTR dwReserved[4]; | 1890 DWORD_PTR[4]dwReserved; 1890 } 1891 } 1891 alias VIDEOHDR* PVIDEOHDR, LPVIDEOHDR; 1892 alias VIDEOHDR* PVIDEOHDR, LPVIDEOHDR; 1892 1893 1893 enum { 1894 enum { 1894 VHDR_DONE = 0x00000001, 1895 VHDR_DONE = 0x00000001, 1895 VHDR_PREPARED = 0x00000002, 1896 VHDR_PREPARED = 0x00000002, 1896 VHDR_INQUEUE = 0x00000004, 1897 VHDR_INQUEUE = 0x00000004,

Modified src/win32/w32api.d from [a45ec6a241aff65f] to [02649da4f1c3ff63].

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

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

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW API for MS-Windows 3.10 * 6 * Translated from MinGW API for MS-Windows 3.10 * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.winbase; 10 module win32.winbase; 11 pragma(lib, "kernel32.lib"); | 11 pragma(lib, "kernel32"); 12 12 13 /** 13 /** 14 Translation Notes: 14 Translation Notes: 15 The following macros are obsolete, and have no effect. 15 The following macros are obsolete, and have no effect. 16 16 17 LockSegment(w), MakeProcInstance(p, i), UnlockResource(h), UnlockSegment(w) 17 LockSegment(w), MakeProcInstance(p, i), UnlockResource(h), UnlockSegment(w) 18 FreeModule(m), FreeProcInstance(p), GetFreeSpace(w), DefineHandleTable(w) 18 FreeModule(m), FreeProcInstance(p), GetFreeSpace(w), DefineHandleTable(w) ................................................................................................................................................................................ 63 /+ 63 /+ 64 //-------------------------------------- 64 //-------------------------------------- 65 // These functions are problematic 65 // These functions are problematic 66 66 67 version(UseNtoSKernel) {}else { 67 version(UseNtoSKernel) {}else { 68 /* CAREFUL: These are exported from ntoskrnl.exe and declared in winddk. 68 /* CAREFUL: These are exported from ntoskrnl.exe and declared in winddk. 69 as __fastcall functions, but are exported from kernel32.dll as __std 69 as __fastcall functions, but are exported from kernel32.dll as __std 70 static if (_WIN32_WINNT >= 0x0501) { | 70 static if (_WIN32_WINNT >= 0x501) { 71 VOID InitializeSListHead(PSLIST_HEADER); 71 VOID InitializeSListHead(PSLIST_HEADER); 72 } 72 } 73 LONG InterlockedCompareExchange(LPLONG, LONG, LONG); 73 LONG InterlockedCompareExchange(LPLONG, LONG, LONG); 74 // PVOID WINAPI InterlockedCompareExchangePointer(PVOID*, PVOID, PVOID); 74 // PVOID WINAPI InterlockedCompareExchangePointer(PVOID*, PVOID, PVOID); 75 (PVOID)InterlockedCompareExchange((LPLONG)(d) (PVOID)InterlockedCompa 75 (PVOID)InterlockedCompareExchange((LPLONG)(d) (PVOID)InterlockedCompa 76 LONG InterlockedDecrement(LPLONG); 76 LONG InterlockedDecrement(LPLONG); 77 LONG InterlockedExchange(LPLONG, LONG); 77 LONG InterlockedExchange(LPLONG, LONG); 78 // PVOID WINAPI InterlockedExchangePointer(PVOID*, PVOID); 78 // PVOID WINAPI InterlockedExchangePointer(PVOID*, PVOID); 79 (PVOID)InterlockedExchange((LPLONG)((PVOID)InterlockedExchange((LPLONG)( 79 (PVOID)InterlockedExchange((LPLONG)((PVOID)InterlockedExchange((LPLONG)( 80 LONG InterlockedExchangeAdd(LPLONG, LONG); 80 LONG InterlockedExchangeAdd(LPLONG, LONG); 81 81 82 static if (_WIN32_WINNT >= 0x0501) { | 82 static if (_WIN32_WINNT >= 0x501) { 83 PSLIST_ENTRY InterlockedFlushSList(PSLIST_HEADER); 83 PSLIST_ENTRY InterlockedFlushSList(PSLIST_HEADER); 84 } 84 } 85 LONG InterlockedIncrement(LPLONG); 85 LONG InterlockedIncrement(LPLONG); 86 static if (_WIN32_WINNT >= 0x0501) { | 86 static if (_WIN32_WINNT >= 0x501) { 87 PSLIST_ENTRY InterlockedPopEntrySList(PSLIST_HEADER); 87 PSLIST_ENTRY InterlockedPopEntrySList(PSLIST_HEADER); 88 PSLIST_ENTRY InterlockedPushEntrySList(PSLIST_HEADER, PSLIST_ENTRY); 88 PSLIST_ENTRY InterlockedPushEntrySList(PSLIST_HEADER, PSLIST_ENTRY); 89 } 89 } 90 } // #endif // __USE_NTOSKRNL__ 90 } // #endif // __USE_NTOSKRNL__ 91 //-------------------------------------- 91 //-------------------------------------- 92 +/ 92 +/ 93 93 ................................................................................................................................................................................ 176 PARITY_ODD = 0x0200, 176 PARITY_ODD = 0x0200, 177 PARITY_EVEN = 0x0400, 177 PARITY_EVEN = 0x0400, 178 PARITY_MARK = 0x0800, 178 PARITY_MARK = 0x0800, 179 PARITY_SPACE = 0x1000 179 PARITY_SPACE = 0x1000 180 } 180 } 181 181 182 // used by dwServiceMask 182 // used by dwServiceMask 183 const SP_SERIALCOMM = 1; | 183 enum SP_SERIALCOMM = 1; 184 184 185 struct COMMPROP { 185 struct COMMPROP { 186 WORD wPacketLength; 186 WORD wPacketLength; 187 WORD wPacketVersion; 187 WORD wPacketVersion; 188 DWORD dwServiceMask; 188 DWORD dwServiceMask; 189 DWORD dwReserved1; 189 DWORD dwReserved1; 190 DWORD dwMaxTxQueue; 190 DWORD dwMaxTxQueue; ................................................................................................................................................................................ 376 FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000, 376 FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000, 377 FILE_FLAG_DELETE_ON_CLOSE = 0x04000000, 377 FILE_FLAG_DELETE_ON_CLOSE = 0x04000000, 378 FILE_FLAG_BACKUP_SEMANTICS = 0x02000000, 378 FILE_FLAG_BACKUP_SEMANTICS = 0x02000000, 379 FILE_FLAG_POSIX_SEMANTICS = 0x01000000, 379 FILE_FLAG_POSIX_SEMANTICS = 0x01000000, 380 FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000, 380 FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000, 381 FILE_FLAG_OPEN_NO_RECALL = 0x00100000; 381 FILE_FLAG_OPEN_NO_RECALL = 0x00100000; 382 382 383 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { | 383 static if (_WIN32_WINNT >= 0x500) { 384 const DWORD FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000; 384 const DWORD FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000; 385 } 385 } 386 386 387 // for CreateFile() 387 // for CreateFile() 388 const DWORD 388 const DWORD 389 SECURITY_ANONYMOUS = SECURITY_IMPERSONATION_LEVEL.SecurityAnonymo 389 SECURITY_ANONYMOUS = SECURITY_IMPERSONATION_LEVEL.SecurityAnonymo 390 SECURITY_IDENTIFICATION = SECURITY_IMPERSONATION_LEVEL.SecurityIdentif 390 SECURITY_IDENTIFICATION = SECURITY_IMPERSONATION_LEVEL.SecurityIdentif ................................................................................................................................................................................ 454 454 455 enum : DWORD { 455 enum : DWORD { 456 STD_INPUT_HANDLE = 0xFFFFFFF6, 456 STD_INPUT_HANDLE = 0xFFFFFFF6, 457 STD_OUTPUT_HANDLE = 0xFFFFFFF5, 457 STD_OUTPUT_HANDLE = 0xFFFFFFF5, 458 STD_ERROR_HANDLE = 0xFFFFFFF4 458 STD_ERROR_HANDLE = 0xFFFFFFF4 459 } 459 } 460 460 461 const HANDLE INVALID_HANDLE_VALUE = cast(HANDLE) (-1); | 461 enum HANDLE INVALID_HANDLE_VALUE = cast(HANDLE) (-1); 462 462 463 enum : DWORD { 463 enum : DWORD { 464 GET_TAPE_MEDIA_INFORMATION = 0, 464 GET_TAPE_MEDIA_INFORMATION = 0, 465 GET_TAPE_DRIVE_INFORMATION = 1 465 GET_TAPE_DRIVE_INFORMATION = 1 466 } 466 } 467 467 468 enum : DWORD { 468 enum : DWORD { ................................................................................................................................................................................ 865 const DWORD INVALID_FILE_SIZE = 0xFFFFFFFF; 865 const DWORD INVALID_FILE_SIZE = 0xFFFFFFFF; 866 866 867 const DWORD TLS_OUT_OF_INDEXES = 0xFFFFFFFF; 867 const DWORD TLS_OUT_OF_INDEXES = 0xFFFFFFFF; 868 868 869 // GetWriteWatch() 869 // GetWriteWatch() 870 const DWORD WRITE_WATCH_FLAG_RESET = 1; 870 const DWORD WRITE_WATCH_FLAG_RESET = 1; 871 871 872 static if (_WIN32_WINNT_ONLY) { < 873 // for LogonUser() | 872 // for LogonUser() 874 enum : DWORD { | 873 enum : DWORD { 875 LOGON32_LOGON_INTERACTIVE = 2, | 874 LOGON32_LOGON_INTERACTIVE = 2, 876 LOGON32_LOGON_NETWORK = 3, | 875 LOGON32_LOGON_NETWORK = 3, 877 LOGON32_LOGON_BATCH = 4, | 876 LOGON32_LOGON_BATCH = 4, 878 LOGON32_LOGON_SERVICE = 5, | 877 LOGON32_LOGON_SERVICE = 5, 879 LOGON32_LOGON_UNLOCK = 7 | 878 LOGON32_LOGON_UNLOCK = 7 880 } | 879 } 881 880 882 // for LogonUser() | 881 // for LogonUser() > 882 enum : DWORD { > 883 LOGON32_PROVIDER_DEFAULT, > 884 LOGON32_PROVIDER_WINNT35, > 885 LOGON32_PROVIDER_WINNT40, > 886 LOGON32_PROVIDER_WINNT50 > 887 } > 888 > 889 // for MoveFileEx() > 890 const DWORD > 891 MOVEFILE_REPLACE_EXISTING = 1, > 892 MOVEFILE_COPY_ALLOWED = 2, > 893 MOVEFILE_DELAY_UNTIL_REBOOT = 4, > 894 MOVEFILE_WRITE_THROUGH = 8; > 895 > 896 // DefineDosDevice() > 897 const DWORD > 898 DDD_RAW_TARGET_PATH = 1, > 899 DDD_REMOVE_DEFINITION = 2, > 900 DDD_EXACT_MATCH_ON_REMOVE = 4; > 901 > 902 static if (_WIN32_WINNT >= 0x500) { 883 enum : DWORD { 903 enum : DWORD { 884 LOGON32_PROVIDER_DEFAULT, | 904 LOGON32_LOGON_NETWORK_CLEARTEXT = 8, 885 LOGON32_PROVIDER_WINNT35, | 905 LOGON32_LOGON_NEW_CREDENTIALS = 9 886 LOGON32_PROVIDER_WINNT40, < 887 LOGON32_PROVIDER_WINNT50 < 888 } 906 } 889 907 > 908 // ReplaceFile() > 909 const DWORD > 910 REPLACEFILE_WRITE_THROUGH = 1, > 911 REPLACEFILE_IGNORE_MERGE_ERRORS = 2; > 912 } > 913 > 914 static if (_WIN32_WINNT >= 0x501) { > 915 const DWORD > 916 GET_MODULE_HANDLE_EX_FLAG_PIN = 1, > 917 GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 2, > 918 GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS = 4; > 919 890 // for MoveFileEx() | 920 // for ACTCTX 891 const DWORD 921 const DWORD 892 MOVEFILE_REPLACE_EXISTING = 1, | 922 ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID = 0x01, 893 MOVEFILE_COPY_ALLOWED = 2, | 923 ACTCTX_FLAG_LANGID_VALID = 0x02, 894 MOVEFILE_DELAY_UNTIL_REBOOT = 4, | 924 ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID = 0x04, 895 MOVEFILE_WRITE_THROUGH = 8; | 925 ACTCTX_FLAG_RESOURCE_NAME_VALID = 0x08, > 926 ACTCTX_FLAG_SET_PROCESS_DEFAULT = 0x10, > 927 ACTCTX_FLAG_APPLICATION_NAME_VALID = 0x20, > 928 ACTCTX_FLAG_HMODULE_VALID = 0x80; 896 929 897 // DefineDosDevice() | 930 // DeactivateActCtx() > 931 const DWORD DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION = 1; > 932 // FindActCtxSectionString() > 933 const DWORD FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX = 1; > 934 // QueryActCtxW() 898 const DWORD 935 const DWORD 899 DDD_RAW_TARGET_PATH = 1, | 936 QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX = 0x04, 900 DDD_REMOVE_DEFINITION = 2, | 937 QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE = 0x08, 901 DDD_EXACT_MATCH_ON_REMOVE = 4; | 938 QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS = 0x10; 902 939 903 static if (_WIN32_WINNT >= 0x500) { < 904 enum : DWORD { < 905 LOGON32_LOGON_NETWORK_CLEARTEXT = 8, < 906 LOGON32_LOGON_NEW_CREDENTIALS = 9 < 907 } < 908 < 909 // ReplaceFile() < 910 const DWORD < 911 REPLACEFILE_WRITE_THROUGH = 1, < 912 REPLACEFILE_IGNORE_MERGE_ERRORS = 2; < 913 } < 914 < 915 static if (_WIN32_WINNT >= 0x501) { < 916 const DWORD < 917 GET_MODULE_HANDLE_EX_FLAG_PIN = 1, < 918 GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 2, < 919 GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS = 4; < 920 < 921 // for ACTCTX < 922 const DWORD < 923 ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID = 0x01, < 924 ACTCTX_FLAG_LANGID_VALID = 0x02, < 925 ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID = 0x04, < 926 ACTCTX_FLAG_RESOURCE_NAME_VALID = 0x08, < 927 ACTCTX_FLAG_SET_PROCESS_DEFAULT = 0x10, < 928 ACTCTX_FLAG_APPLICATION_NAME_VALID = 0x20, < 929 ACTCTX_FLAG_HMODULE_VALID = 0x80; < 930 < 931 // DeactivateActCtx() < 932 const DWORD DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION = 1; < 933 // FindActCtxSectionString() < 934 const DWORD FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX = 1; < 935 // QueryActCtxW() < 936 const DWORD < 937 QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX = 0x04, < 938 QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE = 0x08, < 939 QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS = 0x10; < 940 < 941 enum { | 940 enum { 942 LOGON_WITH_PROFILE = 1, | 941 LOGON_WITH_PROFILE = 1, 943 LOGON_NETCREDENTIALS_ONLY | 942 LOGON_NETCREDENTIALS_ONLY 944 } < 945 } 943 } 946 } 944 } 947 945 948 // ---- 946 // ---- 949 947 950 struct FILETIME { 948 struct FILETIME { 951 DWORD dwLowDateTime; 949 DWORD dwLowDateTime; ................................................................................................................................................................................ 1264 WORD wHour; 1262 WORD wHour; 1265 WORD wMinute; 1263 WORD wMinute; 1266 WORD wSecond; 1264 WORD wSecond; 1267 WORD wMilliseconds; 1265 WORD wMilliseconds; 1268 } 1266 } 1269 alias SYSTEMTIME* LPSYSTEMTIME; 1267 alias SYSTEMTIME* LPSYSTEMTIME; 1270 1268 1271 static if (_WIN32_WINDOWS >= 0x410) { < 1272 struct WIN32_FILE_ATTRIBUTE_DATA { | 1269 struct WIN32_FILE_ATTRIBUTE_DATA { 1273 DWORD dwFileAttributes; | 1270 DWORD dwFileAttributes; 1274 FILETIME ftCreationTime; | 1271 FILETIME ftCreationTime; 1275 FILETIME ftLastAccessTime; | 1272 FILETIME ftLastAccessTime; 1276 FILETIME ftLastWriteTime; | 1273 FILETIME ftLastWriteTime; 1277 DWORD nFileSizeHigh; | 1274 DWORD nFileSizeHigh; 1278 DWORD nFileSizeLow; | 1275 DWORD nFileSizeLow; 1279 } < 1280 alias WIN32_FILE_ATTRIBUTE_DATA* LPWIN32_FILE_ATTRIBUTE_DATA; < 1281 } 1276 } > 1277 alias WIN32_FILE_ATTRIBUTE_DATA* LPWIN32_FILE_ATTRIBUTE_DATA; 1282 1278 1283 struct WIN32_FIND_DATAA { 1279 struct WIN32_FIND_DATAA { 1284 DWORD dwFileAttributes; 1280 DWORD dwFileAttributes; 1285 FILETIME ftCreationTime; 1281 FILETIME ftCreationTime; 1286 FILETIME ftLastAccessTime; 1282 FILETIME ftLastAccessTime; 1287 FILETIME ftLastWriteTime; 1283 FILETIME ftLastWriteTime; 1288 DWORD nFileSizeHigh; 1284 DWORD nFileSizeHigh; ................................................................................................................................................................................ 1316 WCHAR[MAX_PATH] cFileName; 1312 WCHAR[MAX_PATH] cFileName; 1317 // #ifndef _WIN32_WCE 1313 // #ifndef _WIN32_WCE 1318 WCHAR[14] cAlternateFileName; 1314 WCHAR[14] cAlternateFileName; 1319 // #endif 1315 // #endif 1320 } 1316 } 1321 alias WIN32_FIND_DATAW* PWIN32_FIND_DATAW, LPWIN32_FIND_DATAW; 1317 alias WIN32_FIND_DATAW* PWIN32_FIND_DATAW, LPWIN32_FIND_DATAW; 1322 1318 1323 static if (_WIN32_WINNT_ONLY) { < 1324 struct WIN32_STREAM_ID { | 1319 struct WIN32_STREAM_ID { 1325 DWORD dwStreamId; | 1320 DWORD dwStreamId; 1326 DWORD dwStreamAttributes; | 1321 DWORD dwStreamAttributes; 1327 LARGE_INTEGER Size; | 1322 LARGE_INTEGER Size; 1328 DWORD dwStreamNameSize; | 1323 DWORD dwStreamNameSize; 1329 WCHAR _cStreamName; | 1324 WCHAR _cStreamName; 1330 | 1325 1331 WCHAR* cStreamName() { return &_cStreamName; } | 1326 WCHAR* cStreamName() { return &_cStreamName; } 1332 } | 1327 } 1333 alias WIN32_STREAM_ID* LPWIN32_STREAM_ID; | 1328 alias WIN32_STREAM_ID* LPWIN32_STREAM_ID; 1334 | 1329 1335 enum FINDEX_INFO_LEVELS { | 1330 enum FINDEX_INFO_LEVELS { 1336 FindExInfoStandard, | 1331 FindExInfoStandard, 1337 FindExInfoMaxInfoLevel | 1332 FindExInfoMaxInfoLevel 1338 } | 1333 } 1339 | 1334 1340 enum FINDEX_SEARCH_OPS { | 1335 enum FINDEX_SEARCH_OPS { 1341 FindExSearchNameMatch, | 1336 FindExSearchNameMatch, 1342 FindExSearchLimitToDirectories, | 1337 FindExSearchLimitToDirectories, 1343 FindExSearchLimitToDevices, | 1338 FindExSearchLimitToDevices, 1344 FindExSearchMaxSearchOp | 1339 FindExSearchMaxSearchOp 1345 } | 1340 } 1346 | 1341 1347 enum ACL_INFORMATION_CLASS { | 1342 enum ACL_INFORMATION_CLASS { 1348 AclRevisionInformation = 1, | 1343 AclRevisionInformation = 1, 1349 AclSizeInformation | 1344 AclSizeInformation 1350 } | 1345 } 1351 | 1346 1352 struct HW_PROFILE_INFOA { | 1347 struct HW_PROFILE_INFOA { 1353 DWORD dwDockInfo; | 1348 DWORD dwDockInfo; 1354 CHAR[HW_PROFILE_GUIDLEN] szHwProfileGuid; | 1349 CHAR[HW_PROFILE_GUIDLEN] szHwProfileGuid; 1355 CHAR[MAX_PROFILE_LEN] szHwProfileName; | 1350 CHAR[MAX_PROFILE_LEN] szHwProfileName; 1356 } | 1351 } 1357 alias HW_PROFILE_INFOA* LPHW_PROFILE_INFOA; | 1352 alias HW_PROFILE_INFOA* LPHW_PROFILE_INFOA; 1358 | 1353 1359 struct HW_PROFILE_INFOW { | 1354 struct HW_PROFILE_INFOW { 1360 DWORD dwDockInfo; | 1355 DWORD dwDockInfo; 1361 WCHAR[HW_PROFILE_GUIDLEN] szHwProfileGuid; | 1356 WCHAR[HW_PROFILE_GUIDLEN] szHwProfileGuid; 1362 WCHAR[MAX_PROFILE_LEN] szHwProfileName; | 1357 WCHAR[MAX_PROFILE_LEN] szHwProfileName; 1363 } | 1358 } 1364 alias HW_PROFILE_INFOW* LPHW_PROFILE_INFOW; | 1359 alias HW_PROFILE_INFOW* LPHW_PROFILE_INFOW; 1365 } < 1366 1360 1367 /* ??? MSDN documents this only for Windows CE/Mobile, but it's used by 1361 /* ??? MSDN documents this only for Windows CE/Mobile, but it's used by 1368 * GetFileAttributesEx, which is in desktop Windows. 1362 * GetFileAttributesEx, which is in desktop Windows. 1369 */ 1363 */ 1370 enum GET_FILEEX_INFO_LEVELS { 1364 enum GET_FILEEX_INFO_LEVELS { 1371 GetFileExInfoStandard, 1365 GetFileExInfoStandard, 1372 GetFileExMaxInfoLevel 1366 GetFileExMaxInfoLevel ................................................................................................................................................................................ 1379 WORD wProcessorArchitecture; 1373 WORD wProcessorArchitecture; 1380 WORD wReserved; 1374 WORD wReserved; 1381 } 1375 } 1382 } 1376 } 1383 DWORD dwPageSize; 1377 DWORD dwPageSize; 1384 PVOID lpMinimumApplicationAddress; 1378 PVOID lpMinimumApplicationAddress; 1385 PVOID lpMaximumApplicationAddress; 1379 PVOID lpMaximumApplicationAddress; 1386 DWORD dwActiveProcessorMask; | 1380 DWORD_PTR dwActiveProcessorMask; 1387 DWORD dwNumberOfProcessors; 1381 DWORD dwNumberOfProcessors; 1388 DWORD dwProcessorType; 1382 DWORD dwProcessorType; 1389 DWORD dwAllocationGranularity; 1383 DWORD dwAllocationGranularity; 1390 WORD wProcessorLevel; 1384 WORD wProcessorLevel; 1391 WORD wProcessorRevision; 1385 WORD wProcessorRevision; 1392 } 1386 } 1393 alias SYSTEM_INFO* LPSYSTEM_INFO; 1387 alias SYSTEM_INFO* LPSYSTEM_INFO; 1394 1388 1395 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { | 1389 static if (_WIN32_WINNT >= 0x500) { 1396 struct SYSTEM_POWER_STATUS { 1390 struct SYSTEM_POWER_STATUS { 1397 BYTE ACLineStatus; 1391 BYTE ACLineStatus; 1398 BYTE BatteryFlag; 1392 BYTE BatteryFlag; 1399 BYTE BatteryLifePercent; 1393 BYTE BatteryLifePercent; 1400 BYTE Reserved1; 1394 BYTE Reserved1; 1401 DWORD BatteryLifeTime; 1395 DWORD BatteryLifeTime; 1402 DWORD BatteryFullLifeTime; 1396 DWORD BatteryFullLifeTime; ................................................................................................................................................................................ 1565 USHORT wProcessorArchitecture; 1559 USHORT wProcessorArchitecture; 1566 LANGID wLangId; 1560 LANGID wLangId; 1567 LPCSTR lpAssemblyDirectory; 1561 LPCSTR lpAssemblyDirectory; 1568 LPCSTR lpResourceName; 1562 LPCSTR lpResourceName; 1569 LPCSTR lpApplicationName; 1563 LPCSTR lpApplicationName; 1570 HMODULE hModule; 1564 HMODULE hModule; 1571 } 1565 } 1572 alias ACTCTXA* PACTCTXA; | 1566 alias ACTCTXA* PACTCTXA; 1573 alias CPtr!(ACTCTXA) PCACTCTXA; | 1567 alias const(ACTCTXA)* PCACTCTXA; 1574 1568 1575 struct ACTCTXW { 1569 struct ACTCTXW { 1576 ULONG cbSize = this.sizeof; 1570 ULONG cbSize = this.sizeof; 1577 DWORD dwFlags; 1571 DWORD dwFlags; 1578 LPCWSTR lpSource; 1572 LPCWSTR lpSource; 1579 USHORT wProcessorArchitecture; 1573 USHORT wProcessorArchitecture; 1580 LANGID wLangId; 1574 LANGID wLangId; 1581 LPCWSTR lpAssemblyDirectory; 1575 LPCWSTR lpAssemblyDirectory; 1582 LPCWSTR lpResourceName; 1576 LPCWSTR lpResourceName; 1583 LPCWSTR lpApplicationName; 1577 LPCWSTR lpApplicationName; 1584 HMODULE hModule; 1578 HMODULE hModule; 1585 } 1579 } 1586 alias ACTCTXW* PACTCTXW; | 1580 alias ACTCTXW* PACTCTXW; 1587 alias CPtr!(ACTCTXW) PCACTCTXW; | 1581 alias const(ACTCTXW)* PCACTCTXW; 1588 1582 1589 struct ACTCTX_SECTION_KEYED_DATA { 1583 struct ACTCTX_SECTION_KEYED_DATA { 1590 ULONG cbSize = this.sizeof; 1584 ULONG cbSize = this.sizeof; 1591 ULONG ulDataFormatVersion; 1585 ULONG ulDataFormatVersion; 1592 PVOID lpData; 1586 PVOID lpData; 1593 ULONG ulLength; 1587 ULONG ulLength; 1594 PVOID lpSectionGlobalData; 1588 PVOID lpSectionGlobalData; 1595 ULONG ulSectionGlobalDataLength; 1589 ULONG ulSectionGlobalDataLength; 1596 PVOID lpSectionBase; 1590 PVOID lpSectionBase; 1597 ULONG ulSectionTotalLength; 1591 ULONG ulSectionTotalLength; 1598 HANDLE hActCtx; 1592 HANDLE hActCtx; 1599 HANDLE ulAssemblyRosterIndex; 1593 HANDLE ulAssemblyRosterIndex; 1600 } 1594 } 1601 alias ACTCTX_SECTION_KEYED_DATA* PACTCTX_SECTION_KEYED_DATA; | 1595 alias ACTCTX_SECTION_KEYED_DATA* PACTCTX_SECTION_KEYED_DATA; 1602 alias CPtr!(ACTCTX_SECTION_KEYED_DATA) PCACTCTX_SECTION_KEYED_DATA; | 1596 alias const(ACTCTX_SECTION_KEYED_DATA)* PCACTCTX_SECTION_KEYED_DATA; 1603 1597 1604 enum MEMORY_RESOURCE_NOTIFICATION_TYPE { 1598 enum MEMORY_RESOURCE_NOTIFICATION_TYPE { 1605 LowMemoryResourceNotification, 1599 LowMemoryResourceNotification, 1606 HighMemoryResourceNotification 1600 HighMemoryResourceNotification 1607 } 1601 } 1608 1602 1609 } // (_WIN32_WINNT >= 0x0501) | 1603 } // (_WIN32_WINNT >= 0x501) 1610 1604 1611 static if (WINVER >= 0x410) { | 1605 static if (_WIN32_WINNT >= 0x410) { 1612 /* apparently used only by SetThreadExecutionState (Win2000+) 1606 /* apparently used only by SetThreadExecutionState (Win2000+) 1613 * and DDK functions (version compatibility not established) 1607 * and DDK functions (version compatibility not established) 1614 */ 1608 */ 1615 alias DWORD EXECUTION_STATE; 1609 alias DWORD EXECUTION_STATE; 1616 } 1610 } 1617 1611 1618 // Callbacks 1612 // Callbacks ................................................................................................................................................................................ 1631 alias void function(DWORD, DWORD, LPOVERLAPPED) LPOVERLAPPED_COMPLETION_ 1625 alias void function(DWORD, DWORD, LPOVERLAPPED) LPOVERLAPPED_COMPLETION_ 1632 alias LONG function(LPEXCEPTION_POINTERS) PTOP_LEVEL_EXCEPTION_FILTER; 1626 alias LONG function(LPEXCEPTION_POINTERS) PTOP_LEVEL_EXCEPTION_FILTER; 1633 alias PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER; 1627 alias PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER; 1634 1628 1635 alias void function(ULONG_PTR) PAPCFUNC; 1629 alias void function(ULONG_PTR) PAPCFUNC; 1636 alias void function(PVOID, DWORD, DWORD) PTIMERAPCROUTINE; 1630 alias void function(PVOID, DWORD, DWORD) PTIMERAPCROUTINE; 1637 1631 1638 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { | 1632 static if (_WIN32_WINNT >= 0x500) { 1639 alias void function(PVOID, BOOLEAN) WAITORTIMERCALLBACK; 1633 alias void function(PVOID, BOOLEAN) WAITORTIMERCALLBACK; 1640 } 1634 } 1641 } 1635 } 1642 1636 1643 LPTSTR MAKEINTATOM(short i) { | 1637 LPTSTR MAKEINTATOM()(ushort i) { 1644 return cast(LPTSTR) i; | 1638 return cast(LPTSTR) cast(size_t) i; 1645 } 1639 } 1646 1640 1647 extern (Windows) { 1641 extern (Windows) { 1648 ATOM AddAtomA(LPCSTR); 1642 ATOM AddAtomA(LPCSTR); 1649 ATOM AddAtomW(LPCWSTR); 1643 ATOM AddAtomW(LPCWSTR); 1650 BOOL AreFileApisANSI(); 1644 BOOL AreFileApisANSI(); 1651 BOOL Beep(DWORD, DWORD); 1645 BOOL Beep(DWORD, DWORD); ................................................................................................................................................................................ 1660 BOOL CancelDeviceWakeupRequest(HANDLE); 1654 BOOL CancelDeviceWakeupRequest(HANDLE); 1661 BOOL CheckTokenMembership(HANDLE, PSID, PBOOL); 1655 BOOL CheckTokenMembership(HANDLE, PSID, PBOOL); 1662 BOOL ClearCommBreak(HANDLE); 1656 BOOL ClearCommBreak(HANDLE); 1663 BOOL ClearCommError(HANDLE, PDWORD, LPCOMSTAT); 1657 BOOL ClearCommError(HANDLE, PDWORD, LPCOMSTAT); 1664 BOOL CloseHandle(HANDLE); 1658 BOOL CloseHandle(HANDLE); 1665 BOOL CommConfigDialogA(LPCSTR, HWND, LPCOMMCONFIG); 1659 BOOL CommConfigDialogA(LPCSTR, HWND, LPCOMMCONFIG); 1666 BOOL CommConfigDialogW(LPCWSTR, HWND, LPCOMMCONFIG); 1660 BOOL CommConfigDialogW(LPCWSTR, HWND, LPCOMMCONFIG); 1667 LONG CompareFileTime(CPtr!(FILETIME), CPtr!(FILETIME)); | 1661 LONG CompareFileTime(const(FILETIME)*, const(FILETIME)*); 1668 BOOL ContinueDebugEvent(DWORD, DWORD, DWORD); 1662 BOOL ContinueDebugEvent(DWORD, DWORD, DWORD); 1669 BOOL CopyFileA(LPCSTR, LPCSTR, BOOL); 1663 BOOL CopyFileA(LPCSTR, LPCSTR, BOOL); 1670 BOOL CopyFileW(LPCWSTR, LPCWSTR, BOOL); 1664 BOOL CopyFileW(LPCWSTR, LPCWSTR, BOOL); 1671 BOOL CopyFileExA(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWO 1665 BOOL CopyFileExA(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWO 1672 BOOL CopyFileExW(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, D 1666 BOOL CopyFileExW(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, D 1673 1667 1674 /+ FIXME 1668 /+ FIXME ................................................................................................................................................................................ 1676 alias memcpy RtlCopyMemory; 1670 alias memcpy RtlCopyMemory; 1677 1671 1678 void RtlFillMemory(PVOID dest, SIZE_T len, BYTE fill) { 1672 void RtlFillMemory(PVOID dest, SIZE_T len, BYTE fill) { 1679 memset(dest, fill, len); 1673 memset(dest, fill, len); 1680 } 1674 } 1681 1675 1682 void RtlZeroMemory(PVOID dest, SIZE_T len) { 1676 void RtlZeroMemory(PVOID dest, SIZE_T len) { 1683 RtlFillMemory(dest, len , 0); | 1677 RtlFillMemory(dest, len, 0); 1684 } 1678 } 1685 1679 1686 alias RtlMoveMemory MoveMemory; 1680 alias RtlMoveMemory MoveMemory; 1687 alias RtlCopyMemory CopyMemory; 1681 alias RtlCopyMemory CopyMemory; 1688 alias RtlFillMemory FillMemory; 1682 alias RtlFillMemory FillMemory; 1689 alias RtlZeroMemory ZeroMemory; 1683 alias RtlZeroMemory ZeroMemory; 1690 +/ 1684 +/ ................................................................................................................................................................................ 1729 void ExitProcess(UINT); // Never returns 1723 void ExitProcess(UINT); // Never returns 1730 void ExitThread(DWORD); // Never returns 1724 void ExitThread(DWORD); // Never returns 1731 DWORD ExpandEnvironmentStringsA(LPCSTR, LPSTR, DWORD); 1725 DWORD ExpandEnvironmentStringsA(LPCSTR, LPSTR, DWORD); 1732 DWORD ExpandEnvironmentStringsW(LPCWSTR, LPWSTR, DWORD); 1726 DWORD ExpandEnvironmentStringsW(LPCWSTR, LPWSTR, DWORD); 1733 void FatalAppExitA(UINT, LPCSTR); 1727 void FatalAppExitA(UINT, LPCSTR); 1734 void FatalAppExitW(UINT, LPCWSTR); 1728 void FatalAppExitW(UINT, LPCWSTR); 1735 void FatalExit(int); 1729 void FatalExit(int); 1736 BOOL FileTimeToDosDateTime(CPtr!(FILETIME) , LPWORD, LPWORD); | 1730 BOOL FileTimeToDosDateTime(const(FILETIME)*, LPWORD, LPWORD); 1737 BOOL FileTimeToLocalFileTime(CPtr!(FILETIME) , LPFILETIME); | 1731 BOOL FileTimeToLocalFileTime(const(FILETIME)*, LPFILETIME); 1738 BOOL FileTimeToSystemTime(CPtr!(FILETIME) , LPSYSTEMTIME); | 1732 BOOL FileTimeToSystemTime(const(FILETIME)*, LPSYSTEMTIME); 1739 ATOM FindAtomA(LPCSTR); 1733 ATOM FindAtomA(LPCSTR); 1740 ATOM FindAtomW(LPCWSTR); 1734 ATOM FindAtomW(LPCWSTR); 1741 BOOL FindClose(HANDLE); 1735 BOOL FindClose(HANDLE); 1742 BOOL FindCloseChangeNotification(HANDLE); 1736 BOOL FindCloseChangeNotification(HANDLE); 1743 HANDLE FindFirstChangeNotificationA(LPCSTR, BOOL, DWORD); 1737 HANDLE FindFirstChangeNotificationA(LPCSTR, BOOL, DWORD); 1744 HANDLE FindFirstChangeNotificationW(LPCWSTR, BOOL, DWORD); 1738 HANDLE FindFirstChangeNotificationW(LPCWSTR, BOOL, DWORD); 1745 HANDLE FindFirstFileA(LPCSTR, LPWIN32_FIND_DATAA); 1739 HANDLE FindFirstFileA(LPCSTR, LPWIN32_FIND_DATAA); ................................................................................................................................................................................ 1890 BOOL InitAtomTable(DWORD); 1884 BOOL InitAtomTable(DWORD); 1891 VOID InitializeCriticalSection(LPCRITICAL_SECTION); 1885 VOID InitializeCriticalSection(LPCRITICAL_SECTION); 1892 /* ??? The next two are allegedly obsolete and "supported only for 1886 /* ??? The next two are allegedly obsolete and "supported only for 1893 * backward compatibility with the 16-bit Windows API". Yet the 1887 * backward compatibility with the 16-bit Windows API". Yet the 1894 * replacements IsBadReadPtr and IsBadWritePtr are apparently Win20 1888 * replacements IsBadReadPtr and IsBadWritePtr are apparently Win20 1895 * only. Where's the mistake? 1889 * only. Where's the mistake? 1896 */ 1890 */ 1897 BOOL IsBadHugeReadPtr(PCVOID, UINT); | 1891 BOOL IsBadHugeReadPtr(PCVOID, UINT_PTR); 1898 BOOL IsBadHugeWritePtr(PVOID, UINT); | 1892 BOOL IsBadHugeWritePtr(PVOID, UINT_PTR); 1899 BOOL IsBadReadPtr(PCVOID, UINT); | 1893 BOOL IsBadReadPtr(PCVOID, UINT_PTR); 1900 BOOL IsBadStringPtrA(LPCSTR, UINT); | 1894 BOOL IsBadStringPtrA(LPCSTR, UINT_PTR); 1901 BOOL IsBadStringPtrW(LPCWSTR, UINT); | 1895 BOOL IsBadStringPtrW(LPCWSTR, UINT_PTR); 1902 BOOL IsBadWritePtr(PVOID, UINT); | 1896 BOOL IsBadWritePtr(PVOID, UINT_PTR); 1903 void LeaveCriticalSection(LPCRITICAL_SECTION); 1897 void LeaveCriticalSection(LPCRITICAL_SECTION); 1904 HINSTANCE LoadLibraryA(LPCSTR); 1898 HINSTANCE LoadLibraryA(LPCSTR); 1905 HINSTANCE LoadLibraryW(LPCWSTR); 1899 HINSTANCE LoadLibraryW(LPCWSTR); 1906 HINSTANCE LoadLibraryExA(LPCSTR, HANDLE, DWORD); 1900 HINSTANCE LoadLibraryExA(LPCSTR, HANDLE, DWORD); 1907 HINSTANCE LoadLibraryExW(LPCWSTR, HANDLE, DWORD); 1901 HINSTANCE LoadLibraryExW(LPCWSTR, HANDLE, DWORD); 1908 DWORD LoadModule(LPCSTR, PVOID); 1902 DWORD LoadModule(LPCSTR, PVOID); 1909 HGLOBAL LoadResource(HINSTANCE, HRSRC); 1903 HGLOBAL LoadResource(HINSTANCE, HRSRC); 1910 BOOL LocalFileTimeToFileTime(CPtr!(FILETIME) , LPFILETIME); | 1904 BOOL LocalFileTimeToFileTime(const(FILETIME)*, LPFILETIME); 1911 BOOL LockFile(HANDLE, DWORD, DWORD, DWORD, DWORD); 1905 BOOL LockFile(HANDLE, DWORD, DWORD, DWORD, DWORD); 1912 PVOID LockResource(HGLOBAL); 1906 PVOID LockResource(HGLOBAL); 1913 1907 1914 LPSTR lstrcatA(LPSTR, LPCSTR); 1908 LPSTR lstrcatA(LPSTR, LPCSTR); 1915 LPWSTR lstrcatW(LPWSTR, LPCWSTR); 1909 LPWSTR lstrcatW(LPWSTR, LPCWSTR); 1916 int lstrcmpA(LPCSTR, LPCSTR); 1910 int lstrcmpA(LPCSTR, LPCSTR); 1917 int lstrcmpiA(LPCSTR, LPCSTR); 1911 int lstrcmpiA(LPCSTR, LPCSTR); ................................................................................................................................................................................ 1939 void OutputDebugStringW(LPCWSTR); 1933 void OutputDebugStringW(LPCWSTR); 1940 BOOL PeekNamedPipe(HANDLE, PVOID, DWORD, PDWORD, PDWORD, PDWORD); 1934 BOOL PeekNamedPipe(HANDLE, PVOID, DWORD, PDWORD, PDWORD, PDWORD); 1941 BOOL PulseEvent(HANDLE); 1935 BOOL PulseEvent(HANDLE); 1942 BOOL PurgeComm(HANDLE, DWORD); 1936 BOOL PurgeComm(HANDLE, DWORD); 1943 BOOL QueryPerformanceCounter(PLARGE_INTEGER); 1937 BOOL QueryPerformanceCounter(PLARGE_INTEGER); 1944 BOOL QueryPerformanceFrequency(PLARGE_INTEGER); 1938 BOOL QueryPerformanceFrequency(PLARGE_INTEGER); 1945 DWORD QueueUserAPC(PAPCFUNC, HANDLE, ULONG_PTR); 1939 DWORD QueueUserAPC(PAPCFUNC, HANDLE, ULONG_PTR); 1946 void RaiseException(DWORD, DWORD, DWORD, CPtr!(DWORD)); | 1940 void RaiseException(DWORD, DWORD, DWORD, const(DWORD)*); 1947 BOOL ReadFile(HANDLE, PVOID, DWORD, PDWORD, LPOVERLAPPED); 1941 BOOL ReadFile(HANDLE, PVOID, DWORD, PDWORD, LPOVERLAPPED); 1948 BOOL ReadFileEx(HANDLE, PVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLET 1942 BOOL ReadFileEx(HANDLE, PVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLET 1949 BOOL ReadProcessMemory(HANDLE, PCVOID, PVOID, DWORD, PDWORD); | 1943 BOOL ReadProcessMemory(HANDLE, PCVOID, PVOID, SIZE_T, SIZE_T*); 1950 BOOL ReleaseMutex(HANDLE); 1944 BOOL ReleaseMutex(HANDLE); 1951 BOOL ReleaseSemaphore(HANDLE, LONG, LPLONG); 1945 BOOL ReleaseSemaphore(HANDLE, LONG, LPLONG); 1952 BOOL RemoveDirectoryA(LPCSTR); 1946 BOOL RemoveDirectoryA(LPCSTR); 1953 BOOL RemoveDirectoryW(LPCWSTR); 1947 BOOL RemoveDirectoryW(LPCWSTR); 1954 /* In MinGW: 1948 /* In MinGW: 1955 #ifdef _WIN32_WCE 1949 #ifdef _WIN32_WCE 1956 extern BOOL ResetEvent(HANDLE); 1950 extern BOOL ResetEvent(HANDLE); ................................................................................................................................................................................ 1986 */ 1980 */ 1987 BOOL SetEvent(HANDLE); 1981 BOOL SetEvent(HANDLE); 1988 VOID SetFileApisToANSI(); 1982 VOID SetFileApisToANSI(); 1989 VOID SetFileApisToOEM(); 1983 VOID SetFileApisToOEM(); 1990 BOOL SetFileAttributesA(LPCSTR, DWORD); 1984 BOOL SetFileAttributesA(LPCSTR, DWORD); 1991 BOOL SetFileAttributesW(LPCWSTR, DWORD); 1985 BOOL SetFileAttributesW(LPCWSTR, DWORD); 1992 DWORD SetFilePointer(HANDLE, LONG, PLONG, DWORD); 1986 DWORD SetFilePointer(HANDLE, LONG, PLONG, DWORD); 1993 BOOL SetFileTime(HANDLE, CPtr!(FILETIME), CPtr!(FILETIME), CPtr!(FILETIM | 1987 BOOL SetFileTime(HANDLE, const(FILETIME)*, const(FILETIME)*, const(FILET 1994 deprecated UINT SetHandleCount(UINT); 1988 deprecated UINT SetHandleCount(UINT); 1995 void SetLastError(DWORD); 1989 void SetLastError(DWORD); 1996 void SetLastErrorEx(DWORD, DWORD); 1990 void SetLastErrorEx(DWORD, DWORD); 1997 BOOL SetLocalTime(CPtr!(SYSTEMTIME)); | 1991 BOOL SetLocalTime(const(SYSTEMTIME)*); 1998 BOOL SetMailslotInfo(HANDLE, DWORD); 1992 BOOL SetMailslotInfo(HANDLE, DWORD); 1999 BOOL SetNamedPipeHandleState(HANDLE, PDWORD, PDWORD, PDWORD); 1993 BOOL SetNamedPipeHandleState(HANDLE, PDWORD, PDWORD, PDWORD); 2000 BOOL SetPriorityClass(HANDLE, DWORD); 1994 BOOL SetPriorityClass(HANDLE, DWORD); 2001 BOOL SetStdHandle(DWORD, HANDLE); 1995 BOOL SetStdHandle(DWORD, HANDLE); 2002 BOOL SetSystemTime(CPtr!(SYSTEMTIME)); | 1996 BOOL SetSystemTime(const(SYSTEMTIME)*); 2003 DWORD SetThreadAffinityMask(HANDLE, DWORD); 1997 DWORD SetThreadAffinityMask(HANDLE, DWORD); 2004 BOOL SetThreadContext(HANDLE, CPtr!(CONTEXT)); | 1998 BOOL SetThreadContext(HANDLE, const(CONTEXT)*); 2005 BOOL SetThreadPriority(HANDLE, int); 1999 BOOL SetThreadPriority(HANDLE, int); 2006 BOOL SetTimeZoneInformation(CPtr!(TIME_ZONE_INFORMATION)); | 2000 BOOL SetTimeZoneInformation(const(TIME_ZONE_INFORMATION)*); 2007 LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter(LPTOP_LEVEL_EXC 2001 LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter(LPTOP_LEVEL_EXC 2008 BOOL SetupComm(HANDLE, DWORD, DWORD); 2002 BOOL SetupComm(HANDLE, DWORD, DWORD); 2009 BOOL SetVolumeLabelA(LPCSTR, LPCSTR); 2003 BOOL SetVolumeLabelA(LPCSTR, LPCSTR); 2010 BOOL SetVolumeLabelW(LPCWSTR, LPCWSTR); 2004 BOOL SetVolumeLabelW(LPCWSTR, LPCWSTR); 2011 2005 2012 DWORD SizeofResource(HINSTANCE, HRSRC); 2006 DWORD SizeofResource(HINSTANCE, HRSRC); 2013 void Sleep(DWORD); 2007 void Sleep(DWORD); 2014 DWORD SleepEx(DWORD, BOOL); 2008 DWORD SleepEx(DWORD, BOOL); 2015 DWORD SuspendThread(HANDLE); 2009 DWORD SuspendThread(HANDLE); 2016 BOOL SystemTimeToFileTime(CPtr!(SYSTEMTIME), LPFILETIME); | 2010 BOOL SystemTimeToFileTime(const(SYSTEMTIME)*, LPFILETIME); 2017 BOOL TerminateProcess(HANDLE, UINT); 2011 BOOL TerminateProcess(HANDLE, UINT); 2018 BOOL TerminateThread(HANDLE, DWORD); 2012 BOOL TerminateThread(HANDLE, DWORD); 2019 DWORD TlsAlloc(); 2013 DWORD TlsAlloc(); 2020 BOOL TlsFree(DWORD); 2014 BOOL TlsFree(DWORD); 2021 PVOID TlsGetValue(DWORD); 2015 PVOID TlsGetValue(DWORD); 2022 BOOL TlsSetValue(DWORD, PVOID); 2016 BOOL TlsSetValue(DWORD, PVOID); 2023 BOOL TransactNamedPipe(HANDLE, PVOID, DWORD, PVOID, DWORD, PDWORD, LPOVE 2017 BOOL TransactNamedPipe(HANDLE, PVOID, DWORD, PVOID, DWORD, PDWORD, LPOVE 2024 BOOL TransmitCommChar(HANDLE, char); 2018 BOOL TransmitCommChar(HANDLE, char); 2025 LONG UnhandledExceptionFilter(LPEXCEPTION_POINTERS); 2019 LONG UnhandledExceptionFilter(LPEXCEPTION_POINTERS); 2026 BOOL UnlockFile(HANDLE, DWORD, DWORD, DWORD, DWORD); 2020 BOOL UnlockFile(HANDLE, DWORD, DWORD, DWORD, DWORD); 2027 BOOL WaitCommEvent(HANDLE, PDWORD, LPOVERLAPPED); 2021 BOOL WaitCommEvent(HANDLE, PDWORD, LPOVERLAPPED); 2028 BOOL WaitForDebugEvent(LPDEBUG_EVENT, DWORD); 2022 BOOL WaitForDebugEvent(LPDEBUG_EVENT, DWORD); 2029 DWORD WaitForMultipleObjects(DWORD, CPtr!(HANDLE), BOOL, DWORD); | 2023 DWORD WaitForMultipleObjects(DWORD, const(HANDLE)*, BOOL, DWORD); 2030 DWORD WaitForMultipleObjectsEx(DWORD, CPtr!(HANDLE), BOOL, DWORD, BOOL); | 2024 DWORD WaitForMultipleObjectsEx(DWORD, const(HANDLE)*, BOOL, DWORD, BOOL) 2031 DWORD WaitForSingleObject(HANDLE, DWORD); 2025 DWORD WaitForSingleObject(HANDLE, DWORD); 2032 DWORD WaitForSingleObjectEx(HANDLE, DWORD, BOOL); 2026 DWORD WaitForSingleObjectEx(HANDLE, DWORD, BOOL); 2033 BOOL WaitNamedPipeA(LPCSTR, DWORD); 2027 BOOL WaitNamedPipeA(LPCSTR, DWORD); 2034 BOOL WaitNamedPipeW(LPCWSTR, DWORD); 2028 BOOL WaitNamedPipeW(LPCWSTR, DWORD); 2035 // undocumented on MSDN 2029 // undocumented on MSDN 2036 BOOL WinLoadTrustProvider(GUID*); 2030 BOOL WinLoadTrustProvider(GUID*); 2037 BOOL WriteFile(HANDLE, PCVOID, DWORD, PDWORD, LPOVERLAPPED); 2031 BOOL WriteFile(HANDLE, PCVOID, DWORD, PDWORD, LPOVERLAPPED); ................................................................................................................................................................................ 2086 BOOL VirtualFreeEx(HANDLE, PVOID, DWORD, DWORD); 2080 BOOL VirtualFreeEx(HANDLE, PVOID, DWORD, DWORD); 2087 BOOL VirtualLock(PVOID, DWORD); 2081 BOOL VirtualLock(PVOID, DWORD); 2088 BOOL VirtualProtect(PVOID, DWORD, DWORD, PDWORD); 2082 BOOL VirtualProtect(PVOID, DWORD, DWORD, PDWORD); 2089 BOOL VirtualProtectEx(HANDLE, PVOID, DWORD, DWORD, PDWORD); 2083 BOOL VirtualProtectEx(HANDLE, PVOID, DWORD, DWORD, PDWORD); 2090 DWORD VirtualQuery(LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD); 2084 DWORD VirtualQuery(LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD); 2091 DWORD VirtualQueryEx(HANDLE, LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD); 2085 DWORD VirtualQueryEx(HANDLE, LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD); 2092 BOOL VirtualUnlock(PVOID, DWORD); 2086 BOOL VirtualUnlock(PVOID, DWORD); 2093 < > 2087 // not in MinGW 4.0 - ??? 2094 static if (_WIN32_WINDOWS >= 0x600) { | 2088 static if (_WIN32_WINNT >= 0x600) { 2095 BOOL CancelIoEx(HANDLE, LPOVERLAPPED); 2089 BOOL CancelIoEx(HANDLE, LPOVERLAPPED); 2096 } 2090 } 2097 2091 2098 static if (_WIN32_WINDOWS >= 0x410) { < 2099 BOOL CancelIo(HANDLE); | 2092 BOOL CancelIo(HANDLE); 2100 BOOL CancelWaitableTimer(HANDLE); | 2093 BOOL CancelWaitableTimer(HANDLE); 2101 PVOID ConvertThreadToFiber(PVOID); | 2094 PVOID ConvertThreadToFiber(PVOID); 2102 LPVOID CreateFiber(SIZE_T, LPFIBER_START_ROUTINE, LPVOID); | 2095 LPVOID CreateFiber(SIZE_T, LPFIBER_START_ROUTINE, LPVOID); 2103 HANDLE CreateWaitableTimerA(LPSECURITY_ATTRIBUTES, BOOL, LPCSTR) | 2096 HANDLE CreateWaitableTimerA(LPSECURITY_ATTRIBUTES, BOOL, LPCSTR); 2104 HANDLE CreateWaitableTimerW(LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR | 2097 HANDLE CreateWaitableTimerW(LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR); 2105 void DeleteFiber(PVOID); | 2098 void DeleteFiber(PVOID); 2106 BOOL GetFileAttributesExA(LPCSTR, GET_FILEEX_INFO_LEVELS, PVOID) | 2099 BOOL GetFileAttributesExA(LPCSTR, GET_FILEEX_INFO_LEVELS, PVOID); 2107 BOOL GetFileAttributesExW(LPCWSTR, GET_FILEEX_INFO_LEVELS, PVOID | 2100 BOOL GetFileAttributesExW(LPCWSTR, GET_FILEEX_INFO_LEVELS, PVOID); 2108 DWORD GetLongPathNameA(LPCSTR, LPSTR, DWORD); | 2101 DWORD GetLongPathNameA(LPCSTR, LPSTR, DWORD); 2109 DWORD GetLongPathNameW(LPCWSTR, LPWSTR, DWORD); | 2102 DWORD GetLongPathNameW(LPCWSTR, LPWSTR, DWORD); 2110 BOOL InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION, D | 2103 BOOL InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION, DWORD); 2111 BOOL IsDebuggerPresent(); | 2104 BOOL IsDebuggerPresent(); 2112 HANDLE OpenWaitableTimerA(DWORD, BOOL, LPCSTR); | 2105 HANDLE OpenWaitableTimerA(DWORD, BOOL, LPCSTR); 2113 HANDLE OpenWaitableTimerW(DWORD, BOOL, LPCWSTR); | 2106 HANDLE OpenWaitableTimerW(DWORD, BOOL, LPCWSTR); 2114 DWORD QueryDosDeviceA(LPCSTR, LPSTR, DWORD); | 2107 DWORD QueryDosDeviceA(LPCSTR, LPSTR, DWORD); 2115 DWORD QueryDosDeviceW(LPCWSTR, LPWSTR, DWORD); | 2108 DWORD QueryDosDeviceW(LPCWSTR, LPWSTR, DWORD); 2116 BOOL SetWaitableTimer(HANDLE, CPtr!(LARGE_INTEGER), LONG, PTIMER | 2109 BOOL SetWaitableTimer(HANDLE, const(LARGE_INTEGER)*, LONG, PTIMERAPCROUT 2117 void SwitchToFiber(PVOID); | 2110 void SwitchToFiber(PVOID); 2118 } | 2111 2119 < 2120 static if (WINVER >= 0x500) { | 2112 static if (_WIN32_WINNT >= 0x500) { 2121 HANDLE OpenThread(DWORD, BOOL, DWORD); 2113 HANDLE OpenThread(DWORD, BOOL, DWORD); 2122 } 2114 } 2123 2115 2124 static if (_WIN32_WINNT_ONLY) { < 2125 BOOL AccessCheck(PSECURITY_DESCRIPTOR, HANDLE, DWORD, PGENERIC_M | 2116 BOOL AccessCheck(PSECURITY_DESCRIPTOR, HANDLE, DWORD, PGENERIC_MAPPING, 2126 BOOL AccessCheckAndAuditAlarmA(LPCSTR, LPVOID, LPSTR, LPSTR, PSE | 2117 BOOL AccessCheckAndAuditAlarmA(LPCSTR, LPVOID, LPSTR, LPSTR, PSECURITY_D 2127 BOOL AccessCheckAndAuditAlarmW(LPCWSTR, LPVOID, LPWSTR, LPWSTR, | 2118 BOOL AccessCheckAndAuditAlarmW(LPCWSTR, LPVOID, LPWSTR, LPWSTR, PSECURIT 2128 BOOL AddAccessAllowedAce(PACL, DWORD, DWORD, PSID); | 2119 BOOL AddAccessAllowedAce(PACL, DWORD, DWORD, PSID); 2129 BOOL AddAccessDeniedAce(PACL, DWORD, DWORD, PSID); | 2120 BOOL AddAccessDeniedAce(PACL, DWORD, DWORD, PSID); 2130 BOOL AddAce(PACL, DWORD, DWORD, PVOID, DWORD); | 2121 BOOL AddAce(PACL, DWORD, DWORD, PVOID, DWORD); 2131 BOOL AddAuditAccessAce(PACL, DWORD, DWORD, PSID, BOOL, BOOL); | 2122 BOOL AddAuditAccessAce(PACL, DWORD, DWORD, PSID, BOOL, BOOL); 2132 BOOL AdjustTokenGroups(HANDLE, BOOL, PTOKEN_GROUPS, DWORD, PTOKE | 2123 BOOL AdjustTokenGroups(HANDLE, BOOL, PTOKEN_GROUPS, DWORD, PTOKEN_GROUPS 2133 BOOL AdjustTokenPrivileges(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWOR | 2124 BOOL AdjustTokenPrivileges(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKE 2134 BOOL AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY, BYTE, D | 2125 BOOL AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY, BYTE, DWORD, DW 2135 BOOL AllocateLocallyUniqueId(PLUID); | 2126 BOOL AllocateLocallyUniqueId(PLUID); 2136 BOOL AreAllAccessesGranted(DWORD, DWORD); | 2127 BOOL AreAllAccessesGranted(DWORD, DWORD); 2137 BOOL AreAnyAccessesGranted(DWORD, DWORD); | 2128 BOOL AreAnyAccessesGranted(DWORD, DWORD); 2138 BOOL BackupEventLogA(HANDLE, LPCSTR); | 2129 BOOL BackupEventLogA(HANDLE, LPCSTR); 2139 BOOL BackupEventLogW(HANDLE, LPCWSTR); | 2130 BOOL BackupEventLogW(HANDLE, LPCWSTR); 2140 BOOL BackupRead(HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPVO | 2131 BOOL BackupRead(HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPVOID*); 2141 BOOL BackupSeek(HANDLE, DWORD, DWORD, LPDWORD, LPDWORD, LPVOID*) | 2132 BOOL BackupSeek(HANDLE, DWORD, DWORD, LPDWORD, LPDWORD, LPVOID*); 2142 BOOL BackupWrite(HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPV | 2133 BOOL BackupWrite(HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPVOID*); 2143 BOOL ClearEventLogA(HANDLE, LPCSTR); | 2134 BOOL ClearEventLogA(HANDLE, LPCSTR); 2144 BOOL ClearEventLogW(HANDLE, LPCWSTR); | 2135 BOOL ClearEventLogW(HANDLE, LPCWSTR); 2145 BOOL CloseEventLog(HANDLE); | 2136 BOOL CloseEventLog(HANDLE); 2146 BOOL ConnectNamedPipe(HANDLE, LPOVERLAPPED); | 2137 BOOL ConnectNamedPipe(HANDLE, LPOVERLAPPED); 2147 BOOL CopySid(DWORD, PSID, PSID); | 2138 BOOL CopySid(DWORD, PSID, PSID); 2148 HANDLE CreateNamedPipeA(LPCSTR, DWORD, DWORD, DWORD, DWORD, DWOR | 2139 HANDLE CreateNamedPipeA(LPCSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD 2149 HANDLE CreateNamedPipeW(LPCWSTR, DWORD, DWORD, DWORD, DWORD, DWO | 2140 HANDLE CreateNamedPipeW(LPCWSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWOR 2150 BOOL CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR, PSECURITY | 2141 BOOL CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIP 2151 BOOL CreateProcessAsUserA(HANDLE, LPCSTR, LPSTR, LPSECURITY_ATTR | 2142 BOOL CreateProcessAsUserA(HANDLE, LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, 2152 BOOL CreateProcessAsUserW(HANDLE, LPCWSTR, LPWSTR, LPSECURITY_AT | 2143 BOOL CreateProcessAsUserW(HANDLE, LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES 2153 HANDLE CreateRemoteThread(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, | 2144 HANDLE CreateRemoteThread(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD 2154 DWORD CreateTapePartition(HANDLE, DWORD, DWORD, DWORD); | 2145 DWORD CreateTapePartition(HANDLE, DWORD, DWORD, DWORD); 2155 BOOL DefineDosDeviceA(DWORD, LPCSTR, LPCSTR); | 2146 BOOL DefineDosDeviceA(DWORD, LPCSTR, LPCSTR); 2156 BOOL DefineDosDeviceW(DWORD, LPCWSTR, LPCWSTR); | 2147 BOOL DefineDosDeviceW(DWORD, LPCWSTR, LPCWSTR); 2157 BOOL DeleteAce(PACL, DWORD); | 2148 BOOL DeleteAce(PACL, DWORD); 2158 BOOL DeregisterEventSource(HANDLE); | 2149 BOOL DeregisterEventSource(HANDLE); 2159 BOOL DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*); | 2150 BOOL DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*); 2160 BOOL DeviceIoControl(HANDLE, DWORD, PVOID, DWORD, PVOID, DWORD, | 2151 BOOL DeviceIoControl(HANDLE, DWORD, PVOID, DWORD, PVOID, DWORD, PDWORD, 2161 BOOL DisconnectNamedPipe(HANDLE); | 2152 BOOL DisconnectNamedPipe(HANDLE); 2162 BOOL DuplicateToken(HANDLE, SECURITY_IMPERSONATION_LEVEL, PHANDL | 2153 BOOL DuplicateToken(HANDLE, SECURITY_IMPERSONATION_LEVEL, PHANDLE); 2163 BOOL DuplicateTokenEx(HANDLE, DWORD, LPSECURITY_ATTRIBUTES, SECU | 2154 BOOL DuplicateTokenEx(HANDLE, DWORD, LPSECURITY_ATTRIBUTES, SECURITY_IMP 2164 BOOL EqualPrefixSid(PSID, PSID); | 2155 BOOL EqualPrefixSid(PSID, PSID); 2165 BOOL EqualSid(PSID, PSID); | 2156 BOOL EqualSid(PSID, PSID); 2166 DWORD EraseTape(HANDLE, DWORD, BOOL); | 2157 DWORD EraseTape(HANDLE, DWORD, BOOL); 2167 HANDLE FindFirstFileExA(LPCSTR, FINDEX_INFO_LEVELS, PVOID, FINDE | 2158 HANDLE FindFirstFileExA(LPCSTR, FINDEX_INFO_LEVELS, PVOID, FINDEX_SEARCH 2168 HANDLE FindFirstFileExW(LPCWSTR, FINDEX_INFO_LEVELS, PVOID, FIND | 2159 HANDLE FindFirstFileExW(LPCWSTR, FINDEX_INFO_LEVELS, PVOID, FINDEX_SEARC 2169 BOOL FindFirstFreeAce(PACL, PVOID*); | 2160 BOOL FindFirstFreeAce(PACL, PVOID*); 2170 PVOID FreeSid(PSID); | 2161 PVOID FreeSid(PSID); 2171 BOOL GetAce(PACL, DWORD, LPVOID*); | 2162 BOOL GetAce(PACL, DWORD, LPVOID*); 2172 BOOL GetAclInformation(PACL, PVOID, DWORD, ACL_INFORMATION_CLASS | 2163 BOOL GetAclInformation(PACL, PVOID, DWORD, ACL_INFORMATION_CLASS); 2173 BOOL GetBinaryTypeA(LPCSTR, PDWORD); | 2164 BOOL GetBinaryTypeA(LPCSTR, PDWORD); 2174 BOOL GetBinaryTypeW(LPCWSTR, PDWORD); | 2165 BOOL GetBinaryTypeW(LPCWSTR, PDWORD); 2175 DWORD GetCompressedFileSizeA(LPCSTR, PDWORD); | 2166 DWORD GetCompressedFileSizeA(LPCSTR, PDWORD); 2176 DWORD GetCompressedFileSizeW(LPCWSTR, PDWORD); | 2167 DWORD GetCompressedFileSizeW(LPCWSTR, PDWORD); 2177 BOOL GetCurrentHwProfileA(LPHW_PROFILE_INFOA); | 2168 BOOL GetCurrentHwProfileA(LPHW_PROFILE_INFOA); 2178 BOOL GetCurrentHwProfileW(LPHW_PROFILE_INFOW); | 2169 BOOL GetCurrentHwProfileW(LPHW_PROFILE_INFOW); 2179 BOOL GetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DE | 2170 BOOL GetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR 2180 BOOL GetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_D | 2171 BOOL GetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTO 2181 BOOL GetHandleInformation(HANDLE, PDWORD); | 2172 BOOL GetHandleInformation(HANDLE, PDWORD); 2182 BOOL GetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECU | 2173 BOOL GetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECURITY_DES 2183 DWORD GetLengthSid(PSID); | 2174 DWORD GetLengthSid(PSID); 2184 BOOL GetNumberOfEventLogRecords(HANDLE, PDWORD); | 2175 BOOL GetNumberOfEventLogRecords(HANDLE, PDWORD); 2185 BOOL GetOldestEventLogRecord(HANDLE, PDWORD); | 2176 BOOL GetOldestEventLogRecord(HANDLE, PDWORD); 2186 BOOL GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR, SECURITY_INF | 2177 BOOL GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR, SECURITY_INFORMATION 2187 BOOL GetProcessPriorityBoost(HANDLE, PBOOL); | 2178 BOOL GetProcessPriorityBoost(HANDLE, PBOOL); 2188 BOOL GetProcessShutdownParameters(PDWORD, PDWORD); | 2179 BOOL GetProcessShutdownParameters(PDWORD, PDWORD); 2189 BOOL GetProcessTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, | 2180 BOOL GetProcessTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILET 2190 HWINSTA GetProcessWindowStation(); | 2181 HWINSTA GetProcessWindowStation(); 2191 BOOL GetProcessWorkingSetSize(HANDLE, PSIZE_T, PSIZE_T); | 2182 BOOL GetProcessWorkingSetSize(HANDLE, PSIZE_T, PSIZE_T); 2192 BOOL GetQueuedCompletionStatus(HANDLE, PDWORD, PULONG_PTR, LPOVE | 2183 BOOL GetQueuedCompletionStatus(HANDLE, PDWORD, PULONG_PTR, LPOVERLAPPED* 2193 BOOL GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR, PSECURIT | 2184 BOOL GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR, PSECURITY_DESCRI 2194 BOOL GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, LPBOOL, PAC | 2185 BOOL GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, LPBOOL, PACL*, LPBO 2195 BOOL GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID*, LPB | 2186 BOOL GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID*, LPBOOL); 2196 DWORD GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR); | 2187 DWORD GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR); 2197 BOOL GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID*, LPB | 2188 BOOL GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID*, LPBOOL); 2198 BOOL GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, LPBOOL, PAC | 2189 BOOL GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, LPBOOL, PACL*, LPBO 2199 PSID_IDENTIFIER_AUTHORITY GetSidIdentifierAuthority(PSID); | 2190 PSID_IDENTIFIER_AUTHORITY GetSidIdentifierAuthority(PSID); 2200 DWORD GetSidLengthRequired(UCHAR); | 2191 DWORD GetSidLengthRequired(UCHAR); 2201 PDWORD GetSidSubAuthority(PSID, DWORD); | 2192 PDWORD GetSidSubAuthority(PSID, DWORD); 2202 PUCHAR GetSidSubAuthorityCount(PSID); | 2193 PUCHAR GetSidSubAuthorityCount(PSID); 2203 DWORD GetTapeParameters(HANDLE, DWORD, PDWORD, PVOID); | 2194 DWORD GetTapeParameters(HANDLE, DWORD, PDWORD, PVOID); 2204 DWORD GetTapePosition(HANDLE, DWORD, PDWORD, PDWORD, PDWORD); | 2195 DWORD GetTapePosition(HANDLE, DWORD, PDWORD, PDWORD, PDWORD); 2205 DWORD GetTapeStatus(HANDLE); | 2196 DWORD GetTapeStatus(HANDLE); 2206 BOOL GetThreadPriorityBoost(HANDLE, PBOOL); | 2197 BOOL GetThreadPriorityBoost(HANDLE, PBOOL); 2207 BOOL GetThreadTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, | 2198 BOOL GetThreadTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETI 2208 BOOL GetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, PVOID, | 2199 BOOL GetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, PVOID, DWORD, 2209 BOOL ImpersonateLoggedOnUser(HANDLE); | 2200 BOOL ImpersonateLoggedOnUser(HANDLE); 2210 BOOL ImpersonateNamedPipeClient(HANDLE); | 2201 BOOL ImpersonateNamedPipeClient(HANDLE); 2211 BOOL ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL); | 2202 BOOL ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL); 2212 BOOL InitializeAcl(PACL, DWORD, DWORD); | 2203 BOOL InitializeAcl(PACL, DWORD, DWORD); 2213 DWORD SetCriticalSectionSpinCount(LPCRITICAL_SECTION, DWORD); | 2204 DWORD SetCriticalSectionSpinCount(LPCRITICAL_SECTION, DWORD); 2214 BOOL InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR, DWORD); | 2205 BOOL InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR, DWORD); 2215 BOOL InitializeSid(PSID, PSID_IDENTIFIER_AUTHORITY, BYTE); | 2206 BOOL InitializeSid(PSID, PSID_IDENTIFIER_AUTHORITY, BYTE); 2216 BOOL IsProcessorFeaturePresent(DWORD); | 2207 BOOL IsProcessorFeaturePresent(DWORD); 2217 BOOL IsTextUnicode(PCVOID, int, LPINT); | 2208 BOOL IsTextUnicode(PCVOID, int, LPINT); 2218 BOOL IsValidAcl(PACL); | 2209 BOOL IsValidAcl(PACL); 2219 BOOL IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR); | 2210 BOOL IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR); 2220 BOOL IsValidSid(PSID); | 2211 BOOL IsValidSid(PSID); 2221 BOOL LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED | 2212 BOOL LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED); 2222 BOOL LogonUserA(LPSTR, LPSTR, LPSTR, DWORD, DWORD, PHANDLE); | 2213 BOOL LogonUserA(LPSTR, LPSTR, LPSTR, DWORD, DWORD, PHANDLE); 2223 BOOL LogonUserW(LPWSTR, LPWSTR, LPWSTR, DWORD, DWORD, PHANDLE); | 2214 BOOL LogonUserW(LPWSTR, LPWSTR, LPWSTR, DWORD, DWORD, PHANDLE); 2224 BOOL LookupAccountNameA(LPCSTR, LPCSTR, PSID, PDWORD, LPSTR, PDW | 2215 BOOL LookupAccountNameA(LPCSTR, LPCSTR, PSID, PDWORD, LPSTR, PDWORD, PSI 2225 BOOL LookupAccountNameW(LPCWSTR, LPCWSTR, PSID, PDWORD, LPWSTR, | 2216 BOOL LookupAccountNameW(LPCWSTR, LPCWSTR, PSID, PDWORD, LPWSTR, PDWORD, 2226 BOOL LookupAccountSidA(LPCSTR, PSID, LPSTR, PDWORD, LPSTR, PDWOR | 2217 BOOL LookupAccountSidA(LPCSTR, PSID, LPSTR, PDWORD, LPSTR, PDWORD, PSID_ 2227 BOOL LookupAccountSidW(LPCWSTR, PSID, LPWSTR, PDWORD, LPWSTR, PD | 2218 BOOL LookupAccountSidW(LPCWSTR, PSID, LPWSTR, PDWORD, LPWSTR, PDWORD, PS 2228 BOOL LookupPrivilegeDisplayNameA(LPCSTR, LPCSTR, LPSTR, PDWORD, | 2219 BOOL LookupPrivilegeDisplayNameA(LPCSTR, LPCSTR, LPSTR, PDWORD, PDWORD); 2229 BOOL LookupPrivilegeDisplayNameW(LPCWSTR, LPCWSTR, LPWSTR, PDWOR | 2220 BOOL LookupPrivilegeDisplayNameW(LPCWSTR, LPCWSTR, LPWSTR, PDWORD, PDWOR 2230 BOOL LookupPrivilegeNameA(LPCSTR, PLUID, LPSTR, PDWORD); | 2221 BOOL LookupPrivilegeNameA(LPCSTR, PLUID, LPSTR, PDWORD); 2231 BOOL LookupPrivilegeNameW(LPCWSTR, PLUID, LPWSTR, PDWORD); | 2222 BOOL LookupPrivilegeNameW(LPCWSTR, PLUID, LPWSTR, PDWORD); 2232 BOOL LookupPrivilegeValueA(LPCSTR, LPCSTR, PLUID); | 2223 BOOL LookupPrivilegeValueA(LPCSTR, LPCSTR, PLUID); 2233 BOOL LookupPrivilegeValueW(LPCWSTR, LPCWSTR, PLUID); | 2224 BOOL LookupPrivilegeValueW(LPCWSTR, LPCWSTR, PLUID); 2234 BOOL MakeAbsoluteSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, | 2225 BOOL MakeAbsoluteSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PDWORD, 2235 BOOL MakeSelfRelativeSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPT | 2226 BOOL MakeSelfRelativeSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PDWO 2236 VOID MapGenericMask(PDWORD, PGENERIC_MAPPING); | 2227 VOID MapGenericMask(PDWORD, PGENERIC_MAPPING); 2237 BOOL MoveFileExA(LPCSTR, LPCSTR, DWORD); | 2228 BOOL MoveFileExA(LPCSTR, LPCSTR, DWORD); 2238 BOOL MoveFileExW(LPCWSTR, LPCWSTR, DWORD); | 2229 BOOL MoveFileExW(LPCWSTR, LPCWSTR, DWORD); 2239 BOOL NotifyChangeEventLog(HANDLE, HANDLE); | 2230 BOOL NotifyChangeEventLog(HANDLE, HANDLE); 2240 BOOL ObjectCloseAuditAlarmA(LPCSTR, PVOID, BOOL); | 2231 BOOL ObjectCloseAuditAlarmA(LPCSTR, PVOID, BOOL); 2241 BOOL ObjectCloseAuditAlarmW(LPCWSTR, PVOID, BOOL); | 2232 BOOL ObjectCloseAuditAlarmW(LPCWSTR, PVOID, BOOL); 2242 BOOL ObjectDeleteAuditAlarmA(LPCSTR, PVOID, BOOL); | 2233 BOOL ObjectDeleteAuditAlarmA(LPCSTR, PVOID, BOOL); 2243 BOOL ObjectDeleteAuditAlarmW(LPCWSTR, PVOID, BOOL); | 2234 BOOL ObjectDeleteAuditAlarmW(LPCWSTR, PVOID, BOOL); 2244 BOOL ObjectOpenAuditAlarmA(LPCSTR, PVOID, LPSTR, LPSTR, PSECURIT | 2235 BOOL ObjectOpenAuditAlarmA(LPCSTR, PVOID, LPSTR, LPSTR, PSECURITY_DESCRI 2245 BOOL ObjectOpenAuditAlarmW(LPCWSTR, PVOID, LPWSTR, LPWSTR, PSECU | 2236 BOOL ObjectOpenAuditAlarmW(LPCWSTR, PVOID, LPWSTR, LPWSTR, PSECURITY_DES 2246 BOOL ObjectPrivilegeAuditAlarmA(LPCSTR, PVOID, HANDLE, DWORD, PP | 2237 BOOL ObjectPrivilegeAuditAlarmA(LPCSTR, PVOID, HANDLE, DWORD, PPRIVILEGE 2247 BOOL ObjectPrivilegeAuditAlarmW(LPCWSTR, PVOID, HANDLE, DWORD, P | 2238 BOOL ObjectPrivilegeAuditAlarmW(LPCWSTR, PVOID, HANDLE, DWORD, PPRIVILEG 2248 HANDLE OpenBackupEventLogA(LPCSTR, LPCSTR); | 2239 HANDLE OpenBackupEventLogA(LPCSTR, LPCSTR); 2249 HANDLE OpenBackupEventLogW(LPCWSTR, LPCWSTR); | 2240 HANDLE OpenBackupEventLogW(LPCWSTR, LPCWSTR); 2250 HANDLE OpenEventLogA(LPCSTR, LPCSTR); | 2241 HANDLE OpenEventLogA(LPCSTR, LPCSTR); 2251 HANDLE OpenEventLogW(LPCWSTR, LPCWSTR); | 2242 HANDLE OpenEventLogW(LPCWSTR, LPCWSTR); 2252 BOOL OpenProcessToken(HANDLE, DWORD, PHANDLE); | 2243 BOOL OpenProcessToken(HANDLE, DWORD, PHANDLE); 2253 BOOL OpenThreadToken(HANDLE, DWORD, BOOL, PHANDLE); | 2244 BOOL OpenThreadToken(HANDLE, DWORD, BOOL, PHANDLE); 2254 BOOL PostQueuedCompletionStatus(HANDLE, DWORD, ULONG_PTR, LPOVER | 2245 BOOL PostQueuedCompletionStatus(HANDLE, DWORD, ULONG_PTR, LPOVERLAPPED); 2255 DWORD PrepareTape(HANDLE, DWORD, BOOL); | 2246 DWORD PrepareTape(HANDLE, DWORD, BOOL); 2256 BOOL PrivilegeCheck(HANDLE, PPRIVILEGE_SET, PBOOL); | 2247 BOOL PrivilegeCheck(HANDLE, PPRIVILEGE_SET, PBOOL); 2257 BOOL PrivilegedServiceAuditAlarmA(LPCSTR, LPCSTR, HANDLE, PPRIVI | 2248 BOOL PrivilegedServiceAuditAlarmA(LPCSTR, LPCSTR, HANDLE, PPRIVILEGE_SET 2258 BOOL PrivilegedServiceAuditAlarmW(LPCWSTR, LPCWSTR, HANDLE, PPRI | 2249 BOOL PrivilegedServiceAuditAlarmW(LPCWSTR, LPCWSTR, HANDLE, PPRIVILEGE_S 2259 BOOL ReadDirectoryChangesW(HANDLE, PVOID, DWORD, BOOL, DWORD, PD | 2250 BOOL ReadDirectoryChangesW(HANDLE, PVOID, DWORD, BOOL, DWORD, PDWORD, LP 2260 BOOL ReadEventLogA(HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD*, D | 2251 BOOL ReadEventLogA(HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD*, DWORD*); 2261 BOOL ReadEventLogW(HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD*, D | 2252 BOOL ReadEventLogW(HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD*, DWORD*); 2262 BOOL ReadFileScatter(HANDLE, FILE_SEGMENT_ELEMENT*, DWORD, LPDWO | 2253 BOOL ReadFileScatter(HANDLE, FILE_SEGMENT_ELEMENT*, DWORD, LPDWORD, LPOV 2263 HANDLE RegisterEventSourceA (LPCSTR, LPCSTR); | 2254 HANDLE RegisterEventSourceA (LPCSTR, LPCSTR); 2264 HANDLE RegisterEventSourceW(LPCWSTR, LPCWSTR); | 2255 HANDLE RegisterEventSourceW(LPCWSTR, LPCWSTR); 2265 BOOL ReportEventA(HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, | 2256 BOOL ReportEventA(HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, LPCSTR*, 2266 BOOL ReportEventW(HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, | 2257 BOOL ReportEventW(HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, LPCWSTR* 2267 BOOL RevertToSelf(); | 2258 BOOL RevertToSelf(); 2268 BOOL SetAclInformation(PACL, PVOID, DWORD, ACL_INFORMATION_CLASS | 2259 BOOL SetAclInformation(PACL, PVOID, DWORD, ACL_INFORMATION_CLASS); 2269 BOOL SetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DE | 2260 BOOL SetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR 2270 BOOL SetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_D | 2261 BOOL SetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTO 2271 BOOL SetHandleInformation(HANDLE, DWORD, DWORD); | 2262 BOOL SetHandleInformation(HANDLE, DWORD, DWORD); 2272 BOOL SetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECU | 2263 BOOL SetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECURITY_DES 2273 BOOL SetPrivateObjectSecurity(SECURITY_INFORMATION, PSECURITY_DE | 2264 BOOL SetPrivateObjectSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR 2274 BOOL SetProcessAffinityMask(HANDLE, DWORD); | 2265 BOOL SetProcessAffinityMask(HANDLE, DWORD); 2275 BOOL SetProcessPriorityBoost(HANDLE, BOOL); | 2266 BOOL SetProcessPriorityBoost(HANDLE, BOOL); 2276 BOOL SetProcessShutdownParameters(DWORD, DWORD); | 2267 BOOL SetProcessShutdownParameters(DWORD, DWORD); 2277 BOOL SetProcessWorkingSetSize(HANDLE, SIZE_T, SIZE_T); | 2268 BOOL SetProcessWorkingSetSize(HANDLE, SIZE_T, SIZE_T); 2278 BOOL SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, BOOL, PACL, | 2269 BOOL SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL); 2279 BOOL SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID, BOOL | 2270 BOOL SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID, BOOL); 2280 BOOL SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID, BOOL | 2271 BOOL SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID, BOOL); 2281 BOOL SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, BOOL, PACL, | 2272 BOOL SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL); 2282 BOOL SetSystemTimeAdjustment(DWORD, BOOL); | 2273 BOOL SetSystemTimeAdjustment(DWORD, BOOL); 2283 DWORD SetTapeParameters(HANDLE, DWORD, PVOID); | 2274 DWORD SetTapeParameters(HANDLE, DWORD, PVOID); 2284 DWORD SetTapePosition(HANDLE, DWORD, DWORD, DWORD, DWORD, BOOL); | 2275 DWORD SetTapePosition(HANDLE, DWORD, DWORD, DWORD, DWORD, BOOL); 2285 BOOL SetThreadPriorityBoost(HANDLE, BOOL); | 2276 BOOL SetThreadPriorityBoost(HANDLE, BOOL); 2286 BOOL SetThreadToken(PHANDLE, HANDLE); | 2277 BOOL SetThreadToken(PHANDLE, HANDLE); 2287 BOOL SetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, PVOID, | 2278 BOOL SetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, PVOID, DWORD); 2288 DWORD SignalObjectAndWait(HANDLE, HANDLE, DWORD, BOOL); | 2279 DWORD SignalObjectAndWait(HANDLE, HANDLE, DWORD, BOOL); 2289 BOOL SwitchToThread(); | 2280 BOOL SwitchToThread(); 2290 BOOL SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION, LP | 2281 BOOL SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION, LPSYSTEMTI 2291 BOOL TryEnterCriticalSection(LPCRITICAL_SECTION); | 2282 BOOL TryEnterCriticalSection(LPCRITICAL_SECTION); 2292 BOOL UnlockFileEx(HANDLE, DWORD, DWORD, DWORD, LPOVERLAPPED); | 2283 BOOL UnlockFileEx(HANDLE, DWORD, DWORD, DWORD, LPOVERLAPPED); 2293 BOOL UpdateResourceA(HANDLE, LPCSTR, LPCSTR, WORD, PVOID, DWORD) | 2284 BOOL UpdateResourceA(HANDLE, LPCSTR, LPCSTR, WORD, PVOID, DWORD); 2294 BOOL UpdateResourceW(HANDLE, LPCWSTR, LPCWSTR, WORD, PVOID, DWOR | 2285 BOOL UpdateResourceW(HANDLE, LPCWSTR, LPCWSTR, WORD, PVOID, DWORD); 2295 BOOL WriteFileGather(HANDLE, FILE_SEGMENT_ELEMENT*, DWORD, LPDWO | 2286 BOOL WriteFileGather(HANDLE, FILE_SEGMENT_ELEMENT*, DWORD, LPDWORD, LPOV 2296 DWORD WriteTapemark(HANDLE, DWORD, DWORD, BOOL); | 2287 DWORD WriteTapemark(HANDLE, DWORD, DWORD, BOOL); 2297 | 2288 2298 static if (_WIN32_WINNT >= 0x500) { | 2289 static if (_WIN32_WINNT >= 0x500) { 2299 BOOL AddAccessAllowedAceEx(PACL, DWORD, DWORD, DWORD, PS | 2290 BOOL AddAccessAllowedAceEx(PACL, DWORD, DWORD, DWORD, PSID); 2300 BOOL AddAccessDeniedAceEx(PACL, DWORD, DWORD, DWORD, PSI | 2291 BOOL AddAccessDeniedAceEx(PACL, DWORD, DWORD, DWORD, PSID); 2301 PVOID AddVectoredExceptionHandler(ULONG, PVECTORED_EXCEP | 2292 PVOID AddVectoredExceptionHandler(ULONG, PVECTORED_EXCEPTION_HAN 2302 BOOL AllocateUserPhysicalPages(HANDLE, PULONG_PTR, PULON | 2293 BOOL AllocateUserPhysicalPages(HANDLE, PULONG_PTR, PULONG_PTR); 2303 BOOL AssignProcessToJobObject(HANDLE, HANDLE); | 2294 BOOL AssignProcessToJobObject(HANDLE, HANDLE); 2304 BOOL ChangeTimerQueueTimer(HANDLE,HANDLE,ULONG,ULONG); | 2295 BOOL ChangeTimerQueueTimer(HANDLE,HANDLE,ULONG,ULONG); 2305 LPVOID CreateFiberEx(SIZE_T, SIZE_T, DWORD, LPFIBER_STAR | 2296 LPVOID CreateFiberEx(SIZE_T, SIZE_T, DWORD, LPFIBER_START_ROUTIN 2306 HANDLE CreateFileMappingA(HANDLE, LPSECURITY_ATTRIBUTES, | 2297 HANDLE CreateFileMappingA(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, 2307 HANDLE CreateFileMappingW(HANDLE, LPSECURITY_ATTRIBUTES, | 2298 HANDLE CreateFileMappingW(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, 2308 BOOL CreateHardLinkA(LPCSTR, LPCSTR, LPSECURITY_ATTRIBUT | 2299 BOOL CreateHardLinkA(LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES); 2309 BOOL CreateHardLinkW(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIB | 2300 BOOL CreateHardLinkW(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES); 2310 HANDLE CreateJobObjectA(LPSECURITY_ATTRIBUTES, LPCSTR); | 2301 HANDLE CreateJobObjectA(LPSECURITY_ATTRIBUTES, LPCSTR); 2311 HANDLE CreateJobObjectW(LPSECURITY_ATTRIBUTES, LPCWSTR); | 2302 HANDLE CreateJobObjectW(LPSECURITY_ATTRIBUTES, LPCWSTR); 2312 BOOL CreateProcessWithLogonW(LPCWSTR, LPCWSTR, LPCWSTR, | 2303 BOOL CreateProcessWithLogonW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, L 2313 HANDLE CreateTimerQueue(); | 2304 HANDLE CreateTimerQueue(); 2314 BOOL CreateTimerQueueTimer(PHANDLE, HANDLE, WAITORTIMERC | 2305 BOOL CreateTimerQueueTimer(PHANDLE, HANDLE, WAITORTIMERCALLBACK, 2315 BOOL DeleteTimerQueue(HANDLE); | 2306 BOOL DeleteTimerQueue(HANDLE); 2316 BOOL DeleteTimerQueueEx(HANDLE, HANDLE); | 2307 BOOL DeleteTimerQueueEx(HANDLE, HANDLE); 2317 BOOL DeleteTimerQueueTimer(HANDLE, HANDLE, HANDLE); | 2308 BOOL DeleteTimerQueueTimer(HANDLE, HANDLE, HANDLE); 2318 BOOL DeleteVolumeMountPointA(LPCSTR); | 2309 BOOL DeleteVolumeMountPointA(LPCSTR); 2319 BOOL DeleteVolumeMountPointW(LPCWSTR); | 2310 BOOL DeleteVolumeMountPointW(LPCWSTR); 2320 BOOL DnsHostnameToComputerNameA(LPCSTR, LPSTR, LPDWORD); | 2311 BOOL DnsHostnameToComputerNameA(LPCSTR, LPSTR, LPDWORD); 2321 BOOL DnsHostnameToComputerNameW(LPCWSTR, LPWSTR, LPDWORD | 2312 BOOL DnsHostnameToComputerNameW(LPCWSTR, LPWSTR, LPDWORD); 2322 BOOL EncryptFileA(LPCSTR); | 2313 BOOL EncryptFileA(LPCSTR); 2323 BOOL EncryptFileW(LPCWSTR); | 2314 BOOL EncryptFileW(LPCWSTR); 2324 BOOL FileEncryptionStatusA(LPCSTR, LPDWORD); | 2315 BOOL FileEncryptionStatusA(LPCSTR, LPDWORD); 2325 BOOL FileEncryptionStatusW(LPCWSTR, LPDWORD); | 2316 BOOL FileEncryptionStatusW(LPCWSTR, LPDWORD); 2326 HANDLE FindFirstVolumeA(LPCSTR, DWORD); | 2317 HANDLE FindFirstVolumeA(LPCSTR, DWORD); 2327 HANDLE FindFirstVolumeMountPointA(LPSTR, LPSTR, DWORD); | 2318 HANDLE FindFirstVolumeMountPointA(LPSTR, LPSTR, DWORD); 2328 HANDLE FindFirstVolumeMountPointW(LPWSTR, LPWSTR, DWORD) | 2319 HANDLE FindFirstVolumeMountPointW(LPWSTR, LPWSTR, DWORD); 2329 HANDLE FindFirstVolumeW(LPCWSTR, DWORD); | 2320 HANDLE FindFirstVolumeW(LPCWSTR, DWORD); 2330 BOOL FindNextVolumeA(HANDLE, LPCSTR, DWORD); | 2321 BOOL FindNextVolumeA(HANDLE, LPCSTR, DWORD); 2331 BOOL FindNextVolumeW(HANDLE, LPWSTR, DWORD); | 2322 BOOL FindNextVolumeW(HANDLE, LPWSTR, DWORD); 2332 BOOL FindNextVolumeMountPointA(HANDLE, LPSTR, DWORD); | 2323 BOOL FindNextVolumeMountPointA(HANDLE, LPSTR, DWORD); 2333 BOOL FindNextVolumeMountPointW(HANDLE, LPWSTR, DWORD); | 2324 BOOL FindNextVolumeMountPointW(HANDLE, LPWSTR, DWORD); 2334 BOOL FindVolumeClose(HANDLE); | 2325 BOOL FindVolumeClose(HANDLE); 2335 BOOL FindVolumeMountPointClose(HANDLE); | 2326 BOOL FindVolumeMountPointClose(HANDLE); 2336 BOOL FlushViewOfFile(PCVOID, DWORD); | 2327 BOOL FlushViewOfFile(PCVOID, DWORD); 2337 BOOL FreeUserPhysicalPages(HANDLE, PULONG_PTR, PULONG_PT | 2328 BOOL FreeUserPhysicalPages(HANDLE, PULONG_PTR, PULONG_PTR); 2338 BOOL GetComputerNameExA(COMPUTER_NAME_FORMAT, LPSTR, LPD | 2329 BOOL GetComputerNameExA(COMPUTER_NAME_FORMAT, LPSTR, LPDWORD); 2339 BOOL GetComputerNameExW(COMPUTER_NAME_FORMAT, LPWSTR, LP | 2330 BOOL GetComputerNameExW(COMPUTER_NAME_FORMAT, LPWSTR, LPDWORD); 2340 BOOL GetFileSizeEx(HANDLE, PLARGE_INTEGER); | 2331 BOOL GetFileSizeEx(HANDLE, PLARGE_INTEGER); 2341 BOOL GetModuleHandleExA(DWORD, LPCSTR, HMODULE*); | 2332 BOOL GetModuleHandleExA(DWORD, LPCSTR, HMODULE*); 2342 BOOL GetModuleHandleExW(DWORD, LPCWSTR, HMODULE*); | 2333 BOOL GetModuleHandleExW(DWORD, LPCWSTR, HMODULE*); 2343 HANDLE GetProcessHeap(); | 2334 HANDLE GetProcessHeap(); 2344 DWORD GetProcessHeaps(DWORD, PHANDLE); | 2335 DWORD GetProcessHeaps(DWORD, PHANDLE); 2345 BOOL GetProcessIoCounters(HANDLE, PIO_COUNTERS); | 2336 BOOL GetProcessIoCounters(HANDLE, PIO_COUNTERS); 2346 BOOL GetSystemPowerStatus(LPSYSTEM_POWER_STATUS); | 2337 BOOL GetSystemPowerStatus(LPSYSTEM_POWER_STATUS); 2347 UINT GetSystemWindowsDirectoryA(LPSTR, UINT); | 2338 UINT GetSystemWindowsDirectoryA(LPSTR, UINT); 2348 UINT GetSystemWindowsDirectoryW(LPWSTR, UINT); | 2339 UINT GetSystemWindowsDirectoryW(LPWSTR, UINT); 2349 BOOL GetVolumeNameForVolumeMountPointA(LPCSTR, LPSTR, DW | 2340 BOOL GetVolumeNameForVolumeMountPointA(LPCSTR, LPSTR, DWORD); 2350 BOOL GetVolumeNameForVolumeMountPointW(LPCWSTR, LPWSTR, | 2341 BOOL GetVolumeNameForVolumeMountPointW(LPCWSTR, LPWSTR, DWORD); 2351 BOOL GetVolumePathNameA(LPCSTR, LPSTR, DWORD); | 2342 BOOL GetVolumePathNameA(LPCSTR, LPSTR, DWORD); 2352 BOOL GetVolumePathNameW(LPCWSTR, LPWSTR, DWORD); | 2343 BOOL GetVolumePathNameW(LPCWSTR, LPWSTR, DWORD); 2353 BOOL GlobalMemoryStatusEx(LPMEMORYSTATUSEX); | 2344 BOOL GlobalMemoryStatusEx(LPMEMORYSTATUSEX); 2354 BOOL IsBadCodePtr(FARPROC); | 2345 BOOL IsBadCodePtr(FARPROC); 2355 BOOL IsSystemResumeAutomatic(); | 2346 BOOL IsSystemResumeAutomatic(); 2356 BOOL MapUserPhysicalPages(PVOID, ULONG_PTR, PULONG_PTR); | 2347 BOOL MapUserPhysicalPages(PVOID, ULONG_PTR, PULONG_PTR); 2357 BOOL MapUserPhysicalPagesScatter(PVOID*, ULONG_PTR, PULO | 2348 BOOL MapUserPhysicalPagesScatter(PVOID*, ULONG_PTR, PULONG_PTR); 2358 PVOID MapViewOfFile(HANDLE, DWORD, DWORD, DWORD, DWORD); | 2349 PVOID MapViewOfFile(HANDLE, DWORD, DWORD, DWORD, DWORD); 2359 PVOID MapViewOfFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD | 2350 PVOID MapViewOfFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, PVOID) 2360 HANDLE OpenFileMappingA(DWORD, BOOL, LPCSTR); | 2351 HANDLE OpenFileMappingA(DWORD, BOOL, LPCSTR); 2361 HANDLE OpenFileMappingW(DWORD, BOOL, LPCWSTR); | 2352 HANDLE OpenFileMappingW(DWORD, BOOL, LPCWSTR); 2362 BOOL ProcessIdToSessionId(DWORD, DWORD*); | 2353 BOOL ProcessIdToSessionId(DWORD, DWORD*); 2363 BOOL QueryInformationJobObject(HANDLE, JOBOBJECTINFOCLAS | 2354 BOOL QueryInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, LPVOI 2364 ULONG RemoveVectoredExceptionHandler(PVOID); | 2355 ULONG RemoveVectoredExceptionHandler(PVOID); 2365 BOOL ReplaceFileA(LPCSTR, LPCSTR, LPCSTR, DWORD, LPVOID, | 2356 BOOL ReplaceFileA(LPCSTR, LPCSTR, LPCSTR, DWORD, LPVOID, LPVOID) 2366 BOOL ReplaceFileW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPVO | 2357 BOOL ReplaceFileW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPVOID, LPVO 2367 BOOL SetComputerNameExA(COMPUTER_NAME_FORMAT, LPCSTR); | 2358 BOOL SetComputerNameExA(COMPUTER_NAME_FORMAT, LPCSTR); 2368 BOOL SetComputerNameExW(COMPUTER_NAME_FORMAT, LPCWSTR); | 2359 BOOL SetComputerNameExW(COMPUTER_NAME_FORMAT, LPCWSTR); 2369 BOOL SetFilePointerEx(HANDLE, LARGE_INTEGER, PLARGE_INTE | 2360 BOOL SetFilePointerEx(HANDLE, LARGE_INTEGER, PLARGE_INTEGER, DWO 2370 BOOL SetInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, | 2361 BOOL SetInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, LPVOID, 2371 BOOL SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR, | 2362 BOOL SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR, SECURITY 2372 BOOL SetSystemPowerState(BOOL, BOOL); | 2363 BOOL SetSystemPowerState(BOOL, BOOL); 2373 EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE) | 2364 EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE); 2374 DWORD SetThreadIdealProcessor(HANDLE, DWORD); | 2365 DWORD SetThreadIdealProcessor(HANDLE, DWORD); 2375 BOOL SetVolumeMountPointA(LPCSTR, LPCSTR); | 2366 BOOL SetVolumeMountPointA(LPCSTR, LPCSTR); 2376 BOOL SetVolumeMountPointW(LPCWSTR, LPCWSTR); | 2367 BOOL SetVolumeMountPointW(LPCWSTR, LPCWSTR); 2377 BOOL TerminateJobObject(HANDLE, UINT); | 2368 BOOL TerminateJobObject(HANDLE, UINT); 2378 BOOL UnmapViewOfFile(PVOID); | 2369 BOOL UnmapViewOfFile(PVOID); 2379 BOOL UnregisterWait(HANDLE); | 2370 BOOL UnregisterWait(HANDLE); 2380 BOOL UnregisterWaitEx(HANDLE, HANDLE); | 2371 BOOL UnregisterWaitEx(HANDLE, HANDLE); 2381 BOOL VerifyVersionInfoA(LPOSVERSIONINFOEXA, DWORD, DWORD | 2372 BOOL VerifyVersionInfoA(LPOSVERSIONINFOEXA, DWORD, DWORDLONG); 2382 BOOL VerifyVersionInfoW(LPOSVERSIONINFOEXW, DWORD, DWORD | 2373 BOOL VerifyVersionInfoW(LPOSVERSIONINFOEXW, DWORD, DWORDLONG); 2383 } | 2374 } 2384 | 2375 2385 static if (_WIN32_WINNT >= 0x501) { | 2376 static if (_WIN32_WINNT >= 0x501) { 2386 BOOL ActivateActCtx(HANDLE, ULONG_PTR*); | 2377 BOOL ActivateActCtx(HANDLE, ULONG_PTR*); 2387 void AddRefActCtx(HANDLE); | 2378 void AddRefActCtx(HANDLE); 2388 BOOL CheckNameLegalDOS8Dot3A(LPCSTR, LPSTR, DWORD, PBOOL | 2379 BOOL CheckNameLegalDOS8Dot3A(LPCSTR, LPSTR, DWORD, PBOOL, PBOOL) 2389 BOOL CheckNameLegalDOS8Dot3W(LPCWSTR, LPSTR, DWORD, PBOO | 2380 BOOL CheckNameLegalDOS8Dot3W(LPCWSTR, LPSTR, DWORD, PBOOL, PBOOL 2390 BOOL CheckRemoteDebuggerPresent(HANDLE, PBOOL); | 2381 BOOL CheckRemoteDebuggerPresent(HANDLE, PBOOL); 2391 BOOL ConvertFiberToThread(); | 2382 BOOL ConvertFiberToThread(); 2392 HANDLE CreateActCtxA(PCACTCTXA); | 2383 HANDLE CreateActCtxA(PCACTCTXA); 2393 HANDLE CreateActCtxW(PCACTCTXW); | 2384 HANDLE CreateActCtxW(PCACTCTXW); 2394 HANDLE CreateMemoryResourceNotification(MEMORY_RESOURCE_ | 2385 HANDLE CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICA 2395 BOOL DeactivateActCtx(DWORD, ULONG_PTR); | 2386 BOOL DeactivateActCtx(DWORD, ULONG_PTR); 2396 BOOL DebugActiveProcessStop(DWORD); | 2387 BOOL DebugActiveProcessStop(DWORD); 2397 BOOL DebugBreakProcess(HANDLE); | 2388 BOOL DebugBreakProcess(HANDLE); 2398 BOOL DebugSetProcessKillOnExit(BOOL); | 2389 BOOL DebugSetProcessKillOnExit(BOOL); 2399 BOOL FindActCtxSectionGuid(DWORD, CPtr!(GUID), ULONG, CP | 2390 BOOL FindActCtxSectionGuid(DWORD, const(GUID)*, ULONG, const(GUI 2400 PACTCTX_SECTION_KEYED_DATA); | 2391 PACTCTX_SECTION_KEYED_DATA); 2401 BOOL FindActCtxSectionStringA(DWORD, CPtr!(GUID), ULONG, | 2392 BOOL FindActCtxSectionStringA(DWORD, const(GUID)*, ULONG, LPCSTR 2402 PACTCTX_SECTION_KEYED_DATA); | 2393 PACTCTX_SECTION_KEYED_DATA); 2403 BOOL FindActCtxSectionStringW(DWORD, CPtr!(GUID), ULONG, | 2394 BOOL FindActCtxSectionStringW(DWORD, const(GUID)*, ULONG, LPCWST 2404 PACTCTX_SECTION_KEYED_DATA); | 2395 PACTCTX_SECTION_KEYED_DATA); 2405 BOOL GetCurrentActCtx(HANDLE*); | 2396 BOOL GetCurrentActCtx(HANDLE*); 2406 VOID GetNativeSystemInfo(LPSYSTEM_INFO); | 2397 VOID GetNativeSystemInfo(LPSYSTEM_INFO); 2407 BOOL GetProcessHandleCount(HANDLE, PDWORD); | 2398 BOOL GetProcessHandleCount(HANDLE, PDWORD); 2408 BOOL GetSystemRegistryQuota(PDWORD, PDWORD); | 2399 BOOL GetSystemRegistryQuota(PDWORD, PDWORD); 2409 BOOL GetSystemTimes(LPFILETIME, LPFILETIME, LPFILETIME); | 2400 BOOL GetSystemTimes(LPFILETIME, LPFILETIME, LPFILETIME); 2410 UINT GetSystemWow64DirectoryA(LPSTR, UINT); | 2401 UINT GetSystemWow64DirectoryA(LPSTR, UINT); 2411 UINT GetSystemWow64DirectoryW(LPWSTR, UINT); | 2402 UINT GetSystemWow64DirectoryW(LPWSTR, UINT); 2412 BOOL GetThreadIOPendingFlag(HANDLE, PBOOL); | 2403 BOOL GetThreadIOPendingFlag(HANDLE, PBOOL); 2413 BOOL GetVolumePathNamesForVolumeNameA(LPCSTR, LPSTR, DWO | 2404 BOOL GetVolumePathNamesForVolumeNameA(LPCSTR, LPSTR, DWORD, PDWO 2414 BOOL GetVolumePathNamesForVolumeNameW(LPCWSTR, LPWSTR, D | 2405 BOOL GetVolumePathNamesForVolumeNameW(LPCWSTR, LPWSTR, DWORD, PD 2415 UINT GetWriteWatch(DWORD, PVOID, SIZE_T, PVOID*, PULONG_ | 2406 UINT GetWriteWatch(DWORD, PVOID, SIZE_T, PVOID*, PULONG_PTR, PUL 2416 BOOL HeapQueryInformation(HANDLE, HEAP_INFORMATION_CLASS | 2407 BOOL HeapQueryInformation(HANDLE, HEAP_INFORMATION_CLASS, PVOID, 2417 BOOL HeapSetInformation(HANDLE, HEAP_INFORMATION_CLASS, | 2408 BOOL HeapSetInformation(HANDLE, HEAP_INFORMATION_CLASS, PVOID, S 2418 BOOL IsProcessInJob(HANDLE, HANDLE, PBOOL); | 2409 BOOL IsProcessInJob(HANDLE, HANDLE, PBOOL); 2419 BOOL IsWow64Process(HANDLE, PBOOL); | 2410 BOOL IsWow64Process(HANDLE, PBOOL); 2420 BOOL QueryActCtxW(DWORD, HANDLE, PVOID, ULONG, PVOID, SI | 2411 BOOL QueryActCtxW(DWORD, HANDLE, PVOID, ULONG, PVOID, SIZE_T, SI 2421 BOOL QueryMemoryResourceNotification(HANDLE, PBOOL); | 2412 BOOL QueryMemoryResourceNotification(HANDLE, PBOOL); 2422 void ReleaseActCtx(HANDLE); | 2413 void ReleaseActCtx(HANDLE); 2423 UINT ResetWriteWatch(LPVOID, SIZE_T); | 2414 UINT ResetWriteWatch(LPVOID, SIZE_T); 2424 BOOL SetFileShortNameA(HANDLE, LPCSTR); | 2415 BOOL SetFileShortNameA(HANDLE, LPCSTR); 2425 BOOL SetFileShortNameW(HANDLE, LPCWSTR); | 2416 BOOL SetFileShortNameW(HANDLE, LPCWSTR); 2426 BOOL SetFileValidData(HANDLE, LONGLONG); | 2417 BOOL SetFileValidData(HANDLE, LONGLONG); 2427 BOOL ZombifyActCtx(HANDLE); | 2418 BOOL ZombifyActCtx(HANDLE); 2428 } | 2419 } 2429 | 2420 2430 static if (_WIN32_WINNT >= 0x502) { | 2421 static if (_WIN32_WINNT >= 0x502) { 2431 DWORD GetFirmwareEnvironmentVariableA(LPCSTR, LPCSTR, PV | 2422 DWORD GetFirmwareEnvironmentVariableA(LPCSTR, LPCSTR, PVOID, DWO 2432 DWORD GetFirmwareEnvironmentVariableW(LPCWSTR, LPCWSTR, | 2423 DWORD GetFirmwareEnvironmentVariableW(LPCWSTR, LPCWSTR, PVOID, D 2433 DWORD GetDllDirectoryA(DWORD, LPSTR); | 2424 DWORD GetDllDirectoryA(DWORD, LPSTR); 2434 DWORD GetDllDirectoryW(DWORD, LPWSTR); | 2425 DWORD GetDllDirectoryW(DWORD, LPWSTR); > 2426 DWORD GetThreadId(HANDLE); 2435 DWORD GetProcessId(HANDLE); | 2427 DWORD GetProcessId(HANDLE); 2436 HANDLE ReOpenFile(HANDLE, DWORD, DWORD, DWORD); | 2428 HANDLE ReOpenFile(HANDLE, DWORD, DWORD, DWORD); 2437 BOOL SetDllDirectoryA(LPCSTR); | 2429 BOOL SetDllDirectoryA(LPCSTR); 2438 BOOL SetDllDirectoryW(LPCWSTR); | 2430 BOOL SetDllDirectoryW(LPCWSTR); 2439 BOOL SetFirmwareEnvironmentVariableA(LPCSTR, LPCSTR, PVO | 2431 BOOL SetFirmwareEnvironmentVariableA(LPCSTR, LPCSTR, PVOID, DWOR 2440 BOOL SetFirmwareEnvironmentVariableW(LPCWSTR, LPCWSTR, P | 2432 BOOL SetFirmwareEnvironmentVariableW(LPCWSTR, LPCWSTR, PVOID, DW 2441 } < 2442 } 2433 } 2443 2434 2444 // ??? 2435 // ??? 2445 static if (_WIN32_WINNT >= 0x510) { 2436 static if (_WIN32_WINNT >= 0x510) { 2446 VOID RestoreLastError(DWORD); 2437 VOID RestoreLastError(DWORD); 2447 } 2438 } 2448 } 2439 } 2449 2440 2450 < > 2441 mixin DECLARE_AW!("STARTUPINFO"); 2451 version (Unicode) { 2442 version (Unicode) { 2452 alias STARTUPINFOW STARTUPINFO; | 2443 //alias STARTUPINFOW STARTUPINFO; 2453 alias WIN32_FIND_DATAW WIN32_FIND_DATA; 2444 alias WIN32_FIND_DATAW WIN32_FIND_DATA; 2454 alias ENUMRESLANGPROCW ENUMRESLANGPROC; 2445 alias ENUMRESLANGPROCW ENUMRESLANGPROC; 2455 alias ENUMRESNAMEPROCW ENUMRESNAMEPROC; 2446 alias ENUMRESNAMEPROCW ENUMRESNAMEPROC; 2456 alias ENUMRESTYPEPROCW ENUMRESTYPEPROC; 2447 alias ENUMRESTYPEPROCW ENUMRESTYPEPROC; 2457 alias AddAtomW AddAtom; 2448 alias AddAtomW AddAtom; 2458 alias BeginUpdateResourceW BeginUpdateResource; 2449 alias BeginUpdateResourceW BeginUpdateResource; 2459 alias BuildCommDCBW BuildCommDCB; 2450 alias BuildCommDCBW BuildCommDCB; ................................................................................................................................................................................ 2545 alias SetVolumeLabelW SetVolumeLabel; 2536 alias SetVolumeLabelW SetVolumeLabel; 2546 alias WaitNamedPipeW WaitNamedPipe; 2537 alias WaitNamedPipeW WaitNamedPipe; 2547 alias WritePrivateProfileSectionW WritePrivateProfileSection; 2538 alias WritePrivateProfileSectionW WritePrivateProfileSection; 2548 alias WritePrivateProfileStringW WritePrivateProfileString; 2539 alias WritePrivateProfileStringW WritePrivateProfileString; 2549 alias WritePrivateProfileStructW WritePrivateProfileStruct; 2540 alias WritePrivateProfileStructW WritePrivateProfileStruct; 2550 alias WriteProfileSectionW WriteProfileSection; 2541 alias WriteProfileSectionW WriteProfileSection; 2551 alias WriteProfileStringW WriteProfileString; 2542 alias WriteProfileStringW WriteProfileString; > 2543 alias CreateWaitableTimerW CreateWaitableTimer; > 2544 alias GetFileAttributesExW GetFileAttributesEx; > 2545 alias GetLongPathNameW GetLongPathName; > 2546 alias QueryDosDeviceW QueryDosDevice; > 2547 > 2548 alias HW_PROFILE_INFOW HW_PROFILE_INFO; > 2549 alias AccessCheckAndAuditAlarmW AccessCheckAndAuditAlarm; > 2550 alias BackupEventLogW BackupEventLog; > 2551 alias ClearEventLogW ClearEventLog; > 2552 alias CreateNamedPipeW CreateNamedPipe; > 2553 alias CreateProcessAsUserW CreateProcessAsUser; > 2554 alias DefineDosDeviceW DefineDosDevice; > 2555 alias FindFirstFileExW FindFirstFileEx; > 2556 alias GetBinaryTypeW GetBinaryType; > 2557 alias GetCompressedFileSizeW GetCompressedFileSize; > 2558 alias GetFileSecurityW GetFileSecurity; > 2559 alias LogonUserW LogonUser; > 2560 alias LookupAccountNameW LookupAccountName; > 2561 alias LookupAccountSidW LookupAccountSid; > 2562 alias LookupPrivilegeDisplayNameW LookupPrivilegeDisplayName; > 2563 alias LookupPrivilegeNameW LookupPrivilegeName; > 2564 alias LookupPrivilegeValueW LookupPrivilegeValue; > 2565 alias MoveFileExW MoveFileEx; > 2566 alias ObjectCloseAuditAlarmW ObjectCloseAuditAlarm; > 2567 alias ObjectDeleteAuditAlarmW ObjectDeleteAuditAlarm; > 2568 alias ObjectOpenAuditAlarmW ObjectOpenAuditAlarm; > 2569 alias ObjectPrivilegeAuditAlarmW ObjectPrivilegeAuditAlarm; > 2570 alias OpenBackupEventLogW OpenBackupEventLog; > 2571 alias OpenEventLogW OpenEventLog; > 2572 alias PrivilegedServiceAuditAlarmW PrivilegedServiceAuditAlarm; > 2573 alias ReadEventLogW ReadEventLog; > 2574 alias RegisterEventSourceW RegisterEventSource; > 2575 alias ReportEventW ReportEvent; > 2576 alias SetFileSecurityW SetFileSecurity; > 2577 alias UpdateResourceW UpdateResource; 2552 2578 2553 static if (_WIN32_WINDOWS >= 0x410) { | 2579 static if (_WIN32_WINNT >= 0x500) { 2554 alias CreateWaitableTimerW CreateWaitableTimer; | 2580 alias CreateFileMappingW CreateFileMapping; 2555 alias GetFileAttributesExW GetFileAttributesEx; | 2581 alias CreateHardLinkW CreateHardLink; 2556 alias GetLongPathNameW GetLongPathName; | 2582 alias CreateJobObjectW CreateJobObject; 2557 alias QueryDosDeviceW QueryDosDevice; | 2583 alias DeleteVolumeMountPointW DeleteVolumeMountPoint; > 2584 alias DnsHostnameToComputerNameW DnsHostnameToComputerName; > 2585 alias EncryptFileW EncryptFile; > 2586 alias FileEncryptionStatusW FileEncryptionStatus; > 2587 alias FindFirstVolumeW FindFirstVolume; > 2588 alias FindFirstVolumeMountPointW FindFirstVolumeMountPoint; > 2589 alias FindNextVolumeW FindNextVolume; > 2590 alias FindNextVolumeMountPointW FindNextVolumeMountPoint; > 2591 alias GetModuleHandleExW GetModuleHandleEx; > 2592 alias GetSystemWindowsDirectoryW GetSystemWindowsDirectory; > 2593 alias GetVolumeNameForVolumeMountPointW GetVolumeNameForVolumeMo > 2594 alias GetVolumePathNameW GetVolumePathName; > 2595 alias OpenFileMappingW OpenFileMapping; > 2596 alias ReplaceFileW ReplaceFile; > 2597 alias SetVolumeMountPointW SetVolumeMountPoint; > 2598 alias VerifyVersionInfoW VerifyVersionInfo; 2558 } 2599 } 2559 2600 2560 static if (_WIN32_WINNT_ONLY) { | 2601 static if (_WIN32_WINNT >= 0x501) { 2561 alias HW_PROFILE_INFOW HW_PROFILE_INFO; | 2602 alias ACTCTXW ACTCTX; 2562 alias AccessCheckAndAuditAlarmW AccessCheckAndAuditAlarm; | 2603 alias CheckNameLegalDOS8Dot3W CheckNameLegalDOS8Dot3; 2563 alias BackupEventLogW BackupEventLog; | 2604 alias CreateActCtxW CreateActCtx; 2564 alias ClearEventLogW ClearEventLog; | 2605 alias FindActCtxSectionStringW FindActCtxSectionString; 2565 alias CreateNamedPipeW CreateNamedPipe; | 2606 alias GetSystemWow64DirectoryW GetSystemWow64Directory; 2566 alias CreateProcessAsUserW CreateProcessAsUser; | 2607 alias GetVolumePathNamesForVolumeNameW GetVolumePathNamesForVolu 2567 alias DefineDosDeviceW DefineDosDevice; < 2568 alias FindFirstFileExW FindFirstFileEx; < 2569 alias GetBinaryTypeW GetBinaryType; < 2570 alias GetCompressedFileSizeW GetCompressedFileSize; < 2571 alias GetFileSecurityW GetFileSecurity; < 2572 alias LogonUserW LogonUser; < 2573 alias LookupAccountNameW LookupAccountName; < 2574 alias LookupAccountSidW LookupAccountSid; < 2575 alias LookupPrivilegeDisplayNameW LookupPrivilegeDisplayName; < 2576 alias LookupPrivilegeNameW LookupPrivilegeName; < 2577 alias LookupPrivilegeValueW LookupPrivilegeValue; < 2578 alias MoveFileExW MoveFileEx; < 2579 alias ObjectCloseAuditAlarmW ObjectCloseAuditAlarm; < 2580 alias ObjectDeleteAuditAlarmW ObjectDeleteAuditAlarm; < 2581 alias ObjectOpenAuditAlarmW ObjectOpenAuditAlarm; < 2582 alias ObjectPrivilegeAuditAlarmW ObjectPrivilegeAuditAlarm; < 2583 alias OpenBackupEventLogW OpenBackupEventLog; < 2584 alias OpenEventLogW OpenEventLog; < 2585 alias PrivilegedServiceAuditAlarmW PrivilegedServiceAuditAlarm; < 2586 alias ReadEventLogW ReadEventLog; < 2587 alias RegisterEventSourceW RegisterEventSource; < 2588 alias ReportEventW ReportEvent; < 2589 alias SetFileSecurityW SetFileSecurity; | 2608 alias SetFileShortNameW SetFileShortName; 2590 alias UpdateResourceW UpdateResource; < > 2609 } 2591 2610 2592 static if (_WIN32_WINNT >= 0x500) { < 2593 alias CreateFileMappingW CreateFileMapping; < 2594 alias CreateHardLinkW CreateHardLink; < 2595 alias CreateJobObjectW CreateJobObject; < 2596 alias DeleteVolumeMountPointW DeleteVolumeMountPoint; < 2597 alias DnsHostnameToComputerNameW DnsHostnameToComputerNa < 2598 alias EncryptFileW EncryptFile; < 2599 alias FileEncryptionStatusW FileEncryptionStatus; < 2600 alias FindFirstVolumeW FindFirstVolume; < 2601 alias FindFirstVolumeMountPointW FindFirstVolumeMountPoi < 2602 alias FindNextVolumeW FindNextVolume; < 2603 alias FindNextVolumeMountPointW FindNextVolumeMountPoint < 2604 alias GetModuleHandleExW GetModuleHandleEx; < 2605 alias GetSystemWindowsDirectoryW GetSystemWindowsDirecto < 2606 alias GetVolumeNameForVolumeMountPointW GetVolumeNameFor < 2607 alias GetVolumePathNameW GetVolumePathName; < 2608 alias OpenFileMappingW OpenFileMapping; < 2609 alias ReplaceFileW ReplaceFile; < 2610 alias SetVolumeMountPointW SetVolumeMountPoint; < 2611 alias VerifyVersionInfoW VerifyVersionInfo; < 2612 } < 2613 < 2614 static if (_WIN32_WINNT >= 0x501) { < 2615 alias ACTCTXW ACTCTX; < 2616 alias CheckNameLegalDOS8Dot3W CheckNameLegalDOS8Dot3; < 2617 alias CreateActCtxW CreateActCtx; < 2618 alias FindActCtxSectionStringW FindActCtxSectionString; < 2619 alias GetSystemWow64DirectoryW GetSystemWow64Directory; < 2620 alias GetVolumePathNamesForVolumeNameW GetVolumePathName < 2621 alias SetFileShortNameW SetFileShortName; < 2622 } < 2623 < 2624 static if (_WIN32_WINNT >= 0x502) { | 2611 static if (_WIN32_WINNT >= 0x502) { 2625 alias SetFirmwareEnvironmentVariableW SetFirmwareEnviron | 2612 alias SetFirmwareEnvironmentVariableW SetFirmwareEnvironmentVari 2626 alias SetDllDirectoryW SetDllDirectory; | 2613 alias SetDllDirectoryW SetDllDirectory; 2627 alias GetDllDirectoryW GetDllDirectory; | 2614 alias GetDllDirectoryW GetDllDirectory; 2628 } < 2629 } 2615 } 2630 2616 2631 } else { 2617 } else { 2632 alias STARTUPINFOA STARTUPINFO; | 2618 //alias STARTUPINFOA STARTUPINFO; 2633 alias WIN32_FIND_DATAA WIN32_FIND_DATA; 2619 alias WIN32_FIND_DATAA WIN32_FIND_DATA; 2634 alias ENUMRESLANGPROCW ENUMRESLANGPROC; 2620 alias ENUMRESLANGPROCW ENUMRESLANGPROC; 2635 alias ENUMRESNAMEPROCW ENUMRESNAMEPROC; 2621 alias ENUMRESNAMEPROCW ENUMRESNAMEPROC; 2636 alias ENUMRESTYPEPROCW ENUMRESTYPEPROC; 2622 alias ENUMRESTYPEPROCW ENUMRESTYPEPROC; 2637 alias AddAtomA AddAtom; 2623 alias AddAtomA AddAtom; 2638 alias BeginUpdateResourceA BeginUpdateResource; 2624 alias BeginUpdateResourceA BeginUpdateResource; 2639 alias BuildCommDCBA BuildCommDCB; 2625 alias BuildCommDCBA BuildCommDCB; ................................................................................................................................................................................ 2724 alias SetVolumeLabelA SetVolumeLabel; 2710 alias SetVolumeLabelA SetVolumeLabel; 2725 alias WaitNamedPipeA WaitNamedPipe; 2711 alias WaitNamedPipeA WaitNamedPipe; 2726 alias WritePrivateProfileSectionA WritePrivateProfileSection; 2712 alias WritePrivateProfileSectionA WritePrivateProfileSection; 2727 alias WritePrivateProfileStringA WritePrivateProfileString; 2713 alias WritePrivateProfileStringA WritePrivateProfileString; 2728 alias WritePrivateProfileStructA WritePrivateProfileStruct; 2714 alias WritePrivateProfileStructA WritePrivateProfileStruct; 2729 alias WriteProfileSectionA WriteProfileSection; 2715 alias WriteProfileSectionA WriteProfileSection; 2730 alias WriteProfileStringA WriteProfileString; 2716 alias WriteProfileStringA WriteProfileString; > 2717 alias CreateWaitableTimerA CreateWaitableTimer; > 2718 alias GetFileAttributesExA GetFileAttributesEx; > 2719 alias GetLongPathNameA GetLongPathName; > 2720 alias QueryDosDeviceA QueryDosDevice; > 2721 > 2722 alias HW_PROFILE_INFOA HW_PROFILE_INFO; > 2723 alias AccessCheckAndAuditAlarmA AccessCheckAndAuditAlarm; > 2724 alias BackupEventLogA BackupEventLog; > 2725 alias ClearEventLogA ClearEventLog; > 2726 alias CreateNamedPipeA CreateNamedPipe; > 2727 alias CreateProcessAsUserA CreateProcessAsUser; > 2728 alias DefineDosDeviceA DefineDosDevice; > 2729 alias FindFirstFileExA FindFirstFileEx; > 2730 alias GetBinaryTypeA GetBinaryType; > 2731 alias GetCompressedFileSizeA GetCompressedFileSize; > 2732 alias GetFileSecurityA GetFileSecurity; > 2733 alias LogonUserA LogonUser; > 2734 alias LookupAccountNameA LookupAccountName; > 2735 alias LookupAccountSidA LookupAccountSid; > 2736 alias LookupPrivilegeDisplayNameA LookupPrivilegeDisplayName; > 2737 alias LookupPrivilegeNameA LookupPrivilegeName; > 2738 alias LookupPrivilegeValueA LookupPrivilegeValue; > 2739 alias MoveFileExA MoveFileEx; > 2740 alias ObjectCloseAuditAlarmA ObjectCloseAuditAlarm; > 2741 alias ObjectDeleteAuditAlarmA ObjectDeleteAuditAlarm; > 2742 alias ObjectOpenAuditAlarmA ObjectOpenAuditAlarm; > 2743 alias ObjectPrivilegeAuditAlarmA ObjectPrivilegeAuditAlarm; > 2744 alias OpenBackupEventLogA OpenBackupEventLog; > 2745 alias OpenEventLogA OpenEventLog; > 2746 alias PrivilegedServiceAuditAlarmA PrivilegedServiceAuditAlarm; > 2747 alias ReadEventLogA ReadEventLog; > 2748 alias RegisterEventSourceA RegisterEventSource; > 2749 alias ReportEventA ReportEvent; > 2750 alias SetFileSecurityA SetFileSecurity; > 2751 alias UpdateResourceA UpdateResource; 2731 2752 2732 static if (_WIN32_WINDOWS >= 0x410) { | 2753 static if (_WIN32_WINNT >= 0x500) { 2733 alias CreateWaitableTimerA CreateWaitableTimer; | 2754 alias CreateFileMappingA CreateFileMapping; 2734 alias GetFileAttributesExA GetFileAttributesEx; | 2755 alias CreateHardLinkA CreateHardLink; 2735 alias GetLongPathNameA GetLongPathName; | 2756 alias CreateJobObjectA CreateJobObject; 2736 alias QueryDosDeviceA QueryDosDevice; | 2757 alias DeleteVolumeMountPointA DeleteVolumeMountPoint; > 2758 alias DnsHostnameToComputerNameA DnsHostnameToComputerName; > 2759 alias EncryptFileA EncryptFile; > 2760 alias FileEncryptionStatusA FileEncryptionStatus; > 2761 alias FindFirstVolumeA FindFirstVolume; > 2762 alias FindFirstVolumeMountPointA FindFirstVolumeMountPoint; > 2763 alias FindNextVolumeA FindNextVolume; > 2764 alias FindNextVolumeMountPointA FindNextVolumeMountPoint; > 2765 alias GetModuleHandleExA GetModuleHandleEx; > 2766 alias GetSystemWindowsDirectoryA GetSystemWindowsDirectory; > 2767 alias GetVolumeNameForVolumeMountPointA GetVolumeNameForVolumeMo > 2768 alias GetVolumePathNameA GetVolumePathName; > 2769 alias OpenFileMappingA OpenFileMapping; > 2770 alias ReplaceFileA ReplaceFile; > 2771 alias SetVolumeMountPointA SetVolumeMountPoint; > 2772 alias VerifyVersionInfoA VerifyVersionInfo; 2737 } 2773 } 2738 2774 2739 static if (_WIN32_WINNT_ONLY) { | 2775 static if (_WIN32_WINNT >= 0x501) { 2740 alias HW_PROFILE_INFOA HW_PROFILE_INFO; | 2776 alias ACTCTXA ACTCTX; 2741 alias AccessCheckAndAuditAlarmA AccessCheckAndAuditAlarm; | 2777 alias CheckNameLegalDOS8Dot3A CheckNameLegalDOS8Dot3; 2742 alias BackupEventLogA BackupEventLog; | 2778 alias CreateActCtxA CreateActCtx; 2743 alias ClearEventLogA ClearEventLog; | 2779 alias FindActCtxSectionStringA FindActCtxSectionString; 2744 alias CreateNamedPipeA CreateNamedPipe; | 2780 alias GetSystemWow64DirectoryA GetSystemWow64Directory; 2745 alias CreateProcessAsUserA CreateProcessAsUser; | 2781 alias GetVolumePathNamesForVolumeNameA GetVolumePathNamesForVolu 2746 alias DefineDosDeviceA DefineDosDevice; < 2747 alias FindFirstFileExA FindFirstFileEx; < 2748 alias GetBinaryTypeA GetBinaryType; < 2749 alias GetCompressedFileSizeA GetCompressedFileSize; < 2750 alias GetFileSecurityA GetFileSecurity; < 2751 alias LogonUserA LogonUser; < 2752 alias LookupAccountNameA LookupAccountName; < 2753 alias LookupAccountSidA LookupAccountSid; < 2754 alias LookupPrivilegeDisplayNameA LookupPrivilegeDisplayName; < 2755 alias LookupPrivilegeNameA LookupPrivilegeName; < 2756 alias LookupPrivilegeValueA LookupPrivilegeValue; < 2757 alias MoveFileExA MoveFileEx; < 2758 alias ObjectCloseAuditAlarmA ObjectCloseAuditAlarm; < 2759 alias ObjectDeleteAuditAlarmA ObjectDeleteAuditAlarm; < 2760 alias ObjectOpenAuditAlarmA ObjectOpenAuditAlarm; < 2761 alias ObjectPrivilegeAuditAlarmA ObjectPrivilegeAuditAlarm; < 2762 alias OpenBackupEventLogA OpenBackupEventLog; < 2763 alias OpenEventLogA OpenEventLog; < 2764 alias PrivilegedServiceAuditAlarmA PrivilegedServiceAuditAlarm; < 2765 alias ReadEventLogA ReadEventLog; < 2766 alias RegisterEventSourceA RegisterEventSource; < 2767 alias ReportEventA ReportEvent; < 2768 alias SetFileSecurityA SetFileSecurity; | 2782 alias SetFileShortNameA SetFileShortName; 2769 alias UpdateResourceA UpdateResource; < > 2783 } 2770 2784 2771 static if (_WIN32_WINNT >= 0x500) { < 2772 alias CreateFileMappingA CreateFileMapping; < 2773 alias CreateHardLinkA CreateHardLink; < 2774 alias CreateJobObjectA CreateJobObject; < 2775 alias DeleteVolumeMountPointA DeleteVolumeMountPoint; < 2776 alias DnsHostnameToComputerNameA DnsHostnameToComputerNa < 2777 alias EncryptFileA EncryptFile; < 2778 alias FileEncryptionStatusA FileEncryptionStatus; < 2779 alias FindFirstVolumeA FindFirstVolume; < 2780 alias FindFirstVolumeMountPointA FindFirstVolumeMountPoi < 2781 alias FindNextVolumeA FindNextVolume; < 2782 alias FindNextVolumeMountPointA FindNextVolumeMountPoint < 2783 alias GetModuleHandleExA GetModuleHandleEx; < 2784 alias GetSystemWindowsDirectoryA GetSystemWindowsDirecto < 2785 alias GetVolumeNameForVolumeMountPointA GetVolumeNameFor < 2786 alias GetVolumePathNameA GetVolumePathName; < 2787 alias OpenFileMappingA OpenFileMapping; < 2788 alias ReplaceFileA ReplaceFile; < 2789 alias SetVolumeMountPointA SetVolumeMountPoint; < 2790 alias VerifyVersionInfoA VerifyVersionInfo; < 2791 } < 2792 < 2793 static if (_WIN32_WINNT >= 0x501) { < 2794 alias ACTCTXA ACTCTX; < 2795 alias CheckNameLegalDOS8Dot3A CheckNameLegalDOS8Dot3; < 2796 alias CreateActCtxA CreateActCtx; < 2797 alias FindActCtxSectionStringA FindActCtxSectionString; < 2798 alias GetSystemWow64DirectoryA GetSystemWow64Directory; < 2799 alias GetVolumePathNamesForVolumeNameA GetVolumePathName < 2800 alias SetFileShortNameA SetFileShortName; < 2801 } < 2802 < 2803 static if (_WIN32_WINNT >= 0x502) { | 2785 static if (_WIN32_WINNT >= 0x502) { 2804 alias GetDllDirectoryA GetDllDirectory; | 2786 alias GetDllDirectoryA GetDllDirectory; 2805 alias SetDllDirectoryA SetDllDirectory; | 2787 alias SetDllDirectoryA SetDllDirectory; 2806 alias SetFirmwareEnvironmentVariableA SetFirmwareEnviron | 2788 alias SetFirmwareEnvironmentVariableA SetFirmwareEnvironmentVari 2807 } < 2808 } 2789 } 2809 } 2790 } 2810 2791 2811 alias STARTUPINFO* LPSTARTUPINFO; 2792 alias STARTUPINFO* LPSTARTUPINFO; 2812 alias WIN32_FIND_DATA* LPWIN32_FIND_DATA; 2793 alias WIN32_FIND_DATA* LPWIN32_FIND_DATA; 2813 2794 2814 static if (_WIN32_WINNT_ONLY) { < 2815 alias HW_PROFILE_INFO* LPHW_PROFILE_INFO; | 2795 alias HW_PROFILE_INFO* LPHW_PROFILE_INFO; 2816 2796 2817 static if (_WIN32_WINNT >= 0x501) { | 2797 static if (_WIN32_WINNT >= 0x501) { 2818 alias ACTCTX* PACTCTX, PCACTCTX; | 2798 alias ACTCTX* PACTCTX, PCACTCTX; 2819 } < 2820 } 2799 }

Modified src/win32/winber.d from [4ba5ee97ba871a5e] to [5a860f3915f03be8].

50 LBER_DEFAULT = -1, 50 LBER_DEFAULT = -1, 51 LBER_USE_DER = 1; 51 LBER_USE_DER = 1; 52 52 53 /* FIXME: In MinGW, these are WINBERAPI == DECLSPEC_IMPORT. Linkage 53 /* FIXME: In MinGW, these are WINBERAPI == DECLSPEC_IMPORT. Linkage 54 * attribute? 54 * attribute? 55 */ 55 */ 56 extern (C) { 56 extern (C) { 57 BerElement* ber_init(CPtr!(BerValue)); | 57 BerElement* ber_init(const(BerValue)*); 58 int ber_printf(BerElement*, CPtr!(char), ...); | 58 int ber_printf(BerElement*, const(char)*, ...); 59 int ber_flatten(BerElement*, BerValue**); 59 int ber_flatten(BerElement*, BerValue**); 60 ber_tag_t ber_scanf(BerElement*, CPtr!(char), ...); | 60 ber_tag_t ber_scanf(BerElement*, const(char)*, ...); 61 ber_tag_t ber_peek_tag(BerElement*, ber_len_t*); 61 ber_tag_t ber_peek_tag(BerElement*, ber_len_t*); 62 ber_tag_t ber_skip_tag(BerElement*, ber_len_t*); 62 ber_tag_t ber_skip_tag(BerElement*, ber_len_t*); 63 ber_tag_t ber_first_element(BerElement*, ber_len_t*, char**); 63 ber_tag_t ber_first_element(BerElement*, ber_len_t*, char**); 64 ber_tag_t ber_next_element(BerElement*, ber_len_t*, char*); 64 ber_tag_t ber_next_element(BerElement*, ber_len_t*, char*); 65 void ber_bvfree(BerValue*); 65 void ber_bvfree(BerValue*); 66 void ber_bvecfree(BerValue**); 66 void ber_bvecfree(BerValue**); 67 void ber_free(BerElement*, int); 67 void ber_free(BerElement*, int); 68 BerValue* ber_bvdup(BerValue*); 68 BerValue* ber_bvdup(BerValue*); 69 BerElement* ber_alloc_t(int); 69 BerElement* ber_alloc_t(int); 70 } 70 }

Modified src/win32/wincon.d from [a1d2dfcf9ddedace] to [418f11163a21e063].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.wincon; 10 module win32.wincon; 11 pragma(lib, "kernel32.lib"); | 11 pragma(lib, "kernel32"); 12 12 13 private import win32.w32api, win32.windef; 13 private import win32.w32api, win32.windef; 14 14 15 // FIXME: clean up Windows version support 15 // FIXME: clean up Windows version support 16 16 17 enum { 17 enum { 18 FOREGROUND_BLUE = 1, 18 FOREGROUND_BLUE = 1, ................................................................................................................................................................................ 21 FOREGROUND_INTENSITY = 8, 21 FOREGROUND_INTENSITY = 8, 22 BACKGROUND_BLUE = 16, 22 BACKGROUND_BLUE = 16, 23 BACKGROUND_GREEN = 32, 23 BACKGROUND_GREEN = 32, 24 BACKGROUND_RED = 64, 24 BACKGROUND_RED = 64, 25 BACKGROUND_INTENSITY = 128 25 BACKGROUND_INTENSITY = 128 26 } 26 } 27 27 28 static if (_WIN32_WINNT >= 0x0501) { | 28 static if (_WIN32_WINNT >= 0x501) { 29 enum { 29 enum { 30 CONSOLE_FULLSCREEN_MODE = 1, 30 CONSOLE_FULLSCREEN_MODE = 1, 31 CONSOLE_WINDOWED_MODE = 0 31 CONSOLE_WINDOWED_MODE = 0 32 } 32 } 33 } 33 } 34 34 35 enum { 35 enum { ................................................................................................................................................................................ 205 BOOL ReadConsoleInputA(HANDLE, PINPUT_RECORD, DWORD, PDWORD); 205 BOOL ReadConsoleInputA(HANDLE, PINPUT_RECORD, DWORD, PDWORD); 206 BOOL ReadConsoleInputW(HANDLE, PINPUT_RECORD, DWORD, PDWORD); 206 BOOL ReadConsoleInputW(HANDLE, PINPUT_RECORD, DWORD, PDWORD); 207 BOOL ReadConsoleOutputAttribute(HANDLE, LPWORD, DWORD, COORD, LPDWORD); 207 BOOL ReadConsoleOutputAttribute(HANDLE, LPWORD, DWORD, COORD, LPDWORD); 208 BOOL ReadConsoleOutputCharacterA(HANDLE, LPSTR, DWORD, COORD, PDWORD); 208 BOOL ReadConsoleOutputCharacterA(HANDLE, LPSTR, DWORD, COORD, PDWORD); 209 BOOL ReadConsoleOutputCharacterW(HANDLE, LPWSTR, DWORD, COORD, PDWORD); 209 BOOL ReadConsoleOutputCharacterW(HANDLE, LPWSTR, DWORD, COORD, PDWORD); 210 BOOL ReadConsoleOutputA(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT); 210 BOOL ReadConsoleOutputA(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT); 211 BOOL ReadConsoleOutputW(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT); 211 BOOL ReadConsoleOutputW(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT); 212 BOOL ScrollConsoleScreenBufferA(HANDLE, CPtr!(SMALL_RECT), CPtr!(SMALL_RECT), CO | 212 BOOL ScrollConsoleScreenBufferA(HANDLE, const(SMALL_RECT)*, const(SMALL_RECT)*, 213 BOOL ScrollConsoleScreenBufferW(HANDLE, CPtr!(SMALL_RECT), CPtr!(SMALL_RECT), CO | 213 BOOL ScrollConsoleScreenBufferW(HANDLE, const(SMALL_RECT)*, const(SMALL_RECT)*, 214 BOOL SetConsoleActiveScreenBuffer(HANDLE); 214 BOOL SetConsoleActiveScreenBuffer(HANDLE); 215 BOOL SetConsoleCP(UINT); 215 BOOL SetConsoleCP(UINT); 216 BOOL SetConsoleCtrlHandler(PHANDLER_ROUTINE, BOOL); 216 BOOL SetConsoleCtrlHandler(PHANDLER_ROUTINE, BOOL); 217 BOOL SetConsoleCursorInfo(HANDLE, CPtr!(CONSOLE_CURSOR_INFO)); | 217 BOOL SetConsoleCursorInfo(HANDLE, const(CONSOLE_CURSOR_INFO)*); 218 BOOL SetConsoleCursorPosition(HANDLE, COORD); 218 BOOL SetConsoleCursorPosition(HANDLE, COORD); 219 219 220 220 221 static if (_WIN32_WINNT >= 0x0500) { | 221 static if (_WIN32_WINNT >= 0x500) { 222 BOOL GetConsoleDisplayMode(LPDWORD); 222 BOOL GetConsoleDisplayMode(LPDWORD); 223 HWND GetConsoleWindow(); 223 HWND GetConsoleWindow(); 224 } 224 } 225 225 226 static if (_WIN32_WINNT >= 0x0501) { | 226 static if (_WIN32_WINNT >= 0x501) { 227 BOOL AttachConsole(DWORD); 227 BOOL AttachConsole(DWORD); 228 BOOL SetConsoleDisplayMode(HANDLE, DWORD, PCOORD); 228 BOOL SetConsoleDisplayMode(HANDLE, DWORD, PCOORD); 229 const DWORD ATTACH_PARENT_PROCESS = cast(DWORD)-1; 229 const DWORD ATTACH_PARENT_PROCESS = cast(DWORD)-1; 230 } 230 } 231 231 232 BOOL SetConsoleMode(HANDLE, DWORD); 232 BOOL SetConsoleMode(HANDLE, DWORD); 233 BOOL SetConsoleOutputCP(UINT); 233 BOOL SetConsoleOutputCP(UINT); 234 BOOL SetConsoleScreenBufferSize(HANDLE, COORD); 234 BOOL SetConsoleScreenBufferSize(HANDLE, COORD); 235 BOOL SetConsoleTextAttribute(HANDLE, WORD); 235 BOOL SetConsoleTextAttribute(HANDLE, WORD); 236 BOOL SetConsoleTitleA(LPCSTR); 236 BOOL SetConsoleTitleA(LPCSTR); 237 BOOL SetConsoleTitleW(LPCWSTR); 237 BOOL SetConsoleTitleW(LPCWSTR); 238 BOOL SetConsoleWindowInfo(HANDLE, BOOL, CPtr!(SMALL_RECT)); | 238 BOOL SetConsoleWindowInfo(HANDLE, BOOL, const(SMALL_RECT)*); 239 BOOL WriteConsoleA(HANDLE, PCVOID, DWORD, PDWORD, PVOID); 239 BOOL WriteConsoleA(HANDLE, PCVOID, DWORD, PDWORD, PVOID); 240 BOOL WriteConsoleW(HANDLE, PCVOID, DWORD, PDWORD, PVOID); 240 BOOL WriteConsoleW(HANDLE, PCVOID, DWORD, PDWORD, PVOID); 241 BOOL WriteConsoleInputA(HANDLE, CPtr!(INPUT_RECORD), DWORD, PDWORD); | 241 BOOL WriteConsoleInputA(HANDLE, const(INPUT_RECORD)*, DWORD, PDWORD); 242 BOOL WriteConsoleInputW(HANDLE, CPtr!(INPUT_RECORD), DWORD, PDWORD); | 242 BOOL WriteConsoleInputW(HANDLE, const(INPUT_RECORD)*, DWORD, PDWORD); 243 BOOL WriteConsoleOutputA(HANDLE, CPtr!(CHAR_INFO), COORD, COORD, PSMALL_RECT); | 243 BOOL WriteConsoleOutputA(HANDLE, const(CHAR_INFO)*, COORD, COORD, PSMALL_RECT); 244 BOOL WriteConsoleOutputW(HANDLE, CPtr!(CHAR_INFO), COORD, COORD, PSMALL_RECT); | 244 BOOL WriteConsoleOutputW(HANDLE, const(CHAR_INFO)*, COORD, COORD, PSMALL_RECT); 245 BOOL WriteConsoleOutputAttribute(HANDLE, CPtr!(WORD), DWORD, COORD, PDWORD); | 245 BOOL WriteConsoleOutputAttribute(HANDLE, const(WORD)*, DWORD, COORD, PDWORD); 246 BOOL WriteConsoleOutputCharacterA(HANDLE, LPCSTR, DWORD, COORD, PDWORD); 246 BOOL WriteConsoleOutputCharacterA(HANDLE, LPCSTR, DWORD, COORD, PDWORD); 247 BOOL WriteConsoleOutputCharacterW(HANDLE, LPCWSTR, DWORD, COORD, PDWORD); 247 BOOL WriteConsoleOutputCharacterW(HANDLE, LPCWSTR, DWORD, COORD, PDWORD); 248 248 249 version (Unicode) { 249 version (Unicode) { 250 alias FillConsoleOutputCharacterW FillConsoleOutputCharacter; 250 alias FillConsoleOutputCharacterW FillConsoleOutputCharacter; 251 alias GetConsoleTitleW GetConsoleTitle; 251 alias GetConsoleTitleW GetConsoleTitle; 252 alias PeekConsoleInputW PeekConsoleInput; 252 alias PeekConsoleInputW PeekConsoleInput;

Modified src/win32/wincrypt.d from [01dc6f0e64f6c54b] to [56b59d671f703037].

29 MS_DEF_DSS_DH_PROV 29 MS_DEF_DSS_DH_PROV 30 = "Microsoft Base DSS and Diffie-Hellman Cryptographic Provider", 30 = "Microsoft Base DSS and Diffie-Hellman Cryptographic Provider", 31 MS_ENH_DSS_DH_PROV 31 MS_ENH_DSS_DH_PROV 32 = "Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider", 32 = "Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider", 33 MS_DEF_DH_SCHANNEL_PROV = "Microsoft DH SChannel Cryptographic Provider" 33 MS_DEF_DH_SCHANNEL_PROV = "Microsoft DH SChannel Cryptographic Provider" 34 MS_SCARD_PROV = "Microsoft Base Smart Card Crypto Provider"; 34 MS_SCARD_PROV = "Microsoft Base Smart Card Crypto Provider"; 35 35 36 static if (WINVER > 0x501) { | 36 static if (_WIN32_WINNT > 0x501) { 37 const TCHAR[] MS_ENH_RSA_AES_PROV 37 const TCHAR[] MS_ENH_RSA_AES_PROV 38 = "Microsoft Enhanced RSA and AES Cryptographic Provider"; 38 = "Microsoft Enhanced RSA and AES Cryptographic Provider"; 39 } else static if (WINVER == 0x501) { | 39 } else static if (_WIN32_WINNT == 0x501) { 40 const TCHAR[] MS_ENH_RSA_AES_PROV 40 const TCHAR[] MS_ENH_RSA_AES_PROV 41 = "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"; 41 = "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"; 42 } 42 } 43 43 44 ALG_ID GET_ALG_CLASS(ALG_ID x) { return x & 0xE000; } 44 ALG_ID GET_ALG_CLASS(ALG_ID x) { return x & 0xE000; } 45 ALG_ID GET_ALG_TYPE (ALG_ID x) { return x & 0x1E00; } 45 ALG_ID GET_ALG_TYPE (ALG_ID x) { return x & 0x1E00; } 46 ALG_ID GET_ALG_SID (ALG_ID x) { return x & 0x01FF; } 46 ALG_ID GET_ALG_SID (ALG_ID x) { return x & 0x01FF; } ................................................................................................................................................................................ 132 CALG_TLS1PRF = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_TLS1PRF, 132 CALG_TLS1PRF = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_TLS1PRF, 133 CALG_AES_128 = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_ 133 CALG_AES_128 = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_ 134 CALG_AES_192 = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_ 134 CALG_AES_192 = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_ 135 CALG_AES_256 = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_ 135 CALG_AES_256 = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_ 136 CALG_AES = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES, 136 CALG_AES = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES, 137 } 137 } 138 138 139 /+ < > 139 enum { 140 #define CRYPT_VERIFYCONTEXT 0xF0000000 | 140 CRYPT_VERIFYCONTEXT = 0xF0000000, > 141 } > 142 > 143 enum { 141 #define CRYPT_NEWKEYSET 8 | 144 CRYPT_NEWKEYSET = 8, 142 #define CRYPT_DELETEKEYSET 16 | 145 CRYPT_DELETEKEYSET = 16, 143 #define CRYPT_MACHINE_KEYSET 32 | 146 CRYPT_MACHINE_KEYSET = 32, 144 #define CRYPT_SILENT 64 | 147 CRYPT_SILENT = 64, > 148 } > 149 > 150 enum { 145 #define CRYPT_EXPORTABLE 1 | 151 CRYPT_EXPORTABLE = 1, 146 #define CRYPT_USER_PROTECTED 2 | 152 CRYPT_USER_PROTECTED = 2, 147 #define CRYPT_CREATE_SALT 4 | 153 CRYPT_CREATE_SALT = 4, 148 #define CRYPT_UPDATE_KEY 8 | 154 CRYPT_UPDATE_KEY = 8, > 155 } > 156 > 157 enum { 149 #define SIMPLEBLOB 1 | 158 SIMPLEBLOB = 1, 150 #define PUBLICKEYBLOB 6 | 159 PUBLICKEYBLOB = 6, 151 #define PRIVATEKEYBLOB 7 | 160 PRIVATEKEYBLOB = 7, 152 #define PLAINTEXTKEYBLOB 8 | 161 PLAINTEXTKEYBLOB = 8, 153 #define OPAQUEKEYBLOB 9 | 162 OPAQUEKEYBLOB = 9, 154 #define PUBLICKEYBLOBEX 10 | 163 PUBLICKEYBLOBEX = 10, 155 #define SYMMETRICWRAPKEYBLOB 11 | 164 SYMMETRICWRAPKEYBLOB = 11, > 165 } > 166 > 167 enum { 156 #define AT_KEYEXCHANGE 1 | 168 AT_KEYEXCHANGE = 1, 157 #define AT_SIGNATURE 2 | 169 AT_SIGNATURE = 2, > 170 } > 171 > 172 enum { 158 #define CRYPT_USERDATA 1 | 173 CRYPT_USERDATA = 1, > 174 } > 175 > 176 enum { 159 #define PKCS5_PADDING 1 | 177 PKCS5_PADDING = 1, > 178 } > 179 > 180 enum { 160 #define CRYPT_MODE_CBC 1 | 181 CRYPT_MODE_CBC = 1, 161 #define CRYPT_MODE_ECB 2 | 182 CRYPT_MODE_ECB = 2, 162 #define CRYPT_MODE_OFB 3 | 183 CRYPT_MODE_OFB = 3, 163 #define CRYPT_MODE_CFB 4 | 184 CRYPT_MODE_CFB = 4, 164 #define CRYPT_MODE_CTS 5 | 185 CRYPT_MODE_CTS = 5, 165 #define CRYPT_MODE_CBCI 6 | 186 CRYPT_MODE_CBCI = 6, 166 #define CRYPT_MODE_CFBP 7 | 187 CRYPT_MODE_CFBP = 7, 167 #define CRYPT_MODE_OFBP 8 | 188 CRYPT_MODE_OFBP = 8, 168 #define CRYPT_MODE_CBCOFM 9 | 189 CRYPT_MODE_CBCOFM = 9, 169 #define CRYPT_MODE_CBCOFMI 10 | 190 CRYPT_MODE_CBCOFMI = 10, > 191 } > 192 > 193 enum { 170 #define CRYPT_ENCRYPT 1 | 194 CRYPT_ENCRYPT = 1, 171 #define CRYPT_DECRYPT 2 | 195 CRYPT_DECRYPT = 2, 172 #define CRYPT_EXPORT 4 | 196 CRYPT_EXPORT = 4, 173 #define CRYPT_READ 8 | 197 CRYPT_READ = 8, 174 #define CRYPT_WRITE 16 | 198 CRYPT_WRITE = 16, 175 #define CRYPT_MAC 32 | 199 CRYPT_MAC = 32, > 200 } > 201 > 202 enum { 176 #define HP_ALGID 1 | 203 HP_ALGID = 1, 177 #define HP_HASHVAL 2 | 204 HP_HASHVAL = 2, 178 #define HP_HASHSIZE 4 | 205 HP_HASHSIZE = 4, 179 #define HP_HMAC_INFO 5 | 206 HP_HMAC_INFO = 5, > 207 } > 208 > 209 enum { 180 #define CRYPT_FAILED FALSE | 210 CRYPT_FAILED = FALSE, 181 #define CRYPT_SUCCEED TRUE | 211 CRYPT_SUCCEED = TRUE, 182 #define RCRYPT_SUCCEEDED(r) ((r)==CRYPT_SUCCEED) < 183 #define RCRYPT_FAILED(r) ((r)==CRYPT_FAILED) < > 212 } > 213 > 214 bool RCRYPT_SUCCEEDED(BOOL r) { return r==CRYPT_SUCCEED; } > 215 bool RCRYPT_FAILED(BOOL r) { return r==CRYPT_FAILED; } > 216 > 217 enum { 184 #define PP_ENUMALGS 1 | 218 PP_ENUMALGS = 1, 185 #define PP_ENUMCONTAINERS 2 | 219 PP_ENUMCONTAINERS = 2, 186 #define PP_IMPTYPE 3 | 220 PP_IMPTYPE = 3, 187 #define PP_NAME 4 | 221 PP_NAME = 4, 188 #define PP_VERSION 5 | 222 PP_VERSION = 5, 189 #define PP_CONTAINER 6 | 223 PP_CONTAINER = 6, 190 #define PP_CHANGE_PASSWORD 7 | 224 PP_CHANGE_PASSWORD = 7, 191 #define PP_KEYSET_SEC_DESCR 8 | 225 PP_KEYSET_SEC_DESCR = 8, 192 #define PP_CERTCHAIN 9 | 226 PP_CERTCHAIN = 9, 193 #define PP_KEY_TYPE_SUBTYPE 10 | 227 PP_KEY_TYPE_SUBTYPE = 10, 194 #define PP_PROVTYPE 16 | 228 PP_PROVTYPE = 16, 195 #define PP_KEYSTORAGE 17 | 229 PP_KEYSTORAGE = 17, 196 #define PP_APPLI_CERT 18 | 230 PP_APPLI_CERT = 18, 197 #define PP_SYM_KEYSIZE 19 | 231 PP_SYM_KEYSIZE = 19, 198 #define PP_SESSION_KEYSIZE 20 | 232 PP_SESSION_KEYSIZE = 20, 199 #define PP_UI_PROMPT 21 | 233 PP_UI_PROMPT = 21, 200 #define PP_ENUMALGS_EX 22 | 234 PP_ENUMALGS_EX = 22, 201 #define PP_ENUMMANDROOTS 25 | 235 PP_ENUMMANDROOTS = 25, 202 #define PP_ENUMELECTROOTS 26 | 236 PP_ENUMELECTROOTS = 26, 203 #define PP_KEYSET_TYPE 27 | 237 PP_KEYSET_TYPE = 27, 204 #define PP_ADMIN_PIN 31 | 238 PP_ADMIN_PIN = 31, 205 #define PP_KEYEXCHANGE_PIN 32 | 239 PP_KEYEXCHANGE_PIN = 32, 206 #define PP_SIGNATURE_PIN 33 | 240 PP_SIGNATURE_PIN = 33, 207 #define PP_SIG_KEYSIZE_INC 34 | 241 PP_SIG_KEYSIZE_INC = 34, 208 #define PP_KEYX_KEYSIZE_INC 35 | 242 PP_KEYX_KEYSIZE_INC = 35, 209 #define PP_UNIQUE_CONTAINER 36 | 243 PP_UNIQUE_CONTAINER = 36, 210 #define PP_SGC_INFO 37 | 244 PP_SGC_INFO = 37, 211 #define PP_USE_HARDWARE_RNG 38 | 245 PP_USE_HARDWARE_RNG = 38, 212 #define PP_KEYSPEC 39 | 246 PP_KEYSPEC = 39, 213 #define PP_ENUMEX_SIGNING_PROT 40 | 247 PP_ENUMEX_SIGNING_PROT = 40, > 248 } > 249 > 250 enum { 214 #define CRYPT_FIRST 1 | 251 CRYPT_FIRST = 1, 215 #define CRYPT_NEXT 2 | 252 CRYPT_NEXT = 2, > 253 } > 254 > 255 enum { 216 #define CRYPT_IMPL_HARDWARE 1 | 256 CRYPT_IMPL_HARDWARE = 1, 217 #define CRYPT_IMPL_SOFTWARE 2 | 257 CRYPT_IMPL_SOFTWARE = 2, 218 #define CRYPT_IMPL_MIXED 3 | 258 CRYPT_IMPL_MIXED = 3, 219 #define CRYPT_IMPL_UNKNOWN 4 | 259 CRYPT_IMPL_UNKNOWN = 4, > 260 } > 261 > 262 enum { 220 #define PROV_RSA_FULL 1 | 263 PROV_RSA_FULL = 1, 221 #define PROV_RSA_SIG 2 | 264 PROV_RSA_SIG = 2, 222 #define PROV_DSS 3 | 265 PROV_DSS = 3, 223 #define PROV_FORTEZZA 4 | 266 PROV_FORTEZZA = 4, 224 #define PROV_MS_MAIL 5 | 267 PROV_MS_MAIL = 5, 225 #define PROV_SSL 6 | 268 PROV_SSL = 6, 226 #define PROV_STT_MER 7 | 269 PROV_STT_MER = 7, 227 #define PROV_STT_ACQ 8 | 270 PROV_STT_ACQ = 8, 228 #define PROV_STT_BRND 9 | 271 PROV_STT_BRND = 9, 229 #define PROV_STT_ROOT 10 | 272 PROV_STT_ROOT = 10, 230 #define PROV_STT_ISS 11 | 273 PROV_STT_ISS = 11, 231 #define PROV_RSA_SCHANNEL 12 | 274 PROV_RSA_SCHANNEL = 12, 232 #define PROV_DSS_DH 13 | 275 PROV_DSS_DH = 13, 233 #define PROV_EC_ECDSA_SIG 14 | 276 PROV_EC_ECDSA_SIG = 14, 234 #define PROV_EC_ECNRA_SIG 15 | 277 PROV_EC_ECNRA_SIG = 15, 235 #define PROV_EC_ECDSA_FULL 16 | 278 PROV_EC_ECDSA_FULL = 16, 236 #define PROV_EC_ECNRA_FULL 17 | 279 PROV_EC_ECNRA_FULL = 17, 237 #define PROV_DH_SCHANNEL 18 | 280 PROV_DH_SCHANNEL = 18, 238 #define PROV_SPYRUS_LYNKS 20 | 281 PROV_SPYRUS_LYNKS = 20, 239 #define PROV_RNG 21 | 282 PROV_RNG = 21, 240 #define PROV_INTEL_SEC 22 | 283 PROV_INTEL_SEC = 22, 241 #define PROV_RSA_AES 24 | 284 PROV_RSA_AES = 24, 242 #define MAXUIDLEN 64 | 285 MAXUIDLEN = 64, > 286 } > 287 > 288 enum { 243 #define CUR_BLOB_VERSION 2 | 289 CUR_BLOB_VERSION = 2, > 290 } > 291 > 292 enum { 244 #define X509_ASN_ENCODING 1 | 293 X509_ASN_ENCODING = 1, 245 #define PKCS_7_ASN_ENCODING 65536 | 294 PKCS_7_ASN_ENCODING = 65536, > 295 } > 296 > 297 enum { 246 #define CERT_V1 0 | 298 CERT_V1 = 0, 247 #define CERT_V2 1 | 299 CERT_V2 = 1, 248 #define CERT_V3 2 | 300 CERT_V3 = 2, > 301 } > 302 > 303 enum { 249 #define CERT_E_CHAINING (-2146762486) | 304 CERT_E_CHAINING = (-2146762486), 250 #define CERT_E_CN_NO_MATCH (-2146762481) | 305 CERT_E_CN_NO_MATCH = (-2146762481), 251 #define CERT_E_EXPIRED (-2146762495) | 306 CERT_E_EXPIRED = (-2146762495), 252 #define CERT_E_PURPOSE (-2146762490) | 307 CERT_E_PURPOSE = (-2146762490), 253 #define CERT_E_REVOCATION_FAILURE (-2146762482) | 308 CERT_E_REVOCATION_FAILURE = (-2146762482), 254 #define CERT_E_REVOKED (-2146762484) | 309 CERT_E_REVOKED = (-2146762484), 255 #define CERT_E_ROLE (-2146762493) | 310 CERT_E_ROLE = (-2146762493), 256 #define CERT_E_UNTRUSTEDROOT (-2146762487) | 311 CERT_E_UNTRUSTEDROOT = (-2146762487), 257 #define CERT_E_UNTRUSTEDTESTROOT (-2146762483) | 312 CERT_E_UNTRUSTEDTESTROOT = (-2146762483), 258 #define CERT_E_VALIDITYPERIODNESTING (-2146762494) | 313 CERT_E_VALIDITYPERIODNESTING = (-2146762494), 259 #define CERT_E_WRONG_USAGE (-2146762480) | 314 CERT_E_WRONG_USAGE = (-2146762480), 260 #define CERT_E_PATHLENCONST (-2146762492) | 315 CERT_E_PATHLENCONST = (-2146762492), 261 #define CERT_E_CRITICAL (-2146762491) | 316 CERT_E_CRITICAL = (-2146762491), 262 #define CERT_E_ISSUERCHAINING (-2146762489) | 317 CERT_E_ISSUERCHAINING = (-2146762489), 263 #define CERT_E_MALFORMED (-2146762488) | 318 CERT_E_MALFORMED = (-2146762488), 264 #define CRYPT_E_REVOCATION_OFFLINE (-2146885613) | 319 CRYPT_E_REVOCATION_OFFLINE = (-2146885613), 265 #define CRYPT_E_REVOKED (-2146885616) | 320 CRYPT_E_REVOKED = (-2146885616), 266 #define TRUST_E_BASIC_CONSTRAINTS (-2146869223) | 321 TRUST_E_BASIC_CONSTRAINTS = (-2146869223), 267 #define TRUST_E_CERT_SIGNATURE (-2146869244) | 322 TRUST_E_CERT_SIGNATURE = (-2146869244), 268 #define TRUST_E_FAIL (-2146762485) | 323 TRUST_E_FAIL = (-2146762485), > 324 } > 325 > 326 enum { 269 #define CERT_TRUST_NO_ERROR 0 | 327 CERT_TRUST_NO_ERROR = 0, 270 #define CERT_TRUST_IS_NOT_TIME_VALID 1 | 328 CERT_TRUST_IS_NOT_TIME_VALID = 1, 271 #define CERT_TRUST_IS_NOT_TIME_NESTED 2 | 329 CERT_TRUST_IS_NOT_TIME_NESTED = 2, 272 #define CERT_TRUST_IS_REVOKED 4 | 330 CERT_TRUST_IS_REVOKED = 4, 273 #define CERT_TRUST_IS_NOT_SIGNATURE_VALID 8 | 331 CERT_TRUST_IS_NOT_SIGNATURE_VALID = 8, 274 #define CERT_TRUST_IS_NOT_VALID_FOR_USAGE 16 | 332 CERT_TRUST_IS_NOT_VALID_FOR_USAGE = 16, 275 #define CERT_TRUST_IS_UNTRUSTED_ROOT 32 | 333 CERT_TRUST_IS_UNTRUSTED_ROOT = 32, 276 #define CERT_TRUST_REVOCATION_STATUS_UNKNOWN 64 | 334 CERT_TRUST_REVOCATION_STATUS_UNKNOWN = 64, 277 #define CERT_TRUST_IS_CYCLIC 128 | 335 CERT_TRUST_IS_CYCLIC = 128, 278 #define CERT_TRUST_IS_PARTIAL_CHAIN 65536 | 336 CERT_TRUST_IS_PARTIAL_CHAIN = 65536, 279 #define CERT_TRUST_CTL_IS_NOT_TIME_VALID 131072 | 337 CERT_TRUST_CTL_IS_NOT_TIME_VALID = 131072, 280 #define CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID 262144 | 338 CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID = 262144, 281 #define CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE 524288 | 339 CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE = 524288, > 340 } > 341 > 342 enum { 282 #define CERT_TRUST_HAS_EXACT_MATCH_ISSUER 1 | 343 CERT_TRUST_HAS_EXACT_MATCH_ISSUER = 1, 283 #define CERT_TRUST_HAS_KEY_MATCH_ISSUER 2 | 344 CERT_TRUST_HAS_KEY_MATCH_ISSUER = 2, 284 #define CERT_TRUST_HAS_NAME_MATCH_ISSUER 4 | 345 CERT_TRUST_HAS_NAME_MATCH_ISSUER = 4, 285 #define CERT_TRUST_IS_SELF_SIGNED 8 | 346 CERT_TRUST_IS_SELF_SIGNED = 8, 286 #define CERT_TRUST_IS_COMPLEX_CHAIN 65536 | 347 CERT_TRUST_IS_COMPLEX_CHAIN = 65536, > 348 } > 349 > 350 enum { 287 #define CERT_CHAIN_POLICY_BASE ((LPCSTR) 1) | 351 CERT_CHAIN_POLICY_BASE = cast(LPCSTR) 1, 288 #define CERT_CHAIN_POLICY_AUTHENTICODE ((LPCSTR) 2) | 352 CERT_CHAIN_POLICY_AUTHENTICODE = cast(LPCSTR) 2, 289 #define CERT_CHAIN_POLICY_AUTHENTICODE_TS ((LPCSTR) 3) | 353 CERT_CHAIN_POLICY_AUTHENTICODE_TS = cast(LPCSTR) 3, 290 #define CERT_CHAIN_POLICY_SSL ((LPCSTR) 4) | 354 CERT_CHAIN_POLICY_SSL = cast(LPCSTR) 4, 291 #define CERT_CHAIN_POLICY_BASIC_CONSTRAINTS ((LPCSTR) 5) | 355 CERT_CHAIN_POLICY_BASIC_CONSTRAINTS = cast(LPCSTR) 5, 292 #define CERT_CHAIN_POLICY_NT_AUTH ((LPCSTR) 6) | 356 CERT_CHAIN_POLICY_NT_AUTH = cast(LPCSTR) 6, > 357 } > 358 > 359 enum { 293 #define USAGE_MATCH_TYPE_AND 0 | 360 USAGE_MATCH_TYPE_AND = 0, 294 #define USAGE_MATCH_TYPE_OR 1 | 361 USAGE_MATCH_TYPE_OR = 1, > 362 } > 363 > 364 enum { 295 #define CERT_SIMPLE_NAME_STR 1 | 365 CERT_SIMPLE_NAME_STR = 1, 296 #define CERT_OID_NAME_STR 2 | 366 CERT_OID_NAME_STR = 2, 297 #define CERT_X500_NAME_STR 3 | 367 CERT_X500_NAME_STR = 3, > 368 } > 369 enum { 298 #define CERT_NAME_STR_SEMICOLON_FLAG 1073741824 | 370 CERT_NAME_STR_SEMICOLON_FLAG = 1073741824, 299 #define CERT_NAME_STR_CRLF_FLAG 134217728 | 371 CERT_NAME_STR_CRLF_FLAG = 134217728, 300 #define CERT_NAME_STR_NO_PLUS_FLAG 536870912 | 372 CERT_NAME_STR_NO_PLUS_FLAG = 536870912, 301 #define CERT_NAME_STR_NO_QUOTING_FLAG 268435456 | 373 CERT_NAME_STR_NO_QUOTING_FLAG = 268435456, 302 #define CERT_NAME_STR_REVERSE_FLAG 33554432 | 374 CERT_NAME_STR_REVERSE_FLAG = 33554432, 303 #define CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG 131072 | 375 CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG = 131072, > 376 } > 377 > 378 enum { 304 #define CERT_FIND_ANY 0 | 379 CERT_FIND_ANY = 0, 305 #define CERT_FIND_CERT_ID 1048576 | 380 CERT_FIND_CERT_ID = 1048576, 306 #define CERT_FIND_CTL_USAGE 655360 | 381 CERT_FIND_CTL_USAGE = 655360, 307 #define CERT_FIND_ENHKEY_USAGE 655360 | 382 CERT_FIND_ENHKEY_USAGE = 655360, 308 #define CERT_FIND_EXISTING 851968 | 383 CERT_FIND_EXISTING = 851968, 309 #define CERT_FIND_HASH 65536 | 384 CERT_FIND_HASH = 65536, 310 #define CERT_FIND_ISSUER_ATTR 196612 | 385 CERT_FIND_ISSUER_ATTR = 196612, 311 #define CERT_FIND_ISSUER_NAME 131076 | 386 CERT_FIND_ISSUER_NAME = 131076, 312 #define CERT_FIND_ISSUER_OF 786432 | 387 CERT_FIND_ISSUER_OF = 786432, 313 #define CERT_FIND_KEY_IDENTIFIER 983040 | 388 CERT_FIND_KEY_IDENTIFIER = 983040, 314 #define CERT_FIND_KEY_SPEC 589824 | 389 CERT_FIND_KEY_SPEC = 589824, 315 #define CERT_FIND_MD5_HASH 262144 | 390 CERT_FIND_MD5_HASH = 262144, 316 #define CERT_FIND_PROPERTY 327680 | 391 CERT_FIND_PROPERTY = 327680, 317 #define CERT_FIND_PUBLIC_KEY 393216 | 392 CERT_FIND_PUBLIC_KEY = 393216, 318 #define CERT_FIND_SHA1_HASH 65536 | 393 CERT_FIND_SHA1_HASH = 65536, 319 #define CERT_FIND_SIGNATURE_HASH 917504 | 394 CERT_FIND_SIGNATURE_HASH = 917504, 320 #define CERT_FIND_SUBJECT_ATTR 196615 | 395 CERT_FIND_SUBJECT_ATTR = 196615, 321 #define CERT_FIND_SUBJECT_CERT 720896 | 396 CERT_FIND_SUBJECT_CERT = 720896, 322 #define CERT_FIND_SUBJECT_NAME 131079 | 397 CERT_FIND_SUBJECT_NAME = 131079, 323 #define CERT_FIND_SUBJECT_STR_A 458759 | 398 CERT_FIND_SUBJECT_STR_A = 458759, 324 #define CERT_FIND_SUBJECT_STR_W 524295 | 399 CERT_FIND_SUBJECT_STR_W = 524295, 325 #define CERT_FIND_ISSUER_STR_A 458756 | 400 CERT_FIND_ISSUER_STR_A = 458756, 326 #define CERT_FIND_ISSUER_STR_W 524292 | 401 CERT_FIND_ISSUER_STR_W = 524292, > 402 } > 403 > 404 enum { 327 #define CERT_FIND_OR_ENHKEY_USAGE_FLAG 16 | 405 CERT_FIND_OR_ENHKEY_USAGE_FLAG = 16, 328 #define CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG 1 | 406 CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG = 1, 329 #define CERT_FIND_NO_ENHKEY_USAGE_FLAG 8 | 407 CERT_FIND_NO_ENHKEY_USAGE_FLAG = 8, 330 #define CERT_FIND_VALID_ENHKEY_USAGE_FLAG 32 | 408 CERT_FIND_VALID_ENHKEY_USAGE_FLAG = 32, 331 #define CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG 2 | 409 CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG = 2, > 410 } > 411 > 412 enum { 332 #define CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG 2 | 413 CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG = 2, 333 #define CERT_UNICODE_IS_RDN_ATTRS_FLAG 1 | 414 CERT_UNICODE_IS_RDN_ATTRS_FLAG = 1, 334 #define CERT_CHAIN_FIND_BY_ISSUER 1 | 415 CERT_CHAIN_FIND_BY_ISSUER = 1, > 416 } > 417 > 418 enum { 335 #define CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG 1 | 419 CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG = 1, 336 #define CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG 2 | 420 CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG = 2, 337 #define CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG 32768 < 338 #define CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG 4 | 421 CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG = 4, 339 #define CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG 8 | 422 CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG = 8, 340 #define CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG 16384 | 423 CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG = 16384, > 424 CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG = 32768, > 425 } > 426 > 427 enum { 341 #define CERT_STORE_PROV_SYSTEM 10 | 428 CERT_STORE_PROV_SYSTEM = 10, 342 #define CERT_SYSTEM_STORE_LOCAL_MACHINE 131072 | 429 CERT_SYSTEM_STORE_LOCAL_MACHINE = 131072, > 430 } > 431 > 432 enum { 343 #define szOID_PKIX_KP_SERVER_AUTH "4235600" | 433 szOID_PKIX_KP_SERVER_AUTH = "4235600", 344 #define szOID_SERVER_GATED_CRYPTO "4235658" | 434 szOID_SERVER_GATED_CRYPTO = "4235658", 345 #define szOID_SGC_NETSCAPE "2.16.840.1.113730.4.1" | 435 szOID_SGC_NETSCAPE = "2.16.840.1.113730.4.1", 346 #define szOID_PKIX_KP_CLIENT_AUTH "1.3.6.1.5.5.7.3.2" | 436 szOID_PKIX_KP_CLIENT_AUTH = "1.3.6.1.5.5.7.3.2", > 437 } > 438 > 439 enum { 347 #define CRYPT_NOHASHOID 0x00000001 | 440 CRYPT_NOHASHOID = 0x00000001, 348 #define CRYPT_NO_SALT 0x10 | 441 CRYPT_NO_SALT = 0x10, 349 #define CRYPT_PREGEN 0x40 | 442 CRYPT_PREGEN = 0x40, > 443 } > 444 > 445 enum { 350 #define CRYPT_RECIPIENT 0x10 | 446 CRYPT_RECIPIENT = 0x10, 351 #define CRYPT_INITIATOR 0x40 | 447 CRYPT_INITIATOR = 0x40, 352 #define CRYPT_ONLINE 0x80 | 448 CRYPT_ONLINE = 0x80, 353 #define CRYPT_SF 0x100 | 449 CRYPT_SF = 0x100, 354 #define CRYPT_CREATE_IV 0x200 | 450 CRYPT_CREATE_IV = 0x200, 355 #define CRYPT_KEK 0x400 | 451 CRYPT_KEK = 0x400, 356 #define CRYPT_DATA_KEY 0x800 | 452 CRYPT_DATA_KEY = 0x800, 357 #define CRYPT_VOLATILE 0x1000 | 453 CRYPT_VOLATILE = 0x1000, 358 #define CRYPT_SGCKEY 0x2000 | 454 CRYPT_SGCKEY = 0x2000, > 455 } > 456 > 457 enum { 359 #define KP_IV 0x00000001 | 458 KP_IV = 0x00000001, 360 #define KP_SALT 0x00000002 | 459 KP_SALT = 0x00000002, 361 #define KP_PADDING 0x00000003 | 460 KP_PADDING = 0x00000003, 362 #define KP_MODE 0x00000004 | 461 KP_MODE = 0x00000004, 363 #define KP_MODE_BITS 0x00000005 | 462 KP_MODE_BITS = 0x00000005, 364 #define KP_PERMISSIONS 0x00000006 | 463 KP_PERMISSIONS = 0x00000006, 365 #define KP_ALGID 0x00000007 | 464 KP_ALGID = 0x00000007, 366 #define KP_BLOCKLEN 0x00000008 | 465 KP_BLOCKLEN = 0x00000008, 367 #define KP_KEYLEN 0x00000009 | 466 KP_KEYLEN = 0x00000009, 368 #define KP_SALT_EX 0x0000000a | 467 KP_SALT_EX = 0x0000000a, 369 #define KP_P 0x0000000b | 468 KP_P = 0x0000000b, 370 #define KP_G 0x0000000c | 469 KP_G = 0x0000000c, 371 #define KP_Q 0x0000000d | 470 KP_Q = 0x0000000d, 372 #define KP_X 0x0000000e | 471 KP_X = 0x0000000e, 373 #define KP_Y 0x0000000f | 472 KP_Y = 0x0000000f, 374 #define KP_RA 0x00000010 | 473 KP_RA = 0x00000010, 375 #define KP_RB 0x00000011 | 474 KP_RB = 0x00000011, 376 #define KP_INFO 0x00000012 | 475 KP_INFO = 0x00000012, 377 #define KP_EFFECTIVE_KEYLEN 0x00000013 | 476 KP_EFFECTIVE_KEYLEN = 0x00000013, 378 #define KP_SCHANNEL_ALG 0x00000014 | 477 KP_SCHANNEL_ALG = 0x00000014, 379 #define KP_PUB_PARAMS 0x00000027 | 478 KP_PUB_PARAMS = 0x00000027, > 479 } > 480 > 481 enum { 380 #define CRYPT_FLAG_PCT1 0x0001 | 482 CRYPT_FLAG_PCT1 = 0x0001, 381 #define CRYPT_FLAG_SSL2 0x0002 | 483 CRYPT_FLAG_SSL2 = 0x0002, 382 #define CRYPT_FLAG_SSL3 0x0004 | 484 CRYPT_FLAG_SSL3 = 0x0004, 383 #define CRYPT_FLAG_TLS1 0x0008 | 485 CRYPT_FLAG_TLS1 = 0x0008, 384 #define CRYPT_FLAG_IPSEC 0x0010 | 486 CRYPT_FLAG_IPSEC = 0x0010, 385 #define CRYPT_FLAG_SIGNING 0x0020 | 487 CRYPT_FLAG_SIGNING = 0x0020, > 488 } > 489 > 490 enum { 386 #define SCHANNEL_MAC_KEY 0x00000000 | 491 SCHANNEL_MAC_KEY = 0x00000000, 387 #define SCHANNEL_ENC_KEY 0x00000001 | 492 SCHANNEL_ENC_KEY = 0x00000001, > 493 } > 494 > 495 enum { 388 #define INTERNATIONAL_USAGE 0x00000001 | 496 INTERNATIONAL_USAGE = 0x00000001, 389 +/ < > 497 } > 498 390 499 391 alias UINT ALG_ID; 500 alias UINT ALG_ID; 392 alias ULONG HCRYPTPROV, HCRYPTKEY, HCRYPTHASH; 501 alias ULONG HCRYPTPROV, HCRYPTKEY, HCRYPTHASH; 393 alias PVOID HCERTSTORE, HCRYPTMSG, HCERTCHAINENGINE; 502 alias PVOID HCERTSTORE, HCRYPTMSG, HCERTCHAINENGINE; 394 503 395 struct VTableProvStruc { 504 struct VTableProvStruc { 396 FARPROC FuncVerifyImage; 505 FARPROC FuncVerifyImage; ................................................................................................................................................................................ 484 struct CERT_CONTEXT { 593 struct CERT_CONTEXT { 485 DWORD dwCertEncodingType; 594 DWORD dwCertEncodingType; 486 BYTE* pbCertEncoded; 595 BYTE* pbCertEncoded; 487 DWORD cbCertEncoded; 596 DWORD cbCertEncoded; 488 PCERT_INFO pCertInfo; 597 PCERT_INFO pCertInfo; 489 HCERTSTORE hCertStore; 598 HCERTSTORE hCertStore; 490 } 599 } 491 alias CERT_CONTEXT* PCERT_CONTEXT; | 600 alias CERT_CONTEXT* PCERT_CONTEXT; 492 alias CPtr!(CERT_CONTEXT) PCCERT_CONTEXT; | 601 alias const(CERT_CONTEXT)* PCCERT_CONTEXT; 493 602 494 struct CTL_USAGE { 603 struct CTL_USAGE { 495 DWORD cUsageIdentifier; 604 DWORD cUsageIdentifier; 496 LPSTR* rgpszUsageIdentifier; 605 LPSTR* rgpszUsageIdentifier; 497 } 606 } 498 alias CTL_USAGE CERT_ENHKEY_USAGE; 607 alias CTL_USAGE CERT_ENHKEY_USAGE; 499 alias CTL_USAGE* PCTRL_USAGE, PCERT_ENHKEY_USAGE; 608 alias CTL_USAGE* PCTRL_USAGE, PCERT_ENHKEY_USAGE; ................................................................................................................................................................................ 565 struct CRL_CONTEXT { 674 struct CRL_CONTEXT { 566 DWORD dwCertEncodingType; 675 DWORD dwCertEncodingType; 567 BYTE* pbCrlEncoded; 676 BYTE* pbCrlEncoded; 568 DWORD cbCrlEncoded; 677 DWORD cbCrlEncoded; 569 PCRL_INFO pCrlInfo; 678 PCRL_INFO pCrlInfo; 570 HCERTSTORE hCertStore; 679 HCERTSTORE hCertStore; 571 } 680 } 572 alias CRL_CONTEXT* PCRL_CONTEXT; | 681 alias CRL_CONTEXT* PCRL_CONTEXT; 573 alias CPtr!(CRL_CONTEXT) PCCRL_CONTEXT; | 682 alias const(CRL_CONTEXT)* PCCRL_CONTEXT; 574 683 575 struct CERT_REVOCATION_CRL_INFO { 684 struct CERT_REVOCATION_CRL_INFO { 576 DWORD cbSize = CERT_REVOCATION_CRL_INFO.sizeof; 685 DWORD cbSize = CERT_REVOCATION_CRL_INFO.sizeof; 577 PCCRL_CONTEXT pBaseCRLContext; 686 PCCRL_CONTEXT pBaseCRLContext; 578 PCCRL_CONTEXT pDeltaCRLContext; 687 PCCRL_CONTEXT pDeltaCRLContext; 579 PCRL_ENTRY pCrlEntry; 688 PCRL_ENTRY pCrlEntry; 580 BOOL fDeltaCrlEntry; 689 BOOL fDeltaCrlEntry; ................................................................................................................................................................................ 639 DWORD cbCtlEncoded; 748 DWORD cbCtlEncoded; 640 PCTL_INFO pCtlInfo; 749 PCTL_INFO pCtlInfo; 641 HCERTSTORE hCertStore; 750 HCERTSTORE hCertStore; 642 HCRYPTMSG hCryptMsg; 751 HCRYPTMSG hCryptMsg; 643 BYTE* pbCtlContent; 752 BYTE* pbCtlContent; 644 DWORD cbCtlContent; 753 DWORD cbCtlContent; 645 } 754 } 646 alias CTL_CONTEXT* PCTL_CONTEXT; | 755 alias CTL_CONTEXT* PCTL_CONTEXT; 647 alias CPtr!(CTL_CONTEXT) PCCTL_CONTEXT; | 756 alias const(CTL_CONTEXT)* PCCTL_CONTEXT; 648 757 649 struct CERT_TRUST_LIST_INFO { 758 struct CERT_TRUST_LIST_INFO { 650 DWORD cbSize = CERT_TRUST_LIST_INFO.sizeof; 759 DWORD cbSize = CERT_TRUST_LIST_INFO.sizeof; 651 PCTL_ENTRY pCtlEntry; 760 PCTL_ENTRY pCtlEntry; 652 PCCTL_CONTEXT pCtlContext; 761 PCCTL_CONTEXT pCtlContext; 653 } 762 } 654 alias CERT_TRUST_LIST_INFO* PCERT_TRUST_LIST_INFO; 763 alias CERT_TRUST_LIST_INFO* PCERT_TRUST_LIST_INFO; ................................................................................................................................................................................ 661 PCERT_TRUST_LIST_INFO pTrustListInfo; 770 PCERT_TRUST_LIST_INFO pTrustListInfo; 662 BOOL fHasRevocationFreshnessTime; 771 BOOL fHasRevocationFreshnessTime; 663 DWORD dwRevocationFreshnessTime; 772 DWORD dwRevocationFreshnessTime; 664 } 773 } 665 alias CERT_SIMPLE_CHAIN* PCERT_SIMPLE_CHAIN; 774 alias CERT_SIMPLE_CHAIN* PCERT_SIMPLE_CHAIN; 666 775 667 /* #if (_WIN32_WINNT>=0x500) */ 776 /* #if (_WIN32_WINNT>=0x500) */ 668 alias CPtr!(CERT_CHAIN_CONTEXT) PCCERT_CHAIN_CONTEXT; | 777 alias const(CERT_CHAIN_CONTEXT)* PCCERT_CHAIN_CONTEXT; 669 struct CERT_CHAIN_CONTEXT { 778 struct CERT_CHAIN_CONTEXT { 670 DWORD cbSize = CERT_CHAIN_CONTEXT.sizeof; 779 DWORD cbSize = CERT_CHAIN_CONTEXT.sizeof; 671 CERT_TRUST_STATUS TrustStatus; 780 CERT_TRUST_STATUS TrustStatus; 672 DWORD cChain; 781 DWORD cChain; 673 PCERT_SIMPLE_CHAIN* rgpChain; 782 PCERT_SIMPLE_CHAIN* rgpChain; 674 DWORD cLowerQualityChainContext; 783 DWORD cLowerQualityChainContext; 675 PCCERT_CHAIN_CONTEXT* rgpLowerQualityChainContext; 784 PCCERT_CHAIN_CONTEXT* rgpLowerQualityChainContext; ................................................................................................................................................................................ 716 BOOL CertVerifyCertificateChainPolicy(LPCSTR, PCCERT_CHAIN_CONTEXT, 825 BOOL CertVerifyCertificateChainPolicy(LPCSTR, PCCERT_CHAIN_CONTEXT, 717 PCERT_CHAIN_POLICY_PARA, PCERT_CHAIN_POLICY_STATUS); 826 PCERT_CHAIN_POLICY_PARA, PCERT_CHAIN_POLICY_STATUS); 718 void CertFreeCertificateChain(PCCERT_CHAIN_CONTEXT); 827 void CertFreeCertificateChain(PCCERT_CHAIN_CONTEXT); 719 DWORD CertNameToStrA(DWORD, PCERT_NAME_BLOB, DWORD, LPSTR, DWORD); 828 DWORD CertNameToStrA(DWORD, PCERT_NAME_BLOB, DWORD, LPSTR, DWORD); 720 DWORD CertNameToStrW(DWORD, PCERT_NAME_BLOB, DWORD, LPWSTR, DWORD); 829 DWORD CertNameToStrW(DWORD, PCERT_NAME_BLOB, DWORD, LPWSTR, DWORD); 721 HCERTSTORE CertOpenSystemStoreA(HCRYPTPROV, LPCSTR); 830 HCERTSTORE CertOpenSystemStoreA(HCRYPTPROV, LPCSTR); 722 HCERTSTORE CertOpenSystemStoreW(HCRYPTPROV, LPCWSTR); 831 HCERTSTORE CertOpenSystemStoreW(HCRYPTPROV, LPCWSTR); 723 HCERTSTORE CertOpenStore(LPCSTR, DWORD, HCRYPTPROV, DWORD, CPtr!(void)); | 832 HCERTSTORE CertOpenStore(LPCSTR, DWORD, HCRYPTPROV, DWORD, const(void)*) 724 PCCERT_CONTEXT CertFindCertificateInStore(HCERTSTORE, DWORD, DWORD, DWOR 833 PCCERT_CONTEXT CertFindCertificateInStore(HCERTSTORE, DWORD, DWORD, DWOR 725 CPtr!(void), PCCERT_CONTEXT); | 834 const(void)*, PCCERT_CONTEXT); 726 BOOL CertFreeCertificateContext(PCCERT_CONTEXT); 835 BOOL CertFreeCertificateContext(PCCERT_CONTEXT); 727 PCCERT_CONTEXT CertGetIssuerCertificateFromStore(HCERTSTORE, 836 PCCERT_CONTEXT CertGetIssuerCertificateFromStore(HCERTSTORE, 728 PCCERT_CONTEXT, PCCERT_CONTEXT, DWORD*); 837 PCCERT_CONTEXT, PCCERT_CONTEXT, DWORD*); 729 PCCERT_CHAIN_CONTEXT CertFindChainInStore(HCERTSTORE, DWORD, DWORD, DWOR 838 PCCERT_CHAIN_CONTEXT CertFindChainInStore(HCERTSTORE, DWORD, DWORD, DWOR 730 CPtr!(void), PCCERT_CHAIN_CONTEXT); | 839 const(void)*, PCCERT_CHAIN_CONTEXT); 731 840 732 BOOL CryptAcquireContextA(HCRYPTPROV*, LPCSTR, LPCSTR, DWORD, DWORD); 841 BOOL CryptAcquireContextA(HCRYPTPROV*, LPCSTR, LPCSTR, DWORD, DWORD); 733 BOOL CryptAcquireContextW(HCRYPTPROV*, LPCWSTR, LPCWSTR, DWORD, DWORD); 842 BOOL CryptAcquireContextW(HCRYPTPROV*, LPCWSTR, LPCWSTR, DWORD, DWORD); 734 BOOL CryptContextAddRef(HCRYPTPROV, DWORD*, DWORD); 843 BOOL CryptContextAddRef(HCRYPTPROV, DWORD*, DWORD); 735 BOOL CryptReleaseContext(HCRYPTPROV, DWORD); 844 BOOL CryptReleaseContext(HCRYPTPROV, DWORD); 736 BOOL CryptGenKey(HCRYPTPROV, ALG_ID, DWORD, HCRYPTKEY*); 845 BOOL CryptGenKey(HCRYPTPROV, ALG_ID, DWORD, HCRYPTKEY*); 737 BOOL CryptDeriveKey(HCRYPTPROV, ALG_ID, HCRYPTHASH, DWORD, HCRYPTKEY*); 846 BOOL CryptDeriveKey(HCRYPTPROV, ALG_ID, HCRYPTHASH, DWORD, HCRYPTKEY*); 738 BOOL CryptDestroyKey(HCRYPTKEY); 847 BOOL CryptDestroyKey(HCRYPTKEY); 739 static if (WINVER >= 0x0500) { | 848 static if (_WIN32_WINNT >= 0x500) { 740 BOOL CryptDuplicateHash(HCRYPTHASH, DWORD*, DWORD, HCRYPTHASH*); 849 BOOL CryptDuplicateHash(HCRYPTHASH, DWORD*, DWORD, HCRYPTHASH*); 741 BOOL CryptDuplicateKey(HCRYPTKEY, DWORD*, DWORD, HCRYPTKEY*); 850 BOOL CryptDuplicateKey(HCRYPTKEY, DWORD*, DWORD, HCRYPTKEY*); 742 } 851 } 743 BOOL CryptSetKeyParam(HCRYPTKEY, DWORD, PBYTE, DWORD); 852 BOOL CryptSetKeyParam(HCRYPTKEY, DWORD, PBYTE, DWORD); 744 BOOL CryptGetKeyParam(HCRYPTKEY, DWORD, PBYTE, PDWORD, DWORD); 853 BOOL CryptGetKeyParam(HCRYPTKEY, DWORD, PBYTE, PDWORD, DWORD); 745 BOOL CryptSetHashParam(HCRYPTHASH, DWORD, PBYTE, DWORD); 854 BOOL CryptSetHashParam(HCRYPTHASH, DWORD, PBYTE, DWORD); 746 BOOL CryptGetHashParam(HCRYPTHASH, DWORD, PBYTE, PDWORD, DWORD); 855 BOOL CryptGetHashParam(HCRYPTHASH, DWORD, PBYTE, PDWORD, DWORD);

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

1 < 2 /***********************************************************************\ 1 /***********************************************************************\ 3 * windef.d * 2 * windef.d * 4 * * 3 * * 5 * Windows API header module * 4 * Windows API header module * 6 * * 5 * * 7 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 8 * by Stewart Gordon * 7 * by Stewart Gordon * ................................................................................................................................................................................ 12 module win32.windef; 11 module win32.windef; 13 12 14 public import win32.winnt; 13 public import win32.winnt; 15 private import win32.w32api; 14 private import win32.w32api; 16 15 17 const size_t MAX_PATH = 260; 16 const size_t MAX_PATH = 260; 18 17 19 ushort MAKEWORD(ubyte a, ubyte b) | 18 ushort MAKEWORD(ubyte a, ubyte b) { > 19 return cast(ushort) ((b << 8) | a); > 20 } 20 { | 21 > 22 ushort MAKEWORD(ushort a, ushort b) { > 23 assert((a & 0xFF00) == 0); > 24 assert((b & 0xFF00) == 0); > 25 return MAKEWORD(cast(ubyte)a, cast(ubyte)b); > 26 } > 27 > 28 uint MAKELONG(ushort a, ushort b) { > 29 return cast(uint) ((b << 16) | a); > 30 } > 31 > 32 uint MAKELONG(uint a, uint b) { > 33 assert((a & 0xFFFF0000) == 0); > 34 assert((b & 0xFFFF0000) == 0); > 35 return MAKELONG(cast(ushort)a, cast(ushort)b); > 36 } > 37 > 38 ushort LOWORD(ulong l) { 21 return cast(ushort) ((b << 8) | a); | 39 return cast(ushort) l; > 40 } > 41 > 42 ushort HIWORD(ulong l) { > 43 return cast(ushort) (l >>> 16); 22 } 44 } 23 45 24 < 25 uint MAKELONG(ushort a, ushort b) < 26 { < > 46 ubyte LOBYTE(ushort w) { 27 return cast(uint) ((b << 16) | a); | 47 return cast(ubyte) w; 28 } 48 } 29 49 30 < 31 ushort LOWORD(uint l) < 32 { < > 50 ubyte HIBYTE(ushort w) { 33 return cast(ushort) l; | 51 return cast(ubyte) (w >>> 8); 34 } < 35 < 36 < 37 ushort HIWORD(uint l) < 38 { < 39 return cast(ushort) (l >>> 16); < 40 } 52 } 41 53 42 < 43 ubyte LOBYTE(ushort w) < 44 { < 45 return cast(ubyte) w; < 46 } < 47 < 48 < 49 ubyte HIBYTE(ushort w) < 50 { < 51 return cast(ubyte) (w >>> 8); < 52 } < 53 < 54 < 55 /+ template max(T) { | 54 template max(T) { 56 T max(T a, T b) | 55 T max(T a, T b) { 57 { < 58 return a > b ? a : b; | 56 return a > b ? a : b; 59 } | 57 } 60 } 58 } 61 59 62 template min(T) { 60 template min(T) { 63 T min(T a, T b) | 61 T min(T a, T b) { 64 { < 65 return a < b ? a : b; | 62 return a < b ? a : b; 66 } | 63 } 67 } +/ < > 64 } 68 65 69 enum NULL = null; | 66 enum void* NULL = null; 70 //~ alias null NULL; < 71 //~ const void *NULL = null; < 72 alias ubyte BYTE; | 67 alias ubyte BYTE; 73 alias ubyte *PBYTE, LPBYTE; | 68 alias ubyte* PBYTE, LPBYTE; 74 alias ushort USHORT, WORD, ATOM; | 69 alias ushort USHORT, WORD, ATOM; 75 alias ushort*PUSHORT, PWORD, LPWORD; | 70 alias ushort* PUSHORT, PWORD, LPWORD; 76 alias uint ULONG, DWORD, UINT, COLORREF; | 71 alias uint ULONG, DWORD, UINT, COLORREF; 77 alias uint *PULONG, PDWORD, LPDWORD, PUINT, LPUINT; | 72 alias uint* PULONG, PDWORD, LPDWORD, PUINT, LPUINT; 78 alias int WINBOOL, BOOL, INT, LONG, HFILE, HRESULT; | 73 alias int WINBOOL, BOOL, INT, LONG, HFILE, HRESULT; 79 alias int*PWINBOOL, LPWINBOOL, PBOOL, LPBOOL, PINT, LPINT, LPLONG; | 74 alias int* PWINBOOL, LPWINBOOL, PBOOL, LPBOOL, PINT, LPINT, LPLONG; 80 alias float FLOAT; | 75 alias float FLOAT; 81 alias float*PFLOAT; | 76 alias float* PFLOAT; 82 alias CPtr!(void) PCVOID, LPCVOID; | 77 alias const(void)* PCVOID, LPCVOID; 83 78 84 alias UINT_PTR WPARAM; 79 alias UINT_PTR WPARAM; 85 alias LONG_PTR LPARAM, LRESULT; 80 alias LONG_PTR LPARAM, LRESULT; 86 81 87 alias HANDLE HGLOBAL, HLOCAL, GLOBALHANDLE, LOCALHANDLE, HGDIOBJ, HACCEL, | 82 mixin DECLARE_HANDLE!("HGLOBAL"); 88 HBITMAP, HBRUSH, HCOLORSPACE, HDC, HGLRC, HDESK, HENHMETAFILE, HFON | 83 mixin DECLARE_HANDLE!("HLOCAL"); 89 HICON, HINSTANCE, HKEY, HMENU, HMETAFILE, HMODULE, HMONITOR, HPALET | 84 mixin DECLARE_HANDLE!("GLOBALHANDLE"); 90 HRGN, HRSRC, HSTR, HTASK, HWND, HWINSTA, HKL, HCURSOR; | 85 mixin DECLARE_HANDLE!("LOCALHANDLE"); > 86 mixin DECLARE_HANDLE!("HGDIOBJ"); > 87 mixin DECLARE_HANDLE!("HACCEL"); > 88 mixin DECLARE_HANDLE!("HBITMAP", HGDIOBJ); > 89 mixin DECLARE_HANDLE!("HBRUSH", HGDIOBJ); > 90 mixin DECLARE_HANDLE!("HCOLORSPACE"); > 91 mixin DECLARE_HANDLE!("HDC"); > 92 mixin DECLARE_HANDLE!("HGLRC"); > 93 mixin DECLARE_HANDLE!("HDESK"); > 94 mixin DECLARE_HANDLE!("HENHMETAFILE"); > 95 mixin DECLARE_HANDLE!("HFONT", HGDIOBJ); > 96 mixin DECLARE_HANDLE!("HICON"); > 97 mixin DECLARE_HANDLE!("HINSTANCE"); > 98 mixin DECLARE_HANDLE!("HKEY"); > 99 mixin DECLARE_HANDLE!("HMENU"); > 100 mixin DECLARE_HANDLE!("HMETAFILE"); > 101 mixin DECLARE_HANDLE!("HMODULE"); > 102 mixin DECLARE_HANDLE!("HMONITOR"); > 103 mixin DECLARE_HANDLE!("HPALETTE"); > 104 mixin DECLARE_HANDLE!("HPEN", HGDIOBJ); > 105 mixin DECLARE_HANDLE!("HRGN", HGDIOBJ); > 106 mixin DECLARE_HANDLE!("HRSRC"); > 107 mixin DECLARE_HANDLE!("HSTR"); > 108 mixin DECLARE_HANDLE!("HTASK"); > 109 mixin DECLARE_HANDLE!("HWND"); > 110 mixin DECLARE_HANDLE!("HWINSTA"); > 111 mixin DECLARE_HANDLE!("HKL"); > 112 mixin DECLARE_HANDLE!("HCURSOR"); 91 alias HANDLE*PHKEY; | 113 alias HKEY* PHKEY; 92 < 93 static < 94 114 95 if (WINVER >= 0x500) | 115 static if (_WIN32_WINNT >= 0x500) { 96 { < > 116 mixin DECLARE_HANDLE!("HTERMINAL"); 97 alias HANDLE HTERMINAL, HWINEVENTHOOK; | 117 mixin DECLARE_HANDLE!("HWINEVENTHOOK"); 98 } 118 } 99 119 100 alias extern (Windows) int function() FARPROC, NEARPROC, PROC; | 120 alias extern (Windows) INT_PTR function() FARPROC, NEARPROC, PROC; 101 121 102 struct RECT | 122 struct RECT { 103 { < 104 LONG left; | 123 LONG left; 105 LONG top; | 124 LONG top; 106 LONG right; | 125 LONG right; 107 LONG bottom; | 126 LONG bottom; 108 } 127 } 109 alias RECT RECTL; 128 alias RECT RECTL; 110 alias RECT*PRECT, LPRECT, PRECTL, LPRECTL; | 129 alias RECT* PRECT, LPRECT, PRECTL, LPRECTL; 111 alias CPtr!(RECT) LPCRECT, LPCRECTL; | 130 alias const(RECT)* LPCRECT, LPCRECTL; 112 131 113 struct POINT | 132 struct POINT { 114 { < 115 LONG x; | 133 LONG x; 116 LONG y; | 134 LONG y; 117 alias x e1; < 118 alias y e2; < 119 } 135 } 120 alias POINT POINTL; 136 alias POINT POINTL; 121 alias POINT*PPOINT, LPPOINT, PPOINTL, LPPOINTL; | 137 alias POINT* PPOINT, LPPOINT, PPOINTL, LPPOINTL; 122 138 123 struct SIZE | 139 struct SIZE { 124 { < 125 LONG cx; | 140 LONG cx; 126 LONG cy; | 141 LONG cy; 127 } 142 } 128 alias SIZE SIZEL; 143 alias SIZE SIZEL; 129 alias SIZE*PSIZE, LPSIZE, PSIZEL, LPSIZEL; | 144 alias SIZE* PSIZE, LPSIZE, PSIZEL, LPSIZEL; 130 145 131 struct POINTS | 146 struct POINTS { 132 { < 133 SHORT x; | 147 SHORT x; 134 SHORT y; | 148 SHORT y; 135 } 149 } 136 alias POINTS*PPOINTS, LPPOINTS; | 150 alias POINTS* PPOINTS, LPPOINTS; 137 151 138 enum : BOOL { 152 enum : BOOL { 139 FALSE = 0, | 153 FALSE = 0, 140 TRUE = 1 | 154 TRUE = 1 141 } 155 }

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

1 /***********************************************************************\ 1 /***********************************************************************\ 2 * windows.d * 2 * windows.d * 3 * * 3 * * 4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW API for MS-Windows 3.10 * | 6 * Translated from MinGW API for MS-Windows 4.0 * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.windows; 10 module win32.windows; 11 11 12 /* 12 /* 13 windows.h - main header file for the Win32 API 13 windows.h - main header file for the Win32 API ................................................................................................................................................................................ 21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 22 22 23 */ 23 */ 24 24 25 public import win32.w32api; 25 public import win32.w32api; 26 public import win32.core; 26 public import win32.core; 27 27 28 // We can't use static if for imports, build gets confused. < 29 version (WindowsVista) { < 30 public import win32.winsvc; < 31 } else version (Windows2003) { < 32 public import win32.winsvc; < 33 } else version (WindowsXP) { < 34 public import win32.winsvc; < 35 } else version (WindowsNTonly) { < 36 public import win32.winsvc; < 37 } < 38 < 39 public import win32.cderr; 28 public import win32.cderr; 40 public import win32.dde; 29 public import win32.dde; 41 public import win32.ddeml; 30 public import win32.ddeml; 42 public import win32.dlgs; 31 public import win32.dlgs; 43 public import win32.imm; 32 public import win32.imm; 44 public import win32.lzexpand; 33 public import win32.lzexpand; 45 public import win32.mmsystem; 34 public import win32.mmsystem; 46 public import win32.nb30; 35 public import win32.nb30; 47 < 48 < > 36 public import win32.winsvc; 49 37 50 public import win32.rpc; 38 public import win32.rpc; 51 public import win32.shellapi; 39 public import win32.shellapi; 52 public import win32.winperf; 40 public import win32.winperf; 53 public import win32.commdlg; 41 public import win32.commdlg; 54 public import win32.winspool; 42 public import win32.winspool; 55 public import win32.ole2; 43 public import win32.ole2; ................................................................................................................................................................................ 60 public import win32.winsock; 48 public import win32.winsock; 61 } else { 49 } else { 62 public import win32.winsock2; 50 public import win32.winsock2; 63 public import win32.ws2tcpip; 51 public import win32.ws2tcpip; 64 } 52 } 65 53 66 /+ 54 /+ 67 #if (_WIN32_WINNT >= 0x0400) | 55 #if (_WIN32_WINNT >= 0x400) 68 #include <winsock2.h> 56 #include <winsock2.h> 69 /* 57 /* 70 * MS likes to include mswsock.h here as well, 58 * MS likes to include mswsock.h here as well, 71 * but that can cause undefined symbols if 59 * but that can cause undefined symbols if 72 * winsock2.h is included before windows.h 60 * winsock2.h is included before windows.h 73 */ 61 */ 74 #else 62 #else 75 #include <winsock.h> 63 #include <winsock.h> 76 #endif /* (_WIN32_WINNT >= 0x0400) */ | 64 #endif /* (_WIN32_WINNT >= 0x400) */ 77 +/ 65 +/

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

Modified src/win32/wingdi.d from [831d9d5a2951cb99] to [5fb8f5b21d4e8b04].

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

Added src/win32/winhttp.d version [8de3ce2cdcaacc84]

> 1 /***********************************************************************\ > 2 * winhttp.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Translated from Windows SDK Headers * > 7 * * > 8 * Placed into public domain * > 9 \***********************************************************************/ > 10 module win32.winhttp; > 11 pragma(lib, "winhttp"); > 12 // FIXME: Grouping of constants. Windows SDK doesn't make this entirely clear > 13 // FIXME: Verify WINHTTP_STATUS_CALLBACK function declaration works correctly > 14 > 15 import win32.w32api; > 16 import win32.winbase; > 17 import win32.windef; > 18 import win32.winsock2; // Selective Imports BUG (: SOCKADDR_STORAGE;) > 19 > 20 alias HINTERNET = void*; > 21 alias LPHINTERNET = HINTERNET*; > 22 alias INTERNET_PORT = WORD; > 23 alias LPINTERNET_PORT = INTERNET_PORT*; > 24 alias INTERNET_SCHEME = int; > 25 alias LPINTERNET_SCHEME = INTERNET_SCHEME*; > 26 > 27 // Protocol 'Manifests' > 28 enum : DWORD { > 29 INTERNET_DEFAULT_PORT = 0, > 30 INTERNET_DEFAULT_HTTP_PORT = 80, > 31 INTERNET_DEFAULT_HTTPS_PORT = 443 > 32 } > 33 > 34 // WinHttpOpen() Flags: > 35 enum DWORD WINHTTP_FLAG_ASYNC = 0x10000000; > 36 > 37 // WinHttpOpenRequest() Flags: > 38 enum : DWORD { > 39 WINHTTP_FLAG_SECURE = 0x00800000, > 40 WINHTTP_FLAG_ESCAPE_PERCENT = 0x00000004, > 41 WINHTTP_FLAG_NULL_CODEPAGE = 0x00000008, > 42 WINHTTP_FLAG_BYPASS_PROXY_CACHE = 0x00000100, > 43 WINHTTP_FLAG_REFRESH = WINHTTP_FLAG_BYPASS_PROXY_CACHE, > 44 WINHTTP_FLAG_ESCAPE_DISABLE = 0x00000040, > 45 WINHTTP_FLAG_ESCAPE_DISABLE_QUERY = 0x00000080, > 46 > 47 SECURITY_FLAG_IGNORE_UNKNOWN_CA = 0x00000100, > 48 SECURITY_FLAG_IGNORE_CERT_DATE_INVALID = 0x00002000, > 49 SECURITY_FLAG_IGNORE_CERT_CN_INVALID = 0x00001000, > 50 SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE = 0x00000200 > 51 } > 52 > 53 struct WINHTTP_ASYNC_RESULT { > 54 DWORD_PTR dwResult; > 55 DWORD dwError; > 56 } > 57 alias LPWINHTTP_ASYNC_RESULT = WINHTTP_ASYNC_RESULT*; > 58 > 59 struct HTTP_VERSION_INFO { > 60 DWORD dwMajorVersion; > 61 DWORD dwMinorVersion; > 62 } > 63 alias LPHTTP_VERSION_INFO = HTTP_VERSION_INFO*; > 64 > 65 // URL Scheme > 66 enum : DWORD { > 67 INTERNET_SCHEME_HTTP = 1, > 68 INTERNET_SCHEME_HTTPS = 2, > 69 INTERNET_SCHEME_FTP = 3, > 70 INTERNET_SCHEME_SOCKS = 4 > 71 } > 72 > 73 struct URL_COMPONENTS { > 74 DWORD dwStructSize; > 75 LPWSTR lpszScheme; > 76 DWORD dwSchemeLength; > 77 INTERNET_SCHEME nScheme; > 78 LPWSTR lpszHostName; > 79 DWORD dwHostNameLength; > 80 INTERNET_PORT nPort; > 81 LPWSTR lpszUserName; > 82 DWORD dwUserNameLength; > 83 LPWSTR lpszPassword; > 84 DWORD dwPasswordLength; > 85 LPWSTR lpszUrlPath; > 86 DWORD dwUrlPathLength; > 87 LPWSTR lpszExtraInfo; > 88 DWORD dwExtraInfoLength; > 89 } > 90 alias LPURL_COMPONENTS = URL_COMPONENTS*; > 91 alias URL_COMPONENTSW = URL_COMPONENTS; > 92 alias LPURL_COMPONENTSW = URL_COMPONENTS*; > 93 > 94 struct WINHTTP_PROXY_INFO { > 95 DWORD dwAccessType; > 96 LPWSTR lpszProxy; > 97 LPWSTR lpszProxyBypass; > 98 } > 99 alias LPWINHTTP_PROXY_INFO = WINHTTP_PROXY_INFO*; > 100 alias WINHTTP_PROXY_INFOW = WINHTTP_PROXY_INFO; > 101 alias LPWINHTTP_PROXY_INFOW = WINHTTP_PROXY_INFO*; > 102 > 103 struct WINHTTP_AUTOPROXY_OPTIONS { > 104 DWORD dwFlags; > 105 DWORD dwAutoDetectFlags; > 106 LPCWSTR lpszAutoConfigUrl; > 107 LPVOID lpvReserved; > 108 DWORD dwReserved; > 109 BOOL fAutoLogonIfChallenged; > 110 } > 111 > 112 enum : DWORD { > 113 WINHTTP_AUTOPROXY_AUTO_DETECT = 0x00000001, > 114 WINHTTP_AUTOPROXY_CONFIG_URL = 0x00000002, > 115 WINHTTP_AUTOPROXY_HOST_KEEPCASE = 0x00000004, > 116 WINHTTP_AUTOPROXY_HOST_LOWERCASE = 0x00000008, > 117 WINHTTP_AUTOPROXY_RUN_INPROCESS = 0x00010000, > 118 WINHTTP_AUTOPROXY_RUN_OUTPROCESS_ONLY = 0x00020000, > 119 WINHTTP_AUTOPROXY_NO_DIRECTACCESS = 0x00040000, > 120 WINHTTP_AUTOPROXY_NO_CACHE_CLIENT = 0x00080000, > 121 WINHTTP_AUTOPROXY_NO_CACHE_SVC = 0x00100000, > 122 > 123 WINHTTP_AUTOPROXY_SORT_RESULTS = 0x00400000 > 124 } > 125 > 126 // dwAutoDetectFlags > 127 enum : DWORD { > 128 WINHTTP_AUTO_DETECT_TYPE_DHCP = 0x00000001, > 129 WINHTTP_AUTO_DETECT_TYPE_DNS_A = 0x00000002 > 130 } > 131 > 132 struct WINHTTP_CERTIFICATE_INFO { > 133 FILETIME ftExpiry; > 134 FILETIME ftStart; > 135 LPWSTR lpszSubjectInfo; > 136 LPWSTR lpszIssuerInfo; > 137 LPWSTR lpszProtocolName; > 138 LPWSTR lpszSignatureAlgName; > 139 LPWSTR lpszEncryptionAlgName; > 140 DWORD dwKeySize; > 141 } > 142 > 143 // This structure is only defined #if _WS2DEF_ defined (from <ws2def.h>) - per W > 144 struct WINHTTP_CONNECTION_INFO { > 145 DWORD cbSize; > 146 SOCKADDR_STORAGE LocalAddress; > 147 SOCKADDR_STORAGE RemoteAddress; > 148 } > 149 > 150 // WinHttpTimeFromSystemTime > 151 enum DWORD WINHTTP_TIME_FORMAT_BUFSIZE = 62; > 152 > 153 // CrackUrl, CombineUrl > 154 enum : DWORD { > 155 ICU_NO_ENCODE = 0x20000000, > 156 ICU_DECODE = 0x10000000, > 157 ICU_NO_META = 0x08000000, > 158 ICU_ENCODE_SPACES_ONLY = 0x04000000, > 159 ICU_BROWSER_MODE = 0x02000000, > 160 ICU_ENCODE_PERCENT = 0x00001000 > 161 } > 162 // WinHttpCrackUrl, WinHttpCreateUrl > 163 enum : DWORD { > 164 ICU_ESCAPE = 0x80000000, > 165 ICU_ESCAPE_AUTHORITY = 0x00002000, > 166 ICU_REJECT_USERPWD = 0x00004000 > 167 } > 168 enum : DWORD { > 169 WINHTTP_ACCESS_TYPE_DEFAULT_PROXY = 0, > 170 WINHTTP_ACCESS_TYPE_NO_PROXY = 1, > 171 WINHTTP_ACCESS_TYPE_NAMED_PROXY = 3, > 172 WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY = 4 > 173 } > 174 // WinHttpOpen 'prettifiers' > 175 enum LPCWSTR WINHTTP_NO_PROXY_NAME = null; > 176 enum LPCWSTR WINHTTP_NO_PROXY_BYPASS = null; > 177 > 178 enum LPVOID WINHTTP_NO_CLIENT_CERT_CONTEXT = null; > 179 > 180 // WinHttp{Query|Set}Option > 181 enum : DWORD { > 182 WINHTTP_FIRST_OPTION = WINHTTP_OPTION_CALLBACK, > 183 > 184 WINHTTP_OPTION_CALLBACK = 1, > 185 WINHTTP_OPTION_RESOLVE_TIMEOUT = 2, > 186 WINHTTP_OPTION_CONNECT_TIMEOUT = 3, > 187 WINHTTP_OPTION_CONNECT_RETRIES = 4, > 188 WINHTTP_OPTION_SEND_TIMEOUT = 5, > 189 WINHTTP_OPTION_RECEIVE_TIMEOUT = 6, > 190 WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT = 7, > 191 WINHTTP_OPTION_HANDLE_TYPE = 9, > 192 WINHTTP_OPTION_READ_BUFFER_SIZE = 12, > 193 WINHTTP_OPTION_WRITE_BUFFER_SIZE = 13, > 194 WINHTTP_OPTION_PARENT_HANDLE = 21, > 195 WINHTTP_OPTION_EXTENDED_ERROR = 24, > 196 WINHTTP_OPTION_SECURITY_FLAGS = 31, > 197 WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT = 32, > 198 WINHTTP_OPTION_URL = 34, > 199 WINHTTP_OPTION_SECURITY_KEY_BITNESS = 36, > 200 WINHTTP_OPTION_PROXY = 38, > 201 WINHTTP_OPTION_PROXY_RESULT_ENTRY = 39, > 202 > 203 WINHTTP_OPTION_USER_AGENT = 41, > 204 WINHTTP_OPTION_CONTEXT_VALUE = 45, > 205 WINHTTP_OPTION_CLIENT_CERT_CONTEXT = 47, > 206 WINHTTP_OPTION_REQUEST_PRIORITY = 58, > 207 WINHTTP_OPTION_HTTP_VERSION = 59, > 208 WINHTTP_OPTION_DISABLE_FEATURE = 63, > 209 > 210 WINHTTP_OPTION_CODEPAGE = 68, > 211 WINHTTP_OPTION_MAX_CONNS_PER_SERVER = 73, > 212 WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER = 74, > 213 WINHTTP_OPTION_AUTOLOGON_POLICY = 77, > 214 WINHTTP_OPTION_SERVER_CERT_CONTEXT = 78, > 215 WINHTTP_OPTION_ENABLE_FEATURE = 79, > 216 WINHTTP_OPTION_WORKER_THREAD_COUNT = 80, > 217 WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT = 81, > 218 WINHTTP_OPTION_PASSPORT_COBRANDING_URL = 82, > 219 WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH = 83, > 220 WINHTTP_OPTION_SECURE_PROTOCOLS = 84, > 221 WINHTTP_OPTION_ENABLETRACING = 85, > 222 WINHTTP_OPTION_PASSPORT_SIGN_OUT = 86, > 223 WINHTTP_OPTION_PASSPORT_RETURN_URL = 87, > 224 WINHTTP_OPTION_REDIRECT_POLICY = 88, > 225 WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS = 89, > 226 WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE = 90, > 227 WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE = 91, > 228 WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE = 92, > 229 WINHTTP_OPTION_CONNECTION_INFO = 93, > 230 WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST = 94, > 231 WINHTTP_OPTION_SPN = 96, > 232 > 233 WINHTTP_OPTION_GLOBAL_PROXY_CREDS = 97, > 234 WINHTTP_OPTION_GLOBAL_SERVER_CREDS = 98, > 235 > 236 WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT = 99, > 237 WINHTTP_OPTION_REJECT_USERPWD_IN_URL = 100, > 238 WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS = 101, > 239 > 240 WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE = 103, > 241 WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE = 104, > 242 > 243 WINHTTP_OPTION_SERVER_SPN_USED = 106, > 244 WINHTTP_OPTION_PROXY_SPN_USED = 107, > 245 > 246 WINHTTP_OPTION_SERVER_CBT = 108, > 247 > 248 WINHTTP_OPTION_UNSAFE_HEADER_PARSING = 110, > 249 WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS = 111, > 250 > 251 WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET = 114, > 252 WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT = 115, > 253 WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL = 116, > 254 > 255 WINHTTP_OPTION_DECOMPRESSION = 118, > 256 > 257 WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE = 122, > 258 WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE = 123, > 259 > 260 //WINHTTP_LAST_OPTION => Moved outside of enum - static if() constraints > 261 > 262 WINHTTP_OPTION_USERNAME = 0x1000, > 263 WINHTTP_OPTION_PASSWORD = 0x1001, > 264 WINHTTP_OPTION_PROXY_USERNAME = 0x1002, > 265 WINHTTP_OPTION_PROXY_PASSWORD = 0x1003, > 266 > 267 WINHTTP_CONNS_PER_SERVER_UNLIMITED = 0xFFFFFFFF, > 268 > 269 WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM = 0, > 270 WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW = 1, > 271 WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH = 2, > 272 > 273 WINHTTP_AUTOLOGON_SECURITY_LEVEL_DEFAULT = WINHTTP_AUTOLOGON_SECURITY_LE > 274 > 275 WINHTTP_OPTION_REDIRECT_POLICY_NEVER = 0, > 276 WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP = 1, > 277 WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS = 2, > 278 > 279 WINHTTP_OPTION_REDIRECT_POLICY_LAST = WINHTTP_OPTION_REDIRECT_POLIC > 280 WINHTTP_OPTION_REDIRECT_POLICY_DEFAULT = WINHTTP_OPTION_REDIRECT_POLIC > 281 > 282 WINHTTP_DISABLE_PASSPORT_AUTH = 0x00000000, > 283 WINHTTP_ENABLE_PASSPORT_AUTH = 0x10000000, > 284 WINHTTP_DISABLE_PASSPORT_KEYRING = 0x20000000, > 285 WINHTTP_ENABLE_PASSPORT_KEYRING = 0x40000000, > 286 > 287 WINHTTP_DISABLE_COOKIES = 0x00000001, > 288 WINHTTP_DISABLE_REDIRECTS = 0x00000002, > 289 WINHTTP_DISABLE_AUTHENTICATION = 0x00000004, > 290 WINHTTP_DISABLE_KEEP_ALIVE = 0x00000008, > 291 > 292 WINHTTP_ENABLE_SSL_REVOCATION = 0x00000001, > 293 WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION = 0x00000002, > 294 > 295 WINHTTP_DISABLE_SPN_SERVER_PORT = 0x00000000, > 296 WINHTTP_ENABLE_SPN_SERVER_PORT = 0x00000001, > 297 WINHTTP_OPTION_SPN_MASK = WINHTTP_ENABLE_SPN_SERVER_PO > 298 } > 299 > 300 // Windows 8.1 SDK: > 301 static if (_WIN32_WINNT >= 0x602) { > 302 enum DWORD WINHTTP_LAST_OPTION = WINHTTP_OPTION_WEB_SOCKET_SE > 303 } else { // Windows 7.0A SDK: > 304 enum DWORD WINHTTP_LAST_OPTION = WINHTTP_OPTION_SERVER_CBT; > 305 } > 306 > 307 enum : DWORD { > 308 WINHTTP_DECOMPRESSION_FLAG_GZIP = 0x00000001, > 309 WINHTTP_DECOMPRESSION_FLAG_DEFLATE = 0x00000002, > 310 WINHTTP_DECOMPRESSION_FLAG_ALL = (WINHTTP_DECOMPRESSION_FLAG_GZIP | WINH > 311 } > 312 > 313 struct WINHTTP_CREDS { > 314 LPSTR lpszUserName; > 315 LPSTR lpszPassword; > 316 LPSTR lpszRealm; > 317 DWORD dwAuthScheme; > 318 LPSTR lpszHostName; > 319 DWORD dwPort; > 320 } > 321 alias PWINHTTP_CREDS = WINHTTP_CREDS*; > 322 > 323 struct WINHTTP_CREDS_EX { > 324 LPSTR lpszUserName; > 325 LPSTR lpszPassword; > 326 LPSTR lpszRealm; > 327 DWORD dwAuthScheme; > 328 LPSTR lpszHostName; > 329 DWORD dwPort; > 330 LPSTR lpszUrl; > 331 } > 332 alias PWINHTTP_CREDS_EX = WINHTTP_CREDS_EX*; > 333 > 334 enum : DWORD { > 335 WINHTTP_HANDLE_TYPE_SESSION = 1, > 336 WINHTTP_HANDLE_TYPE_CONNECT = 2, > 337 WINHTTP_HANDLE_TYPE_REQUEST = 3, > 338 > 339 WINHTTP_AUTH_SCHEME_BASIC = 0x00000001, > 340 WINHTTP_AUTH_SCHEME_NTLM = 0x00000002, > 341 WINHTTP_AUTH_SCHEME_PASSPORT = 0x00000004, > 342 WINHTTP_AUTH_SCHEME_DIGEST = 0x00000008, > 343 WINHTTP_AUTH_SCHEME_NEGOTIATE = 0x00000010, > 344 > 345 WINHTTP_AUTH_TARGET_SERVER = 0x00000000, > 346 WINHTTP_AUTH_TARGET_PROXY = 0x00000001, > 347 > 348 SECURITY_FLAG_SECURE = 0x00000001, > 349 SECURITY_FLAG_STRENGTH_WEAK = 0x10000000, > 350 SECURITY_FLAG_STRENGTH_MEDIUM = 0x40000000, > 351 SECURITY_FLAG_STRENGTH_STRONG = 0x20000000, > 352 > 353 WINHTTP_CALLBACK_STATUS_FLAG_CERT_REV_FAILED = 0x00000001, > 354 WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CERT = 0x00000002, > 355 WINHTTP_CALLBACK_STATUS_FLAG_CERT_REVOKED = 0x00000004, > 356 WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA = 0x00000008, > 357 WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID = 0x00000010, > 358 WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID = 0x00000020, > 359 WINHTTP_CALLBACK_STATUS_FLAG_CERT_WRONG_USAGE = 0x00000040, > 360 WINHTTP_CALLBACK_STATUS_FLAG_SECURITY_CHANNEL_ERROR = 0x80000000, > 361 > 362 WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 = 0x00000008, > 363 WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 = 0x00000020, > 364 WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 = 0x00000080, > 365 WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 = 0x00000200, > 366 WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 = 0x00000800, > 367 WINHTTP_FLAG_SECURE_PROTOCOL_ALL = (WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 > 368 > 369 > 370 } > 371 > 372 alias extern(Windows) int fnWINHTTP_STATUS_CALLBACK(HINTERNET hInternet, DWORD_P > 373 DWORD dwInternetStatus, LPVOID lpvStatusInformation,DW > 374 alias WINHTTP_STATUS_CALLBACK = fnWINHTTP_STATUS_CALLBACK*; > 375 alias LPWINHTTP_STATUS_CALLBACK = WINHTTP_STATUS_CALLBACK*; > 376 > 377 enum : DWORD { > 378 WINHTTP_CALLBACK_STATUS_RESOLVING_NAME = 0x00000001, > 379 WINHTTP_CALLBACK_STATUS_NAME_RESOLVED = 0x00000002, > 380 WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER = 0x00000004, > 381 WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER = 0x00000008, > 382 WINHTTP_CALLBACK_STATUS_SENDING_REQUEST = 0x00000010, > 383 WINHTTP_CALLBACK_STATUS_REQUEST_SENT = 0x00000020, > 384 WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE = 0x00000040, > 385 WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED = 0x00000080, > 386 WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION = 0x00000100, > 387 WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED = 0x00000200, > 388 WINHTTP_CALLBACK_STATUS_HANDLE_CREATED = 0x00000400, > 389 WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING = 0x00000800, > 390 WINHTTP_CALLBACK_STATUS_DETECTING_PROXY = 0x00001000, > 391 WINHTTP_CALLBACK_STATUS_REDIRECT = 0x00004000, > 392 WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE = 0x00008000, > 393 WINHTTP_CALLBACK_STATUS_SECURE_FAILURE = 0x00010000, > 394 WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE = 0x00020000, > 395 WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE = 0x00040000, > 396 WINHTTP_CALLBACK_STATUS_READ_COMPLETE = 0x00080000, > 397 WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE = 0x00100000, > 398 WINHTTP_CALLBACK_STATUS_REQUEST_ERROR = 0x00200000, > 399 WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE = 0x00400000 > 400 } > 401 > 402 enum : DWORD { > 403 WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE = 0x01000000, > 404 WINHTTP_CALLBACK_STATUS_CLOSE_COMPLETE = 0x02000000, > 405 WINHTTP_CALLBACK_STATUS_SHUTDOWN_COMPLETE = 0x04000000 > 406 } > 407 > 408 enum : DWORD { > 409 API_RECEIVE_RESPONSE = 1, > 410 API_QUERY_DATA_AVAILABLE = 2, > 411 API_READ_DATA = 3, > 412 API_WRITE_DATA = 4, > 413 API_SEND_REQUEST = 5 > 414 } > 415 > 416 enum : DWORD { > 417 WINHTTP_CALLBACK_FLAG_RESOLVE_NAME = (WINHTTP_CALLBACK_STATUS > 418 WINHTTP_CALLBACK_FLAG_CONNECT_TO_SERVER = (WINHTTP_CALLBACK_STATUS > 419 WINHTTP_CALLBACK_FLAG_SEND_REQUEST = (WINHTTP_CALLBACK_STATUS > 420 WINHTTP_CALLBACK_FLAG_RECEIVE_RESPONSE = (WINHTTP_CALLBACK_STATUS > 421 WINHTTP_CALLBACK_FLAG_CLOSE_CONNECTION = (WINHTTP_CALLBACK_STATUS > 422 WINHTTP_CALLBACK_FLAG_HANDLES = (WINHTTP_CALLBACK_STATUS > 423 WINHTTP_CALLBACK_FLAG_DETECTING_PROXY = WINHTTP_CALLBACK_STATUS_ > 424 WINHTTP_CALLBACK_FLAG_REDIRECT = WINHTTP_CALLBACK_STATUS_ > 425 WINHTTP_CALLBACK_FLAG_INTERMEDIATE_RESPONSE = WINHTTP_CALLBACK_STATUS_ > 426 WINHTTP_CALLBACK_FLAG_SECURE_FAILURE = WINHTTP_CALLBACK_STATUS_ > 427 WINHTTP_CALLBACK_FLAG_SENDREQUEST_COMPLETE = WINHTTP_CALLBACK_STATUS_ > 428 WINHTTP_CALLBACK_FLAG_HEADERS_AVAILABLE = WINHTTP_CALLBACK_STATUS_ > 429 WINHTTP_CALLBACK_FLAG_DATA_AVAILABLE = WINHTTP_CALLBACK_STATUS_ > 430 WINHTTP_CALLBACK_FLAG_READ_COMPLETE = WINHTTP_CALLBACK_STATUS_ > 431 WINHTTP_CALLBACK_FLAG_WRITE_COMPLETE = WINHTTP_CALLBACK_STATUS_ > 432 WINHTTP_CALLBACK_FLAG_REQUEST_ERROR = WINHTTP_CALLBACK_STATUS_ > 433 } > 434 > 435 enum DWORD WINHTTP_CALLBACK_FLAG_GETPROXYFORURL_COMPLETE = WINHTTP_CALLBACK_STA > 436 > 437 // Windows 8+/2012+ > 438 static if (_WIN32_WINNT >= 0x602) { > 439 enum DWORD WINHTTP_CALLBACK_FLAG_ALL_COMPLETIONS = (WINHTTP_CALLBACK_S > 440 | WINHTTP_CALLBACK_STATU > 441 | WINHTTP_CALLBACK_STATU > 442 | WINHTTP_CALLBACK_STATU > 443 | WINHTTP_CALLBACK_STATU > 444 | WINHTTP_CALLBACK_STATU > 445 } else { > 446 enum DWORD WINHTTP_CALLBACK_FLAG_ALL_COMPLETIONS = (WINHTTP_CALLBACK_S > 447 | WINHTTP_CALLBACK_STATU > 448 | WINHTTP_CALLBACK_STATU > 449 | WINHTTP_CALLBACK_STATU > 450 | WINHTTP_CALLBACK_STATU > 451 | WINHTTP_CALLBACK_STATU > 452 | WINHTTP_CALLBACK_STATU > 453 } > 454 > 455 enum DWORD WINHTTP_CALLBACK_FLAG_ALL_NOTIFICATIONS = 0xffffffff; > 456 > 457 enum WINHTTP_INVALID_STATUS_CALLBACK = (cast(WINHTTP_STATUS_CALLBACK)(-1L > 458 > 459 enum : DWORD { > 460 WINHTTP_QUERY_MIME_VERSION = 0, > 461 WINHTTP_QUERY_CONTENT_TYPE = 1, > 462 WINHTTP_QUERY_CONTENT_TRANSFER_ENCODING = 2, > 463 WINHTTP_QUERY_CONTENT_ID = 3, > 464 WINHTTP_QUERY_CONTENT_DESCRIPTION = 4, > 465 WINHTTP_QUERY_CONTENT_LENGTH = 5, > 466 WINHTTP_QUERY_CONTENT_LANGUAGE = 6, > 467 WINHTTP_QUERY_ALLOW = 7, > 468 WINHTTP_QUERY_PUBLIC = 8, > 469 WINHTTP_QUERY_DATE = 9, > 470 WINHTTP_QUERY_EXPIRES = 10, > 471 WINHTTP_QUERY_LAST_MODIFIED = 11, > 472 WINHTTP_QUERY_MESSAGE_ID = 12, > 473 WINHTTP_QUERY_URI = 13, > 474 WINHTTP_QUERY_DERIVED_FROM = 14, > 475 WINHTTP_QUERY_COST = 15, > 476 WINHTTP_QUERY_LINK = 16, > 477 WINHTTP_QUERY_PRAGMA = 17, > 478 WINHTTP_QUERY_VERSION = 18, > 479 WINHTTP_QUERY_STATUS_CODE = 19, > 480 WINHTTP_QUERY_STATUS_TEXT = 20, > 481 WINHTTP_QUERY_RAW_HEADERS = 21, > 482 WINHTTP_QUERY_RAW_HEADERS_CRLF = 22, > 483 WINHTTP_QUERY_CONNECTION = 23, > 484 WINHTTP_QUERY_ACCEPT = 24, > 485 WINHTTP_QUERY_ACCEPT_CHARSET = 25, > 486 WINHTTP_QUERY_ACCEPT_ENCODING = 26, > 487 WINHTTP_QUERY_ACCEPT_LANGUAGE = 27, > 488 WINHTTP_QUERY_AUTHORIZATION = 28, > 489 WINHTTP_QUERY_CONTENT_ENCODING = 29, > 490 WINHTTP_QUERY_FORWARDED = 30, > 491 WINHTTP_QUERY_FROM = 31, > 492 WINHTTP_QUERY_IF_MODIFIED_SINCE = 32, > 493 WINHTTP_QUERY_LOCATION = 33, > 494 WINHTTP_QUERY_ORIG_URI = 34, > 495 WINHTTP_QUERY_REFERER = 35, > 496 WINHTTP_QUERY_RETRY_AFTER = 36, > 497 WINHTTP_QUERY_SERVER = 37, > 498 WINHTTP_QUERY_TITLE = 38, > 499 WINHTTP_QUERY_USER_AGENT = 39, > 500 WINHTTP_QUERY_WWW_AUTHENTICATE = 40, > 501 WINHTTP_QUERY_PROXY_AUTHENTICATE = 41, > 502 WINHTTP_QUERY_ACCEPT_RANGES = 42, > 503 WINHTTP_QUERY_SET_COOKIE = 43, > 504 WINHTTP_QUERY_COOKIE = 44, > 505 WINHTTP_QUERY_REQUEST_METHOD = 45, > 506 WINHTTP_QUERY_REFRESH = 46, > 507 WINHTTP_QUERY_CONTENT_DISPOSITION = 47, > 508 > 509 // HTTP 1.1 defined headers > 510 > 511 WINHTTP_QUERY_AGE = 48, > 512 WINHTTP_QUERY_CACHE_CONTROL = 49, > 513 WINHTTP_QUERY_CONTENT_BASE = 50, > 514 WINHTTP_QUERY_CONTENT_LOCATION = 51, > 515 WINHTTP_QUERY_CONTENT_MD5 = 52, > 516 WINHTTP_QUERY_CONTENT_RANGE = 53, > 517 WINHTTP_QUERY_ETAG = 54, > 518 WINHTTP_QUERY_HOST = 55, > 519 WINHTTP_QUERY_IF_MATCH = 56, > 520 WINHTTP_QUERY_IF_NONE_MATCH = 57, > 521 WINHTTP_QUERY_IF_RANGE = 58, > 522 WINHTTP_QUERY_IF_UNMODIFIED_SINCE = 59, > 523 WINHTTP_QUERY_MAX_FORWARDS = 60, > 524 WINHTTP_QUERY_PROXY_AUTHORIZATION = 61, > 525 WINHTTP_QUERY_RANGE = 62, > 526 WINHTTP_QUERY_TRANSFER_ENCODING = 63, > 527 WINHTTP_QUERY_UPGRADE = 64, > 528 WINHTTP_QUERY_VARY = 65, > 529 WINHTTP_QUERY_VIA = 66, > 530 WINHTTP_QUERY_WARNING = 67, > 531 WINHTTP_QUERY_EXPECT = 68, > 532 WINHTTP_QUERY_PROXY_CONNECTION = 69, > 533 WINHTTP_QUERY_UNLESS_MODIFIED_SINCE = 70, > 534 > 535 WINHTTP_QUERY_PROXY_SUPPORT = 75, > 536 WINHTTP_QUERY_AUTHENTICATION_INFO = 76, > 537 WINHTTP_QUERY_PASSPORT_URLS = 77, > 538 WINHTTP_QUERY_PASSPORT_CONFIG = 78, > 539 > 540 WINHTTP_QUERY_MAX = 78, > 541 > 542 WINHTTP_QUERY_CUSTOM = 65535, > 543 > 544 WINHTTP_QUERY_FLAG_REQUEST_HEADERS = 0x80000000, > 545 > 546 WINHTTP_QUERY_FLAG_SYSTEMTIME = 0x40000000, > 547 > 548 WINHTTP_QUERY_FLAG_NUMBER = 0x20000000 > 549 } > 550 > 551 enum : DWORD { > 552 HTTP_STATUS_CONTINUE = 100, > 553 HTTP_STATUS_SWITCH_PROTOCOLS = 101, > 554 > 555 HTTP_STATUS_OK = 200, > 556 HTTP_STATUS_CREATED = 201, > 557 HTTP_STATUS_ACCEPTED = 202, > 558 HTTP_STATUS_PARTIAL = 203, > 559 HTTP_STATUS_NO_CONTENT = 204, > 560 HTTP_STATUS_RESET_CONTENT = 205, > 561 HTTP_STATUS_PARTIAL_CONTENT = 206, > 562 HTTP_STATUS_WEBDAV_MULTI_STATUS = 207, > 563 > 564 HTTP_STATUS_AMBIGUOUS = 300, > 565 HTTP_STATUS_MOVED = 301, > 566 HTTP_STATUS_REDIRECT = 302, > 567 HTTP_STATUS_REDIRECT_METHOD = 303, > 568 HTTP_STATUS_NOT_MODIFIED = 304, > 569 HTTP_STATUS_USE_PROXY = 305, > 570 HTTP_STATUS_REDIRECT_KEEP_VERB = 307, > 571 > 572 HTTP_STATUS_BAD_REQUEST = 400, > 573 HTTP_STATUS_DENIED = 401, > 574 HTTP_STATUS_PAYMENT_REQ = 402, > 575 HTTP_STATUS_FORBIDDEN = 403, > 576 HTTP_STATUS_NOT_FOUND = 404, > 577 HTTP_STATUS_BAD_METHOD = 405, > 578 HTTP_STATUS_NONE_ACCEPTABLE = 406, > 579 HTTP_STATUS_PROXY_AUTH_REQ = 407, > 580 HTTP_STATUS_REQUEST_TIMEOUT = 408, > 581 HTTP_STATUS_CONFLICT = 409, > 582 HTTP_STATUS_GONE = 410, > 583 HTTP_STATUS_LENGTH_REQUIRED = 411, > 584 HTTP_STATUS_PRECOND_FAILED = 412, > 585 HTTP_STATUS_REQUEST_TOO_LARGE = 413, > 586 HTTP_STATUS_URI_TOO_LONG = 414, > 587 HTTP_STATUS_UNSUPPORTED_MEDIA = 415, > 588 HTTP_STATUS_RETRY_WITH = 449, > 589 > 590 HTTP_STATUS_SERVER_ERROR = 500, > 591 HTTP_STATUS_NOT_SUPPORTED = 501, > 592 HTTP_STATUS_BAD_GATEWAY = 502, > 593 HTTP_STATUS_SERVICE_UNAVAIL = 503, > 594 HTTP_STATUS_GATEWAY_TIMEOUT = 504, > 595 HTTP_STATUS_VERSION_NOT_SUP = 505, > 596 > 597 HTTP_STATUS_FIRST = HTTP_STATUS_CONTINUE, > 598 HTTP_STATUS_LAST = HTTP_STATUS_VERSION_NOT_SUP > 599 } > 600 > 601 enum LPCWSTR WINHTTP_NO_REFERER = null; > 602 enum LPCWSTR * WINHTTP_DEFAULT_ACCEPT_TYPES = null; > 603 > 604 enum : DWORD { > 605 WINHTTP_ADDREQ_INDEX_MASK = 0x0000FFFF, > 606 WINHTTP_ADDREQ_FLAGS_MASK = 0xFFFF0000, > 607 > 608 WINHTTP_ADDREQ_FLAG_ADD_IF_NEW = 0x10000000, > 609 > 610 WINHTTP_ADDREQ_FLAG_ADD = 0x20000000, > 611 > 612 WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA = 0x40000000, > 613 WINHTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON = 0x01000000, > 614 WINHTTP_ADDREQ_FLAG_COALESCE = WINHTTP_ADDREQ_FLAG_COAL > 615 > 616 WINHTTP_ADDREQ_FLAG_REPLACE = 0x80000000, > 617 > 618 WINHTTP_IGNORE_REQUEST_TOTAL_LENGTH = 0 > 619 } > 620 > 621 enum LPCWSTR WINHTTP_NO_ADDITIONAL_HEADERS = null; > 622 enum LPVOID WINHTTP_NO_REQUEST_DATA = null; > 623 > 624 enum LPCWSTR WINHTTP_HEADER_NAME_BY_INDEX = null; > 625 enum LPVOID WINHTTP_NO_OUTPUT_BUFFER = null; > 626 enum LPDWORD WINHTTP_NO_HEADER_INDEX = null; > 627 > 628 struct WINHTTP_CURRENT_USER_IE_PROXY_CONFIG { > 629 BOOL fAutoDetect; > 630 LPWSTR lpszAutoConfigUrl; > 631 LPWSTR lpszProxy; > 632 LPWSTR lpszProxyBypass; > 633 } > 634 > 635 // WinHttp API error returns > 636 enum : DWORD { > 637 WINHTTP_ERROR_BASE = 12000, > 638 > 639 ERROR_WINHTTP_OUT_OF_HANDLES = (WINHTTP_ERROR_BASE + 1), > 640 ERROR_WINHTTP_TIMEOUT = (WINHTTP_ERROR_BASE + 2), > 641 ERROR_WINHTTP_INTERNAL_ERROR = (WINHTTP_ERROR_BASE + 4), > 642 ERROR_WINHTTP_INVALID_URL = (WINHTTP_ERROR_BASE + 5), > 643 ERROR_WINHTTP_UNRECOGNIZED_SCHEME = (WINHTTP_ERROR_BASE + 6), > 644 ERROR_WINHTTP_NAME_NOT_RESOLVED = (WINHTTP_ERROR_BASE + 7), > 645 ERROR_WINHTTP_INVALID_OPTION = (WINHTTP_ERROR_BASE + 9), > 646 ERROR_WINHTTP_OPTION_NOT_SETTABLE = (WINHTTP_ERROR_BASE + 11), > 647 ERROR_WINHTTP_SHUTDOWN = (WINHTTP_ERROR_BASE + 12), > 648 > 649 ERROR_WINHTTP_LOGIN_FAILURE = (WINHTTP_ERROR_BASE + 15), > 650 ERROR_WINHTTP_OPERATION_CANCELLED = (WINHTTP_ERROR_BASE + 17), > 651 ERROR_WINHTTP_INCORRECT_HANDLE_TYPE = (WINHTTP_ERROR_BASE + 18), > 652 ERROR_WINHTTP_INCORRECT_HANDLE_STATE = (WINHTTP_ERROR_BASE + 19), > 653 ERROR_WINHTTP_CANNOT_CONNECT = (WINHTTP_ERROR_BASE + 29), > 654 ERROR_WINHTTP_CONNECTION_ERROR = (WINHTTP_ERROR_BASE + 30), > 655 ERROR_WINHTTP_RESEND_REQUEST = (WINHTTP_ERROR_BASE + 32), > 656 > 657 ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED = (WINHTTP_ERROR_BASE, + 44), > 658 > 659 ERROR_WINHTTP_CANNOT_CALL_BEFORE_OPEN = (WINHTTP_ERROR_BASE + 100), > 660 ERROR_WINHTTP_CANNOT_CALL_BEFORE_SEND = (WINHTTP_ERROR_BASE + 101), > 661 ERROR_WINHTTP_CANNOT_CALL_AFTER_SEND = (WINHTTP_ERROR_BASE + 102), > 662 ERROR_WINHTTP_CANNOT_CALL_AFTER_OPEN = (WINHTTP_ERROR_BASE + 103), > 663 > 664 ERROR_WINHTTP_HEADER_NOT_FOUND = (WINHTTP_ERROR_BASE + 150), > 665 ERROR_WINHTTP_INVALID_SERVER_RESPONSE = (WINHTTP_ERROR_BASE + 152), > 666 ERROR_WINHTTP_INVALID_HEADER = (WINHTTP_ERROR_BASE + 153), > 667 ERROR_WINHTTP_INVALID_QUERY_REQUEST = (WINHTTP_ERROR_BASE + 154), > 668 ERROR_WINHTTP_HEADER_ALREADY_EXISTS = (WINHTTP_ERROR_BASE + 155), > 669 ERROR_WINHTTP_REDIRECT_FAILED = (WINHTTP_ERROR_BASE + 156), > 670 > 671 ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR = (WINHTTP_ERROR_BASE + 178), > 672 ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT = (WINHTTP_ERROR_BASE + 166), > 673 ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT = (WINHTTP_ERROR_BASE + 167), > 674 ERROR_WINHTTP_UNHANDLED_SCRIPT_TYPE = (WINHTTP_ERROR_BASE + 176), > 675 ERROR_WINHTTP_SCRIPT_EXECUTION_ERROR = (WINHTTP_ERROR_BASE + 177), > 676 > 677 ERROR_WINHTTP_NOT_INITIALIZED = (WINHTTP_ERROR_BASE + 172), > 678 ERROR_WINHTTP_SECURE_FAILURE = (WINHTTP_ERROR_BASE + 175), > 679 > 680 ERROR_WINHTTP_SECURE_CERT_DATE_INVALID = (WINHTTP_ERROR_BASE + 37), > 681 ERROR_WINHTTP_SECURE_CERT_CN_INVALID = (WINHTTP_ERROR_BASE + 38), > 682 ERROR_WINHTTP_SECURE_INVALID_CA = (WINHTTP_ERROR_BASE + 45), > 683 ERROR_WINHTTP_SECURE_CERT_REV_FAILED = (WINHTTP_ERROR_BASE + 57), > 684 ERROR_WINHTTP_SECURE_CHANNEL_ERROR = (WINHTTP_ERROR_BASE + 157), > 685 ERROR_WINHTTP_SECURE_INVALID_CERT = (WINHTTP_ERROR_BASE + 169), > 686 ERROR_WINHTTP_SECURE_CERT_REVOKED = (WINHTTP_ERROR_BASE + 170), > 687 ERROR_WINHTTP_SECURE_CERT_WRONG_USAGE = (WINHTTP_ERROR_BASE + 179), > 688 > 689 ERROR_WINHTTP_AUTODETECTION_FAILED = (WINHTTP_ERROR_BAS > 690 ERROR_WINHTTP_HEADER_COUNT_EXCEEDED = (WINHTTP_ERROR_BAS > 691 ERROR_WINHTTP_HEADER_SIZE_OVERFLOW = (WINHTTP_ERROR_BAS > 692 ERROR_WINHTTP_CHUNKED_ENCODING_HEADER_SIZE_OVERFLOW = (WINHTTP_ERROR_BAS > 693 ERROR_WINHTTP_RESPONSE_DRAIN_OVERFLOW = (WINHTTP_ERROR_BAS > 694 ERROR_WINHTTP_CLIENT_CERT_NO_PRIVATE_KEY = (WINHTTP_ERROR_BAS > 695 ERROR_WINHTTP_CLIENT_CERT_NO_ACCESS_PRIVATE_KEY = (WINHTTP_ERROR_BAS > 696 > 697 WINHTTP_ERROR_LAST = (WINHTTP_ERROR_BAS > 698 } > 699 > 700 enum : DWORD { > 701 WINHTTP_RESET_STATE = 0x00000001, > 702 WINHTTP_RESET_SWPAD_CURRENT_NETWORK = 0x00000002, > 703 WINHTTP_RESET_SWPAD_ALL = 0x00000004, > 704 WINHTTP_RESET_SCRIPT_CACHE = 0x00000008, > 705 WINHTTP_RESET_ALL = 0x0000FFFF, > 706 WINHTTP_RESET_NOTIFY_NETWORK_CHANGED = 0x00010000, > 707 WINHTTP_RESET_OUT_OF_PROC = 0x00020000 > 708 } > 709 > 710 enum : DWORD { > 711 WINHTTP_WEB_SOCKET_MAX_CLOSE_REASON_LENGTH = 123, > 712 WINHTTP_WEB_SOCKET_MIN_KEEPALIVE_VALUE = 15000 > 713 } > 714 > 715 // Version(Windows8) || Version(Windows2012): > 716 static if (_WIN32_WINNT >= 0x602) > 717 { > 718 enum WINHTTP_WEB_SOCKET_OPERATION : DWORD > 719 { > 720 WINHTTP_WEB_SOCKET_SEND_OPERATION = 0, > 721 WINHTTP_WEB_SOCKET_RECEIVE_OPERATION = 1, > 722 WINHTTP_WEB_SOCKET_CLOSE_OPERATION = 2, > 723 WINHTTP_WEB_SOCKET_SHUTDOWN_OPERATION = 3 > 724 } > 725 enum WINHTTP_WEB_SOCKET_BUFFER_TYPE : DWORD > 726 { > 727 WINHTTP_WEB_SOCKET_BINARY_MESSAGE_BUFFER_TYPE = 0, > 728 WINHTTP_WEB_SOCKET_BINARY_FRAGMENT_BUFFER_TYPE = 1, > 729 WINHTTP_WEB_SOCKET_UTF8_MESSAGE_BUFFER_TYPE = 2, > 730 WINHTTP_WEB_SOCKET_UTF8_FRAGMENT_BUFFER_TYPE = 3, > 731 WINHTTP_WEB_SOCKET_CLOSE_BUFFER_TYPE = 4 > 732 } > 733 enum WINHTTP_WEB_SOCKET_CLOSE_STATUS : DWORD > 734 { > 735 WINHTTP_WEB_SOCKET_SUCCESS_CLOSE_STATUS = 1000, > 736 WINHTTP_WEB_SOCKET_ENDPOINT_TERMINATED_CLOSE_STATUS = 1001, > 737 WINHTTP_WEB_SOCKET_PROTOCOL_ERROR_CLOSE_STATUS = 1002, > 738 WINHTTP_WEB_SOCKET_INVALID_DATA_TYPE_CLOSE_STATUS = 1003, > 739 WINHTTP_WEB_SOCKET_EMPTY_CLOSE_STATUS = 1005, > 740 WINHTTP_WEB_SOCKET_ABORTED_CLOSE_STATUS = 1006, > 741 WINHTTP_WEB_SOCKET_INVALID_PAYLOAD_CLOSE_STATUS = 1007, > 742 WINHTTP_WEB_SOCKET_POLICY_VIOLATION_CLOSE_STATUS = 1008, > 743 WINHTTP_WEB_SOCKET_MESSAGE_TOO_BIG_CLOSE_STATUS = 1009, > 744 WINHTTP_WEB_SOCKET_UNSUPPORTED_EXTENSIONS_CLOSE_STATUS = 1010, > 745 WINHTTP_WEB_SOCKET_SERVER_ERROR_CLOSE_STATUS = 1011, > 746 WINHTTP_WEB_SOCKET_SECURE_HANDSHAKE_ERROR_CLOSE_STATUS = 1015 > 747 } > 748 struct WINHTTP_PROXY_RESULT_ENTRY { > 749 BOOL fProxy; > 750 BOOL fBypass; > 751 INTERNET_SCHEME ProxyScheme; > 752 PWSTR pwszProxy; > 753 INTERNET_PORT ProxyPort; > 754 } > 755 struct WINHTTP_PROXY_RESULT { > 756 DWORD cEntries; > 757 WINHTTP_PROXY_RESULT_ENTRY *pEntries; > 758 } > 759 struct WINHTTP_WEB_SOCKET_ASYNC_RESULT { > 760 WINHTTP_ASYNC_RESULT AsyncResult; > 761 WINHTTP_WEB_SOCKET_OPERATION Operation; > 762 } > 763 struct WINHTTP_WEB_SOCKET_STATUS { > 764 DWORD dwBytesTransferred; > 765 WINHTTP_WEB_SOCKET_BUFFER_TYPE eBufferType; > 766 } > 767 } > 768 > 769 > 770 extern (Windows) { > 771 BOOL WinHttpAddRequestHeaders(HINTERNET hRequest, LPCWSTR pwszHeaders, D > 772 > 773 BOOL WinHttpCheckPlatform(); > 774 > 775 BOOL WinHttpCloseHandle(HINTERNET hInternet); > 776 > 777 HINTERNET WinHttpConnect(HINTERNET hSession, LPCWSTR pswzServerName, INT > 778 > 779 BOOL WinHttpCrackUrl(LPCWSTR pwszUrl, DWORD dwUrlLength, DWORD dwFlags, > 780 > 781 BOOL WinHttpCreateUrl(LPURL_COMPONENTS lpUrlComponents, DWORD dwFlags, L > 782 BOOL WinHttpDetectAutoProxyConfigUrl(DWORD dwAutoDetectFlags, LPWSTR *pp > 783 > 784 BOOL WinHttpGetDefaultProxyConfiguration(WINHTTP_PROXY_INFO *pProxyInfo) > 785 BOOL WinHttpGetIEProxyConfigForCurrentUser(WINHTTP_CURRENT_USER_IE_PROXY > 786 BOOL WinHttpGetProxyForUrl(HINTERNET hSession, LPCWSTR lpcwszUrl, > 787 WINHTTP_AUTOPROXY_OPTIONS *pAutoProxyOptions, > 788 > 789 HINTERNET WinHttpOpen(LPCWSTR pwszUserAgent, DWORD dwAccessType, LPCWSTR > 790 LPCWSTR pwszProxyBypass, DWORD dwFlags); > 791 HINTERNET WinHttpOpenRequest(HINTERNET hConnect, LPCWSTR pwszVerb, LPCWS > 792 LPCWSTR pwszVersion, LPCWSTR pwszReferrer, > 793 LPCWSTR *ppwszAcceptTypes, DWORD dwFlags); > 794 > 795 BOOL WinHttpQueryAuthSchemes(HINTERNET hRequest, LPDWORD lpdwSupportedSc > 796 LPDWORD lpdwFirstScheme, LPDWORD pdwAuthTar > 797 BOOL WinHttpQueryDataAvailable(HINTERNET hRequest, LPDWORD lpdwNumberOfB > 798 BOOL WinHttpQueryHeaders(HINTERNET hRequest, DWORD dwInfoLevel, LPCWSTR > 799 LPVOID lpBuffer, LPDWORD lpdwBufferLength, LPDWORD > 800 BOOL WinHttpQueryOption(HINTERNET hInternet, DWORD dwOption, LPVOID lpBu > 801 LPDWORD lpdwBufferLength); > 802 > 803 BOOL WinHttpReadData(HINTERNET hRequest, LPVOID lpBuffer, DWORD dwNumber > 804 LPDWORD lpdwNumberOfBytesRead); > 805 BOOL WinHttpReceiveResponse(HINTERNET hRequest, LPVOID lpReserved); > 806 > 807 BOOL WinHttpSendRequest(HINTERNET hRequest, LPCWSTR pwszHeaders, DWORD d > 808 LPVOID lpOptional, DWORD dwOptionalLength, DWORD > 809 > 810 BOOL WinHttpSetCredentials(HINTERNET hRequest, DWORD AuthTargets, DWORD > 811 LPCWSTR pwszUserName, LPCWSTR pwszPassword, LPVOI > 812 BOOL WinHttpSetDefaultProxyConfiguration(WINHTTP_PROXY_INFO *pProxyInfo) > 813 BOOL WinHttpSetOption(HINTERNET hInternet, DWORD dwOption, LPVOID lpBuff > 814 WINHTTP_STATUS_CALLBACK WinHttpSetStatusCallback(HINTERNET hInternet, > 815 WINHTTP_STATUS_CALLBACK > 816 DWORD dwNotificationFla > 817 BOOL WinHttpSetTimeouts(HINTERNET hInternet, int dwResolveTimeout, int d > 818 int dwSendTimeout, int dwReceiveTimeout); > 819 > 820 BOOL WinHttpTimeFromSystemTime(const SYSTEMTIME *pst, LPWSTR pwszTime); > 821 BOOL WinHttpTimeToSystemTime(LPCWSTR pwszTime, SYSTEMTIME *pst); > 822 > 823 BOOL WinHttpWriteData(HINTERNET hRequest, LPCVOID lpBuffer, DWORD dwNumb > 824 LPDWORD lpdwNumberOfBytesWritten); > 825 > 826 // Version(Windows8) || Version(Windows2012): > 827 static if (_WIN32_WINNT >= 0x602) { > 828 DWORD WinHttpCreateProxyResolver(HINTERNET hSession, HINTERNET *phResolv > 829 void WinHttpFreeProxyResult(WINHTTP_PROXY_RESULT *pProxyResult); > 830 DWORD WinHttpGetProxyForUrlEx(HINTERNET hResolver, PCWSTR pcwszUrl, > 831 WINHTTP_AUTOPROXY_OPTIONS *pAutoProxyOptio > 832 DWORD WinHttpGetProxyResult(HINTERNET hResolver, WINHTTP_PROXY_RESULT *p > 833 DWORD WinHttpResetAutoProxy(HINTERNET hSession, DWORD dwFlags); > 834 DWORD WinHttpWebSocketClose(HINTERNET hWebSocket, USHORT usStatus, PVOID > 835 HINTERNET WinHttpWebSocketCompleteUpgrade(HINTERNET hRequest, DWORD_PTR > 836 DWORD WinHttpWebSocketQueryCloseStatus(HINTERNET hWebSocket, USHORT *pus > 837 DWORD dwReasonLength, DWORD *pdwR > 838 DWORD WinHttpWebSocketReceive(HINTERNET hWebSocket, PVOID pvBuffer, DWO > 839 DWORD *pdwBytesRead, WINHTTP_WEB_SOCKET_BU > 840 DWORD WinHttpWebSocketSend(HINTERNET hWebSocket, WINHTTP_WEB_SOCKET_BUFF > 841 PVOID pvBuffer, DWORD dwBufferLength); > 842 DWORD WinHttpWebSocketShutdown(HINTERNET hWebSocket, USHORT usStatus, PV > 843 } > 844 }

Modified src/win32/wininet.d from [1a3947efdf6afa74] to [f0c30efc42e2bee3].

5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * by Stewart Gordon * 7 * by Stewart Gordon * 8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.wininet; 11 module win32.wininet; > 12 pragma(lib, "wininet"); 12 13 13 // FIXME: check types and grouping of constants 14 // FIXME: check types and grouping of constants 14 15 15 import win32.windows; 16 import win32.windows; 16 17 17 enum { 18 enum { 18 INTERNET_INVALID_PORT_NUMBER = 0, 19 INTERNET_INVALID_PORT_NUMBER = 0, ................................................................................................................................................................................ 213 INTERNET_STATUS_CONNECTION_CLOSED = 51, 214 INTERNET_STATUS_CONNECTION_CLOSED = 51, 214 INTERNET_STATUS_HANDLE_CREATED = 60, 215 INTERNET_STATUS_HANDLE_CREATED = 60, 215 INTERNET_STATUS_HANDLE_CLOSING = 70, 216 INTERNET_STATUS_HANDLE_CLOSING = 70, 216 INTERNET_STATUS_REQUEST_COMPLETE = 100, 217 INTERNET_STATUS_REQUEST_COMPLETE = 100, 217 INTERNET_STATUS_REDIRECT = 110 218 INTERNET_STATUS_REDIRECT = 110 218 } 219 } 219 220 220 const INTERNET_INVALID_STATUS_CALLBACK < 221 = cast(INTERNET_STATUS_CALLBACK) -1; < 222 < 223 enum { 221 enum { 224 FTP_TRANSFER_TYPE_UNKNOWN = 0, 222 FTP_TRANSFER_TYPE_UNKNOWN = 0, 225 FTP_TRANSFER_TYPE_ASCII = 1, 223 FTP_TRANSFER_TYPE_ASCII = 1, 226 FTP_TRANSFER_TYPE_BINARY = 2, 224 FTP_TRANSFER_TYPE_BINARY = 2, 227 FTP_TRANSFER_TYPE_MASK = 3 225 FTP_TRANSFER_TYPE_MASK = 3 228 } 226 } 229 227 ................................................................................................................................................................................ 614 } 612 } 615 613 616 enum { 614 enum { 617 INTERNET_CACHE_GROUP_ADD = 0, 615 INTERNET_CACHE_GROUP_ADD = 0, 618 INTERNET_CACHE_GROUP_REMOVE = 1 616 INTERNET_CACHE_GROUP_REMOVE = 1 619 } 617 } 620 618 > 619 mixin DECLARE_HANDLE!("HINTERNET"); // doesn't work - bug 621 alias HANDLE HINTERNET; | 620 /*struct HINTERNET { > 621 HANDLE h; > 622 alias h this; > 623 }*/ 622 alias HANDLE* LPHINTERNET; | 624 alias HINTERNET* LPHINTERNET; 623 625 624 alias LONGLONG GROUPID; 626 alias LONGLONG GROUPID; 625 alias WORD INTERNET_PORT; 627 alias WORD INTERNET_PORT; 626 alias WORD* LPINTERNET_PORT; 628 alias WORD* LPINTERNET_PORT; 627 629 628 enum INTERNET_SCHEME { 630 enum INTERNET_SCHEME { 629 INTERNET_SCHEME_PARTIAL = -2, 631 INTERNET_SCHEME_PARTIAL = -2, ................................................................................................................................................................................ 716 DWORD dwKeySize; 718 DWORD dwKeySize; 717 } 719 } 718 alias INTERNET_CERTIFICATE_INFO* LPINTERNET_CERTIFICATE_INFO; 720 alias INTERNET_CERTIFICATE_INFO* LPINTERNET_CERTIFICATE_INFO; 719 721 720 extern (Windows) alias void function(HINTERNET, DWORD, DWORD, PVOID, DWORD) 722 extern (Windows) alias void function(HINTERNET, DWORD, DWORD, PVOID, DWORD) 721 INTERNET_STATUS_CALLBACK; 723 INTERNET_STATUS_CALLBACK; 722 alias INTERNET_STATUS_CALLBACK* LPINTERNET_STATUS_CALLBACK; 724 alias INTERNET_STATUS_CALLBACK* LPINTERNET_STATUS_CALLBACK; > 725 > 726 const INTERNET_INVALID_STATUS_CALLBACK > 727 = cast(INTERNET_STATUS_CALLBACK) -1; 723 728 724 struct GOPHER_FIND_DATAA { 729 struct GOPHER_FIND_DATAA { 725 CHAR[MAX_GOPHER_DISPLAY_TEXT+1] DisplayString; 730 CHAR[MAX_GOPHER_DISPLAY_TEXT+1] DisplayString; 726 DWORD GopherType; 731 DWORD GopherType; 727 DWORD SizeLow; 732 DWORD SizeLow; 728 DWORD SizeHigh; 733 DWORD SizeHigh; 729 FILETIME LastModificationTime; 734 FILETIME LastModificationTime;

Modified src/win32/winioctl.d from [0061631e5533d8ae] to [21d3d57439478e49].

Modified src/win32/winldap.d from [b2194d0c5279bcf1] to [62fd1c79ab827116].

Modified src/win32/winnetwk.d from [95bc9e92ac61060b] to [6064424d92bdbf3b].

5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * by Stewart Gordon * 7 * by Stewart Gordon * 8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.winnetwk; 11 module win32.winnetwk; 12 pragma(lib, "mpr.lib"); | 12 pragma(lib, "mpr"); 13 13 14 private import win32.winbase, win32.winerror, win32.winnt; 14 private import win32.winbase, win32.winerror, win32.winnt; 15 15 16 enum : DWORD { 16 enum : DWORD { 17 WNNC_NET_MSNET = 0x00010000, 17 WNNC_NET_MSNET = 0x00010000, 18 WNNC_NET_LANMAN = 0x00020000, 18 WNNC_NET_LANMAN = 0x00020000, 19 WNNC_NET_NETWARE = 0x00030000, 19 WNNC_NET_NETWARE = 0x00030000,

Modified src/win32/winnls.d from [7ac912f533a75996] to [36a7fbecd1a8b466].

5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * by Stewart Gordon * 7 * by Stewart Gordon * 8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.winnls; 11 module win32.winnls; 12 pragma(lib, "kernel32.lib"); | 12 pragma(lib, "kernel32"); 13 13 14 private import win32.basetsd, win32.w32api, win32.winbase, win32.windef; 14 private import win32.basetsd, win32.w32api, win32.winbase, win32.windef; 15 15 16 alias DWORD LCTYPE, CALTYPE, CALID, LGRPID, GEOID, GEOTYPE, GEOCLASS; 16 alias DWORD LCTYPE, CALTYPE, CALID, LGRPID, GEOID, GEOTYPE, GEOCLASS; 17 17 18 const size_t 18 const size_t 19 MAX_DEFAULTCHAR = 2, 19 MAX_DEFAULTCHAR = 2, ................................................................................................................................................................................ 461 LGRPID_ARABIC, 461 LGRPID_ARABIC, 462 LGRPID_VIETNAMESE, 462 LGRPID_VIETNAMESE, 463 LGRPID_INDIC, 463 LGRPID_INDIC, 464 LGRPID_GEORGIAN, 464 LGRPID_GEORGIAN, 465 LGRPID_ARMENIAN // = 17 465 LGRPID_ARMENIAN // = 17 466 } 466 } 467 467 468 static if (WINVER >= 0x500) { | 468 static if (_WIN32_WINNT >= 0x500) { 469 enum : LCTYPE { 469 enum : LCTYPE { 470 LOCALE_SYEARMONTH = 0x1006, 470 LOCALE_SYEARMONTH = 0x1006, 471 LOCALE_SENGCURRNAME = 0x1007, 471 LOCALE_SENGCURRNAME = 0x1007, 472 LOCALE_SNATIVECURRNAME = 0x1008, 472 LOCALE_SNATIVECURRNAME = 0x1008, 473 LOCALE_IDEFAULTEBCDICCODEPAGE = 0x1012, 473 LOCALE_IDEFAULTEBCDICCODEPAGE = 0x1012, 474 LOCALE_SSORTNAME = 0x1013, 474 LOCALE_SSORTNAME = 0x1013, 475 LOCALE_IDIGITSUBSTITUTION = 0x1014, 475 LOCALE_IDIGITSUBSTITUTION = 0x1014, ................................................................................................................................................................................ 487 enum : CALTYPE { 487 enum : CALTYPE { 488 CAL_SYEARMONTH = 47, 488 CAL_SYEARMONTH = 47, 489 CAL_ITWODIGITYEARMAX = 48, 489 CAL_ITWODIGITYEARMAX = 48, 490 CAL_NOUSEROVERRIDE = LOCALE_NOUSEROVERRIDE, 490 CAL_NOUSEROVERRIDE = LOCALE_NOUSEROVERRIDE, 491 CAL_RETURN_NUMBER = LOCALE_RETURN_NUMBER, 491 CAL_RETURN_NUMBER = LOCALE_RETURN_NUMBER, 492 CAL_USE_CP_ACP = LOCALE_USE_CP_ACP 492 CAL_USE_CP_ACP = LOCALE_USE_CP_ACP 493 } 493 } 494 } // (WINVER >= 0x500) | 494 } // (_WIN32_WINNT >= 0x500) 495 495 496 extern (Windows) { 496 extern (Windows) { 497 alias BOOL function(LPSTR) CALINFO_ENUMPROCA; 497 alias BOOL function(LPSTR) CALINFO_ENUMPROCA; 498 alias BOOL function(LPWSTR) CALINFO_ENUMPROCW; 498 alias BOOL function(LPWSTR) CALINFO_ENUMPROCW; 499 alias BOOL function(LPSTR, CALID) CALINFO_ENUMPROCEXA; 499 alias BOOL function(LPSTR, CALID) CALINFO_ENUMPROCEXA; 500 alias BOOL function(LPWSTR, CALID) CALINFO_ENUMPROCEXW; 500 alias BOOL function(LPWSTR, CALID) CALINFO_ENUMPROCEXW; 501 alias BOOL function(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR) 501 alias BOOL function(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR) ................................................................................................................................................................................ 641 int FoldStringW(DWORD, LPCWSTR, int, LPWSTR, int); 641 int FoldStringW(DWORD, LPCWSTR, int, LPWSTR, int); 642 UINT GetACP(); 642 UINT GetACP(); 643 int GetCalendarInfoA(LCID, CALID, CALTYPE, LPSTR, int, LPDWORD); 643 int GetCalendarInfoA(LCID, CALID, CALTYPE, LPSTR, int, LPDWORD); 644 int GetCalendarInfoW(LCID, CALID, CALTYPE, LPWSTR, int, LPDWORD); 644 int GetCalendarInfoW(LCID, CALID, CALTYPE, LPWSTR, int, LPDWORD); 645 BOOL GetCPInfo(UINT, LPCPINFO); 645 BOOL GetCPInfo(UINT, LPCPINFO); 646 BOOL GetCPInfoExA(UINT, DWORD, LPCPINFOEXA); 646 BOOL GetCPInfoExA(UINT, DWORD, LPCPINFOEXA); 647 BOOL GetCPInfoExW(UINT, DWORD, LPCPINFOEXW); 647 BOOL GetCPInfoExW(UINT, DWORD, LPCPINFOEXW); 648 int GetCurrencyFormatA(LCID, DWORD, LPCSTR, CPtr!(CURRENCYFMTA), LPSTR, | 648 int GetCurrencyFormatA(LCID, DWORD, LPCSTR, const(CURRENCYFMTA)*, LPSTR 649 int GetCurrencyFormatW(LCID, DWORD, LPCWSTR, CPtr!(CURRENCYFMTW), LPWST | 649 int GetCurrencyFormatW(LCID, DWORD, LPCWSTR, const(CURRENCYFMTW)*, LPWS 650 int); 650 int); 651 int GetDateFormatA(LCID, DWORD, CPtr!(SYSTEMTIME), LPCSTR, LPSTR, int); | 651 int GetDateFormatA(LCID, DWORD, const(SYSTEMTIME)*, LPCSTR, LPSTR, int) 652 int GetDateFormatW(LCID, DWORD, CPtr!(SYSTEMTIME), LPCWSTR, LPWSTR, int | 652 int GetDateFormatW(LCID, DWORD, const(SYSTEMTIME)*, LPCWSTR, LPWSTR, in 653 int GetGeoInfoA(GEOID, GEOTYPE, LPSTR, int, LANGID); 653 int GetGeoInfoA(GEOID, GEOTYPE, LPSTR, int, LANGID); 654 int GetGeoInfoW(GEOID, GEOTYPE, LPWSTR, int, LANGID); 654 int GetGeoInfoW(GEOID, GEOTYPE, LPWSTR, int, LANGID); 655 int GetLocaleInfoA(LCID, LCTYPE, LPSTR, int); 655 int GetLocaleInfoA(LCID, LCTYPE, LPSTR, int); 656 int GetLocaleInfoW(LCID, LCTYPE, LPWSTR, int); 656 int GetLocaleInfoW(LCID, LCTYPE, LPWSTR, int); 657 BOOL GetNLSVersion(NLS_FUNCTION, LCID, LPNLSVERSIONINFO); 657 BOOL GetNLSVersion(NLS_FUNCTION, LCID, LPNLSVERSIONINFO); 658 int GetNumberFormatA(LCID, DWORD, LPCSTR, CPtr!(NUMBERFMTA), LPSTR, int | 658 int GetNumberFormatA(LCID, DWORD, LPCSTR, const(NUMBERFMTA)*, LPSTR, in 659 int GetNumberFormatW(LCID, DWORD, LPCWSTR, CPtr!(NUMBERFMTW), LPWSTR, i | 659 int GetNumberFormatW(LCID, DWORD, LPCWSTR, const(NUMBERFMTW)*, LPWSTR, 660 UINT GetOEMCP(); 660 UINT GetOEMCP(); 661 BOOL GetStringTypeA(LCID, DWORD, LPCSTR, int, LPWORD); 661 BOOL GetStringTypeA(LCID, DWORD, LPCSTR, int, LPWORD); 662 BOOL GetStringTypeW(DWORD, LPCWSTR, int, LPWORD); 662 BOOL GetStringTypeW(DWORD, LPCWSTR, int, LPWORD); 663 BOOL GetStringTypeExA(LCID, DWORD, LPCSTR, int, LPWORD); 663 BOOL GetStringTypeExA(LCID, DWORD, LPCSTR, int, LPWORD); 664 BOOL GetStringTypeExW(LCID, DWORD, LPCWSTR, int, LPWORD); 664 BOOL GetStringTypeExW(LCID, DWORD, LPCWSTR, int, LPWORD); 665 LANGID GetSystemDefaultLangID(); 665 LANGID GetSystemDefaultLangID(); 666 LCID GetSystemDefaultLCID(); 666 LCID GetSystemDefaultLCID(); 667 LCID GetThreadLocale(); 667 LCID GetThreadLocale(); 668 int GetTimeFormatA(LCID, DWORD, CPtr!(SYSTEMTIME), LPCSTR, LPSTR, int); | 668 int GetTimeFormatA(LCID, DWORD, const(SYSTEMTIME)*, LPCSTR, LPSTR, int) 669 int GetTimeFormatW(LCID, DWORD, CPtr!(SYSTEMTIME), LPCWSTR, LPWSTR, int | 669 int GetTimeFormatW(LCID, DWORD, const(SYSTEMTIME)*, LPCWSTR, LPWSTR, in 670 LANGID GetUserDefaultLangID(); 670 LANGID GetUserDefaultLangID(); 671 LCID GetUserDefaultLCID(); 671 LCID GetUserDefaultLCID(); 672 GEOID GetUserGeoID(GEOCLASS); 672 GEOID GetUserGeoID(GEOCLASS); 673 BOOL IsDBCSLeadByte(BYTE); 673 BOOL IsDBCSLeadByte(BYTE); 674 BOOL IsDBCSLeadByteEx(UINT, BYTE); 674 BOOL IsDBCSLeadByteEx(UINT, BYTE); 675 BOOL IsNLSDefinedString(NLS_FUNCTION, DWORD, LPNLSVERSIONINFO, LPCWSTR, 675 BOOL IsNLSDefinedString(NLS_FUNCTION, DWORD, LPNLSVERSIONINFO, LPCWSTR, 676 int); 676 int); ................................................................................................................................................................................ 684 BOOL SetLocaleInfoA(LCID, LCTYPE, LPCSTR); 684 BOOL SetLocaleInfoA(LCID, LCTYPE, LPCSTR); 685 BOOL SetLocaleInfoW(LCID, LCTYPE, LPCWSTR); 685 BOOL SetLocaleInfoW(LCID, LCTYPE, LPCWSTR); 686 BOOL SetThreadLocale(LCID); 686 BOOL SetThreadLocale(LCID); 687 BOOL SetUserGeoID(GEOID); 687 BOOL SetUserGeoID(GEOID); 688 int WideCharToMultiByte(UINT, DWORD, LPCWSTR, int, LPSTR, int, LPCSTR, 688 int WideCharToMultiByte(UINT, DWORD, LPCWSTR, int, LPSTR, int, LPCSTR, 689 LPBOOL); 689 LPBOOL); 690 690 691 static if (WINVER >= 0x410) { | 691 static if (_WIN32_WINNT >= 0x410) { 692 BOOL EnumCalendarInfoExA(CALINFO_ENUMPROCEXA, LCID, CALID, CALTY 692 BOOL EnumCalendarInfoExA(CALINFO_ENUMPROCEXA, LCID, CALID, CALTY 693 BOOL EnumCalendarInfoExW(CALINFO_ENUMPROCEXW, LCID, CALID, CALTY 693 BOOL EnumCalendarInfoExW(CALINFO_ENUMPROCEXW, LCID, CALID, CALTY 694 BOOL EnumDateFormatsExA(DATEFMT_ENUMPROCEXA, LCID, DWORD); 694 BOOL EnumDateFormatsExA(DATEFMT_ENUMPROCEXA, LCID, DWORD); 695 BOOL EnumDateFormatsExW(DATEFMT_ENUMPROCEXW, LCID, DWORD); 695 BOOL EnumDateFormatsExW(DATEFMT_ENUMPROCEXW, LCID, DWORD); 696 BOOL IsValidLanguageGroup(LGRPID, DWORD); 696 BOOL IsValidLanguageGroup(LGRPID, DWORD); 697 } 697 } 698 698 699 static if (WINVER >= 0x500) { | 699 static if (_WIN32_WINNT >= 0x500) { 700 LANGID GetSystemDefaultUILanguage(); 700 LANGID GetSystemDefaultUILanguage(); 701 LANGID GetUserDefaultUILanguage(); 701 LANGID GetUserDefaultUILanguage(); 702 702 703 static if (_WIN32_WINNT_ONLY) { < 704 BOOL EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA, | 703 BOOL EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA, DWORD, 705 LONG_PTR); | 704 LONG_PTR); 706 BOOL EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW, | 705 BOOL EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW, DWORD, 707 LONG_PTR); | 706 LONG_PTR); 708 BOOL EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA | 707 BOOL EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA, LGRPID 709 DWORD, LONG_PTR); | 708 DWORD, LONG_PTR); 710 BOOL EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW | 709 BOOL EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW, LGRPID 711 DWORD, LONG_PTR); | 710 DWORD, LONG_PTR); 712 BOOL EnumUILanguagesA(UILANGUAGE_ENUMPROCA, DWORD, LONG_ | 711 BOOL EnumUILanguagesA(UILANGUAGE_ENUMPROCA, DWORD, LONG_PTR); 713 BOOL EnumUILanguagesW(UILANGUAGE_ENUMPROCW, DWORD, LONG_ | 712 BOOL EnumUILanguagesW(UILANGUAGE_ENUMPROCW, DWORD, LONG_PTR); 714 } < 715 } 713 } 716 } 714 } 717 715 718 version (Unicode) { 716 version (Unicode) { 719 alias CALINFO_ENUMPROCW CALINFO_ENUMPROC; 717 alias CALINFO_ENUMPROCW CALINFO_ENUMPROC; 720 alias CALINFO_ENUMPROCEXW CALINFO_ENUMPROCEX; 718 alias CALINFO_ENUMPROCEXW CALINFO_ENUMPROCEX; 721 alias LOCALE_ENUMPROCW LOCALE_ENUMPROC; 719 alias LOCALE_ENUMPROCW LOCALE_ENUMPROC; ................................................................................................................................................................................ 747 alias GetNumberFormatW GetNumberFormat; 745 alias GetNumberFormatW GetNumberFormat; 748 alias GetStringTypeExW GetStringTypeEx; 746 alias GetStringTypeExW GetStringTypeEx; 749 alias GetTimeFormatW GetTimeFormat; 747 alias GetTimeFormatW GetTimeFormat; 750 alias LCMapStringW LCMapString; 748 alias LCMapStringW LCMapString; 751 alias SetCalendarInfoW SetCalendarInfo; 749 alias SetCalendarInfoW SetCalendarInfo; 752 alias SetLocaleInfoW SetLocaleInfo; 750 alias SetLocaleInfoW SetLocaleInfo; 753 751 754 static if (WINVER >= 0x410) { | 752 static if (_WIN32_WINNT >= 0x410) { 755 alias EnumCalendarInfoExW EnumCalendarInfoEx; 753 alias EnumCalendarInfoExW EnumCalendarInfoEx; 756 alias EnumDateFormatsExW EnumDateFormatsEx; 754 alias EnumDateFormatsExW EnumDateFormatsEx; 757 } 755 } 758 756 759 static if (_WIN32_WINNT_ONLY && WINVER >= 0x500) { | 757 static if (_WIN32_WINNT >= 0x500) { 760 alias EnumSystemLanguageGroupsW EnumSystemLanguageGroups; 758 alias EnumSystemLanguageGroupsW EnumSystemLanguageGroups; 761 alias EnumLanguageGroupLocalesW EnumLanguageGroupLocales; 759 alias EnumLanguageGroupLocalesW EnumLanguageGroupLocales; 762 alias EnumUILanguagesW EnumUILanguages; 760 alias EnumUILanguagesW EnumUILanguages; 763 } 761 } 764 762 765 } else { 763 } else { 766 alias CALINFO_ENUMPROCA CALINFO_ENUMPROC; 764 alias CALINFO_ENUMPROCA CALINFO_ENUMPROC; ................................................................................................................................................................................ 794 alias GetNumberFormatA GetNumberFormat; 792 alias GetNumberFormatA GetNumberFormat; 795 alias GetStringTypeExA GetStringTypeEx; 793 alias GetStringTypeExA GetStringTypeEx; 796 alias GetTimeFormatA GetTimeFormat; 794 alias GetTimeFormatA GetTimeFormat; 797 alias LCMapStringA LCMapString; 795 alias LCMapStringA LCMapString; 798 alias SetCalendarInfoA SetCalendarInfo; 796 alias SetCalendarInfoA SetCalendarInfo; 799 alias SetLocaleInfoA SetLocaleInfo; 797 alias SetLocaleInfoA SetLocaleInfo; 800 798 801 static if (WINVER >= 0x410) { | 799 static if (_WIN32_WINNT >= 0x410) { 802 alias EnumCalendarInfoExA EnumCalendarInfoEx; 800 alias EnumCalendarInfoExA EnumCalendarInfoEx; 803 alias EnumDateFormatsExA EnumDateFormatsEx; 801 alias EnumDateFormatsExA EnumDateFormatsEx; 804 } 802 } 805 803 806 static if (_WIN32_WINNT_ONLY && WINVER >= 0x500) { | 804 static if (_WIN32_WINNT >= 0x500) { 807 alias EnumSystemLanguageGroupsA EnumSystemLanguageGroups; 805 alias EnumSystemLanguageGroupsA EnumSystemLanguageGroups; 808 alias EnumLanguageGroupLocalesA EnumLanguageGroupLocales; 806 alias EnumLanguageGroupLocalesA EnumLanguageGroupLocales; 809 alias EnumUILanguagesA EnumUILanguages; 807 alias EnumUILanguagesA EnumUILanguages; 810 } 808 } 811 } 809 }

Modified src/win32/winnt.d from [217222ad3190ccc6] to [0db4dca1f0f739a5].

40 alias long* PLONGLONG; 40 alias long* PLONGLONG; 41 alias ulong* PDWORDLONG, PULONGLONG; 41 alias ulong* PDWORDLONG, PULONGLONG; 42 42 43 // FIXME(MinGW) for __WIN64 43 // FIXME(MinGW) for __WIN64 44 alias void* PVOID64; 44 alias void* PVOID64; 45 45 46 // const versions 46 // const versions 47 alias CPtr!(char) LPCCH, PCSTR, LPCSTR; | 47 alias const(char)* LPCCH, PCSTR, LPCSTR; 48 alias CPtr!(wchar) LPCWCH, PCWCH, LPCWSTR, PCWSTR; | 48 alias const(wchar)* LPCWCH, PCWCH, LPCWSTR, PCWSTR; 49 49 50 version (Unicode) { 50 version (Unicode) { 51 alias WCHAR TCHAR, _TCHAR; 51 alias WCHAR TCHAR, _TCHAR; 52 } else { 52 } else { 53 alias CHAR TCHAR, _TCHAR; 53 alias CHAR TCHAR, _TCHAR; 54 } 54 } 55 55 56 alias TCHAR TBYTE; | 56 alias TCHAR TBYTE; 57 alias TCHAR* PTCH, PTBYTE, LPTCH, PTSTR, LPTSTR, LP, PTCHAR; | 57 alias TCHAR* PTCH, PTBYTE, LPTCH, PTSTR, LPTSTR, LP, PTCHAR; 58 alias CPtr!(TCHAR) LPCTSTR; | 58 alias const(TCHAR)* LPCTSTR; 59 59 60 const char ANSI_NULL = '\0'; 60 const char ANSI_NULL = '\0'; 61 const wchar UNICODE_NULL = '\0'; 61 const wchar UNICODE_NULL = '\0'; 62 62 63 const APPLICATION_ERROR_MASK = 0x20000000; 63 const APPLICATION_ERROR_MASK = 0x20000000; 64 const ERROR_SEVERITY_SUCCESS = 0x00000000; 64 const ERROR_SEVERITY_SUCCESS = 0x00000000; 65 const ERROR_SEVERITY_INFORMATIONAL = 0x40000000; 65 const ERROR_SEVERITY_INFORMATIONAL = 0x40000000; ................................................................................................................................................................................ 982 KEY_NOTIFY = 0x000010, 982 KEY_NOTIFY = 0x000010, 983 KEY_CREATE_LINK = 0x000020, 983 KEY_CREATE_LINK = 0x000020, 984 KEY_WRITE = 0x020006, 984 KEY_WRITE = 0x020006, 985 KEY_EXECUTE = 0x020019, 985 KEY_EXECUTE = 0x020019, 986 KEY_READ = 0x020019, 986 KEY_READ = 0x020019, 987 KEY_ALL_ACCESS = 0x0F003F; 987 KEY_ALL_ACCESS = 0x0F003F; 988 988 989 static if (WINVER >= 0x502) { | 989 static if (_WIN32_WINNT >= 0x502) { 990 const ACCESS_MASK 990 const ACCESS_MASK 991 KEY_WOW64_64KEY = 0x000100, 991 KEY_WOW64_64KEY = 0x000100, 992 KEY_WOW64_32KEY = 0x000200; 992 KEY_WOW64_32KEY = 0x000200; 993 } 993 } 994 994 995 const DWORD 995 const DWORD 996 REG_WHOLE_HIVE_VOLATILE = 1, 996 REG_WHOLE_HIVE_VOLATILE = 1, ................................................................................................................................................................................ 1871 WT_EXECUTEINWAITTHREAD = 0x00000004, 1871 WT_EXECUTEINWAITTHREAD = 0x00000004, 1872 WT_EXECUTEONLYONCE = 0x00000008, 1872 WT_EXECUTEONLYONCE = 0x00000008, 1873 WT_EXECUTELONGFUNCTION = 0x00000010, 1873 WT_EXECUTELONGFUNCTION = 0x00000010, 1874 WT_EXECUTEINTIMERTHREAD = 0x00000020, 1874 WT_EXECUTEINTIMERTHREAD = 0x00000020, 1875 WT_EXECUTEINPERSISTENTTHREAD = 0x00000080, 1875 WT_EXECUTEINPERSISTENTTHREAD = 0x00000080, 1876 WT_TRANSFER_IMPERSONATION = 0x00000100; 1876 WT_TRANSFER_IMPERSONATION = 0x00000100; 1877 1877 1878 static if (_WIN32_WINNT_ONLY) { < 1879 static if (_WIN32_WINNT >= 0x500) { | 1878 static if (_WIN32_WINNT >= 0x500) { 1880 const DWORD | 1879 const DWORD 1881 VER_MINORVERSION = 0x01, | 1880 VER_MINORVERSION = 0x01, 1882 VER_MAJORVERSION = 0x02, | 1881 VER_MAJORVERSION = 0x02, 1883 VER_BUILDNUMBER = 0x04, | 1882 VER_BUILDNUMBER = 0x04, 1884 VER_PLATFORMID = 0x08, | 1883 VER_PLATFORMID = 0x08, 1885 VER_SERVICEPACKMINOR = 0x10, | 1884 VER_SERVICEPACKMINOR = 0x10, 1886 VER_SERVICEPACKMAJOR = 0x20, | 1885 VER_SERVICEPACKMAJOR = 0x20, 1887 VER_SUITENAME = 0x40, | 1886 VER_SUITENAME = 0x40, 1888 VER_PRODUCT_TYPE = 0x80; | 1887 VER_PRODUCT_TYPE = 0x80; 1889 | 1888 1890 enum : DWORD { | 1889 enum : DWORD { 1891 VER_EQUAL = 1, | 1890 VER_EQUAL = 1, 1892 VER_GREATER, | 1891 VER_GREATER, 1893 VER_GREATER_EQUAL, | 1892 VER_GREATER_EQUAL, 1894 VER_LESS, | 1893 VER_LESS, 1895 VER_LESS_EQUAL, | 1894 VER_LESS_EQUAL, 1896 VER_AND, | 1895 VER_AND, 1897 VER_OR // = 7 | 1896 VER_OR // = 7 1898 } | 1897 } 1899 } | 1898 } 1900 | 1899 1901 static if (_WIN32_WINNT >= 0x501) { | 1900 static if (_WIN32_WINNT >= 0x501) { 1902 enum : ULONG { | 1901 enum : ULONG { 1903 ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION = | 1902 ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION = 1, 1904 ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION, | 1903 ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION, 1905 ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION, | 1904 ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION, 1906 ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION, | 1905 ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION, 1907 ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION, | 1906 ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION, 1908 ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION, | 1907 ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION, 1909 ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION, // = | 1908 ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION, // = 7 1910 ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES = | 1909 ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES = 9 1911 } < 1912 } 1910 } 1913 } 1911 } 1914 1912 1915 // Macros 1913 // Macros 1916 BYTE BTYPE(BYTE x) { return cast(BYTE) (x & N_BTMASK); } 1914 BYTE BTYPE(BYTE x) { return cast(BYTE) (x & N_BTMASK); } 1917 bool ISPTR(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_POINTER << N_BTSHF 1915 bool ISPTR(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_POINTER << N_BTSHF 1918 bool ISFCN(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_FUNCTION << N_BTSH 1916 bool ISFCN(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_FUNCTION << N_BTSH ................................................................................................................................................................................ 2117 DWORD Eip; 2115 DWORD Eip; 2118 DWORD SegCs; 2116 DWORD SegCs; 2119 DWORD EFlags; 2117 DWORD EFlags; 2120 DWORD Esp; 2118 DWORD Esp; 2121 DWORD SegSs; 2119 DWORD SegSs; 2122 BYTE[MAXIMUM_SUPPORTED_EXTENSION] ExtendedRegisters; 2120 BYTE[MAXIMUM_SUPPORTED_EXTENSION] ExtendedRegisters; 2123 } 2121 } > 2122 > 2123 } else version(X86_64) > 2124 { > 2125 const CONTEXT_AMD64 = 0x100000; > 2126 > 2127 const CONTEXT_CONTROL = (CONTEXT_AMD64 | 0x1L); > 2128 const CONTEXT_INTEGER = (CONTEXT_AMD64 | 0x2L); > 2129 const CONTEXT_SEGMENTS = (CONTEXT_AMD64 | 0x4L); > 2130 const CONTEXT_FLOATING_POINT = (CONTEXT_AMD64 | 0x8L); > 2131 const CONTEXT_DEBUG_REGISTERS = (CONTEXT_AMD64 | 0x10L); > 2132 > 2133 const CONTEXT_FULL = (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATI > 2134 const CONTEXT_ALL = (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMEN > 2135 > 2136 const CONTEXT_EXCEPTION_ACTIVE = 0x8000000; > 2137 const CONTEXT_SERVICE_ACTIVE = 0x10000000; > 2138 const CONTEXT_EXCEPTION_REQUEST = 0x40000000; > 2139 const CONTEXT_EXCEPTION_REPORTING = 0x80000000; > 2140 > 2141 const INITIAL_MXCSR = 0x1f80; > 2142 const INITIAL_FPCSR = 0x027f; > 2143 > 2144 align(16) struct M128A > 2145 { > 2146 ULONGLONG Low; > 2147 LONGLONG High; > 2148 } > 2149 alias M128A* PM128A; > 2150 > 2151 struct XMM_SAVE_AREA32 > 2152 { > 2153 WORD ControlWord; > 2154 WORD StatusWord; > 2155 BYTE TagWord; > 2156 BYTE Reserved1; > 2157 WORD ErrorOpcode; > 2158 DWORD ErrorOffset; > 2159 WORD ErrorSelector; > 2160 WORD Reserved2; > 2161 DWORD DataOffset; > 2162 WORD DataSelector; > 2163 WORD Reserved3; > 2164 DWORD MxCsr; > 2165 DWORD MxCsr_Mask; > 2166 M128A[8] FloatRegisters; > 2167 M128A[16] XmmRegisters; > 2168 BYTE[96] Reserved4; > 2169 } > 2170 alias XMM_SAVE_AREA32 PXMM_SAVE_AREA32; > 2171 const LEGACY_SAVE_AREA_LENGTH = XMM_SAVE_AREA32.sizeof; > 2172 > 2173 align(16) struct CONTEXT > 2174 { > 2175 DWORD64 P1Home; > 2176 DWORD64 P2Home; > 2177 DWORD64 P3Home; > 2178 DWORD64 P4Home; > 2179 DWORD64 P5Home; > 2180 DWORD64 P6Home; > 2181 DWORD ContextFlags; > 2182 DWORD MxCsr; > 2183 WORD SegCs; > 2184 WORD SegDs; > 2185 WORD SegEs; > 2186 WORD SegFs; > 2187 WORD SegGs; > 2188 WORD SegSs; > 2189 DWORD EFlags; > 2190 DWORD64 Dr0; > 2191 DWORD64 Dr1; > 2192 DWORD64 Dr2; > 2193 DWORD64 Dr3; > 2194 DWORD64 Dr6; > 2195 DWORD64 Dr7; > 2196 DWORD64 Rax; > 2197 DWORD64 Rcx; > 2198 DWORD64 Rdx; > 2199 DWORD64 Rbx; > 2200 DWORD64 Rsp; > 2201 DWORD64 Rbp; > 2202 DWORD64 Rsi; > 2203 DWORD64 Rdi; > 2204 DWORD64 R8; > 2205 DWORD64 R9; > 2206 DWORD64 R10; > 2207 DWORD64 R11; > 2208 DWORD64 R12; > 2209 DWORD64 R13; > 2210 DWORD64 R14; > 2211 DWORD64 R15; > 2212 DWORD64 Rip; > 2213 union > 2214 { > 2215 XMM_SAVE_AREA32 FltSave; > 2216 XMM_SAVE_AREA32 FloatSave; > 2217 struct > 2218 { > 2219 M128A[2] Header; > 2220 M128A[8] Legacy; > 2221 M128A Xmm0; > 2222 M128A Xmm1; > 2223 M128A Xmm2; > 2224 M128A Xmm3; > 2225 M128A Xmm4; > 2226 M128A Xmm5; > 2227 M128A Xmm6; > 2228 M128A Xmm7; > 2229 M128A Xmm8; > 2230 M128A Xmm9; > 2231 M128A Xmm10; > 2232 M128A Xmm11; > 2233 M128A Xmm12; > 2234 M128A Xmm13; > 2235 M128A Xmm14; > 2236 M128A Xmm15; > 2237 }; > 2238 }; > 2239 M128A[26] VectorRegister; > 2240 DWORD64 VectorControl; > 2241 DWORD64 DebugControl; > 2242 DWORD64 LastBranchToRip; > 2243 DWORD64 LastBranchFromRip; > 2244 DWORD64 LastExceptionToRip; > 2245 DWORD64 LastExceptionFromRip; > 2246 } 2124 2247 2125 } else { 2248 } else { 2126 static assert(false, "Unsupported CPU"); 2249 static assert(false, "Unsupported CPU"); 2127 // Versions for PowerPC, Alpha, SHX, and MIPS removed. 2250 // Versions for PowerPC, Alpha, SHX, and MIPS removed. 2128 } 2251 } 2129 2252 2130 alias CONTEXT* PCONTEXT, LPCONTEXT; 2253 alias CONTEXT* PCONTEXT, LPCONTEXT; ................................................................................................................................................................................ 3568 alias JOBOBJECT_EXTENDED_LIMIT_INFORMATION* PJOBOBJECT_EXTENDED_LIMIT_INFORMATIO 3691 alias JOBOBJECT_EXTENDED_LIMIT_INFORMATION* PJOBOBJECT_EXTENDED_LIMIT_INFORMATIO 3569 3692 3570 struct JOBOBJECT_JOBSET_INFORMATION { 3693 struct JOBOBJECT_JOBSET_INFORMATION { 3571 DWORD MemberLevel; 3694 DWORD MemberLevel; 3572 } 3695 } 3573 alias JOBOBJECT_JOBSET_INFORMATION* PJOBOBJECT_JOBSET_INFORMATION; 3696 alias JOBOBJECT_JOBSET_INFORMATION* PJOBOBJECT_JOBSET_INFORMATION; 3574 3697 3575 // MinGW: Making these defines conditional on WINVER will break ddk includes | 3698 // MinGW: Making these defines conditional on _WIN32_WINNT will break ddk includ 3576 //static if (WINVER >= 0x0500) { | 3699 //static if (_WIN32_WINNT >= 0x500) { 3577 3700 3578 const DWORD 3701 const DWORD 3579 ES_SYSTEM_REQUIRED = 0x00000001, 3702 ES_SYSTEM_REQUIRED = 0x00000001, 3580 ES_DISPLAY_REQUIRED = 0x00000002, 3703 ES_DISPLAY_REQUIRED = 0x00000002, 3581 ES_USER_PRESENT = 0x00000004, 3704 ES_USER_PRESENT = 0x00000004, 3582 ES_CONTINUOUS = 0x80000000; 3705 ES_CONTINUOUS = 0x80000000; 3583 3706 ................................................................................................................................................................................ 3609 PowerActionShutdown, 3732 PowerActionShutdown, 3610 PowerActionShutdownReset, 3733 PowerActionShutdownReset, 3611 PowerActionShutdownOff, 3734 PowerActionShutdownOff, 3612 PowerActionWarmEject 3735 PowerActionWarmEject 3613 } 3736 } 3614 alias POWER_ACTION* PPOWER_ACTION; 3737 alias POWER_ACTION* PPOWER_ACTION; 3615 3738 3616 static if (WINVER >= 0x600) { | 3739 static if (_WIN32_WINNT >= 0x600) { 3617 enum SYSTEM_POWER_CONDITION { 3740 enum SYSTEM_POWER_CONDITION { 3618 PoAc, 3741 PoAc, 3619 PoDc, 3742 PoDc, 3620 PoHot, 3743 PoHot, 3621 PoConditionMaximum 3744 PoConditionMaximum 3622 } 3745 } 3623 alias SYSTEM_POWER_CONDITION* PSYSTEM_POWER_CONDITION; 3746 alias SYSTEM_POWER_CONDITION* PSYSTEM_POWER_CONDITION; ................................................................................................................................................................................ 3841 ULONG MinVideoTimeout; 3964 ULONG MinVideoTimeout; 3842 ULONG MaxVideoTimeout; 3965 ULONG MaxVideoTimeout; 3843 ULONG MinSpindownTimeout; 3966 ULONG MinSpindownTimeout; 3844 ULONG MaxSpindownTimeout; 3967 ULONG MaxSpindownTimeout; 3845 } 3968 } 3846 alias ADMINISTRATOR_POWER_POLICY* PADMINISTRATOR_POWER_POLICY; 3969 alias ADMINISTRATOR_POWER_POLICY* PADMINISTRATOR_POWER_POLICY; 3847 3970 3848 //}//#endif /* WINVER >= 0x0500 */ | 3971 //}//#endif /* _WIN32_WINNT >= 0x500 */ 3849 3972 3850 extern (Windows) { 3973 extern (Windows) { 3851 alias void function(PVOID, DWORD, PVOID) PIMAGE_TLS_CALLBACK; 3974 alias void function(PVOID, DWORD, PVOID) PIMAGE_TLS_CALLBACK; 3852 3975 3853 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { | 3976 static if (_WIN32_WINNT >= 0x500) { 3854 alias LONG function(PEXCEPTION_POINTERS) PVECTORED_EXCEPTION_HAN 3977 alias LONG function(PEXCEPTION_POINTERS) PVECTORED_EXCEPTION_HAN 3855 alias void function(PVOID, BOOLEAN) WAITORTIMERCALLBACKFUNC; 3978 alias void function(PVOID, BOOLEAN) WAITORTIMERCALLBACKFUNC; 3856 } 3979 } 3857 } 3980 } 3858 3981 3859 static if (WINVER >= 0x501) { | 3982 static if (_WIN32_WINNT >= 0x501) { 3860 enum HEAP_INFORMATION_CLASS { 3983 enum HEAP_INFORMATION_CLASS { 3861 HeapCompatibilityInformation 3984 HeapCompatibilityInformation 3862 } 3985 } 3863 3986 3864 enum ACTIVATION_CONTEXT_INFO_CLASS { 3987 enum ACTIVATION_CONTEXT_INFO_CLASS { 3865 ActivationContextBasicInformation = 1, 3988 ActivationContextBasicInformation = 1, 3866 ActivationContextDetailedInformation, 3989 ActivationContextDetailedInformation, ................................................................................................................................................................................ 3886 PCWSTR lpAssemblyEncodedAssemblyIdentity; 4009 PCWSTR lpAssemblyEncodedAssemblyIdentity; 3887 PCWSTR lpAssemblyManifestPath; 4010 PCWSTR lpAssemblyManifestPath; 3888 PCWSTR lpAssemblyPolicyPath; 4011 PCWSTR lpAssemblyPolicyPath; 3889 PCWSTR lpAssemblyDirectoryName; 4012 PCWSTR lpAssemblyDirectoryName; 3890 } 4013 } 3891 alias ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION* 4014 alias ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION* 3892 PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; 4015 PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; 3893 alias CPtr!(ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION) | 4016 alias const(ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION)* 3894 PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; 4017 PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; 3895 4018 3896 struct ACTIVATION_CONTEXT_DETAILED_INFORMATION { 4019 struct ACTIVATION_CONTEXT_DETAILED_INFORMATION { 3897 DWORD dwFlags; 4020 DWORD dwFlags; 3898 DWORD ulFormatVersion; 4021 DWORD ulFormatVersion; 3899 DWORD ulAssemblyCount; 4022 DWORD ulAssemblyCount; 3900 DWORD ulRootManifestPathType; 4023 DWORD ulRootManifestPathType; ................................................................................................................................................................................ 3905 DWORD ulAppDirPathChars; 4028 DWORD ulAppDirPathChars; 3906 PCWSTR lpRootManifestPath; 4029 PCWSTR lpRootManifestPath; 3907 PCWSTR lpRootConfigurationPath; 4030 PCWSTR lpRootConfigurationPath; 3908 PCWSTR lpAppDirPath; 4031 PCWSTR lpAppDirPath; 3909 } 4032 } 3910 alias ACTIVATION_CONTEXT_DETAILED_INFORMATION* 4033 alias ACTIVATION_CONTEXT_DETAILED_INFORMATION* 3911 PACTIVATION_CONTEXT_DETAILED_INFORMATION; 4034 PACTIVATION_CONTEXT_DETAILED_INFORMATION; 3912 alias CPtr!(ACTIVATION_CONTEXT_DETAILED_INFORMATION) | 4035 alias const(ACTIVATION_CONTEXT_DETAILED_INFORMATION)* 3913 PCACTIVATION_CONTEXT_DETAILED_INFORMATION; 4036 PCACTIVATION_CONTEXT_DETAILED_INFORMATION; 3914 4037 3915 struct ACTIVATION_CONTEXT_QUERY_INDEX { 4038 struct ACTIVATION_CONTEXT_QUERY_INDEX { 3916 ULONG ulAssemblyIndex; 4039 ULONG ulAssemblyIndex; 3917 ULONG ulFileIndexInAssembly; 4040 ULONG ulFileIndexInAssembly; 3918 } 4041 } 3919 alias ACTIVATION_CONTEXT_QUERY_INDEX* PACTIVATION_CONTEXT_QUERY_IN | 4042 alias ACTIVATION_CONTEXT_QUERY_INDEX* PACTIVATION_CONTEXT_QUERY_I 3920 alias CPtr!(ACTIVATION_CONTEXT_QUERY_INDEX) PCACTIVATION_CONTEXT_QUERY_I | 4043 alias const(ACTIVATION_CONTEXT_QUERY_INDEX)* PCACTIVATION_CONTEXT_QUERY_ 3921 4044 3922 struct ASSEMBLY_FILE_DETAILED_INFORMATION { 4045 struct ASSEMBLY_FILE_DETAILED_INFORMATION { 3923 DWORD ulFlags; 4046 DWORD ulFlags; 3924 DWORD ulFilenameLength; 4047 DWORD ulFilenameLength; 3925 DWORD ulPathLength; 4048 DWORD ulPathLength; 3926 PCWSTR lpFileName; 4049 PCWSTR lpFileName; 3927 PCWSTR lpFilePath; 4050 PCWSTR lpFilePath; 3928 } 4051 } 3929 alias ASSEMBLY_FILE_DETAILED_INFORMATION* 4052 alias ASSEMBLY_FILE_DETAILED_INFORMATION* 3930 PASSEMBLY_FILE_DETAILED_INFORMATION; 4053 PASSEMBLY_FILE_DETAILED_INFORMATION; 3931 alias CPtr!(ASSEMBLY_FILE_DETAILED_INFORMATION) | 4054 alias const(ASSEMBLY_FILE_DETAILED_INFORMATION)* 3932 PCASSEMBLY_FILE_DETAILED_INFORMATION; 4055 PCASSEMBLY_FILE_DETAILED_INFORMATION; 3933 } 4056 } 3934 4057 3935 version (Unicode) { 4058 version (Unicode) { 3936 alias OSVERSIONINFOW OSVERSIONINFO; 4059 alias OSVERSIONINFOW OSVERSIONINFO; 3937 alias OSVERSIONINFOEXW OSVERSIONINFOEX; 4060 alias OSVERSIONINFOEXW OSVERSIONINFOEX; 3938 } else { 4061 } else { ................................................................................................................................................................................ 3940 alias OSVERSIONINFOEXA OSVERSIONINFOEX; 4063 alias OSVERSIONINFOEXA OSVERSIONINFOEX; 3941 } 4064 } 3942 4065 3943 alias OSVERSIONINFO* POSVERSIONINFO, LPOSVERSIONINFO; 4066 alias OSVERSIONINFO* POSVERSIONINFO, LPOSVERSIONINFO; 3944 alias OSVERSIONINFOEX* POSVERSIONINFOEX, LPOSVERSIONINFOEX; 4067 alias OSVERSIONINFOEX* POSVERSIONINFOEX, LPOSVERSIONINFOEX; 3945 4068 3946 4069 3947 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { | 4070 static if (_WIN32_WINNT >= 0x500) { 3948 extern (Windows) ULONGLONG VerSetConditionMask(ULONGLONG, DWORD, BYTE); 4071 extern (Windows) ULONGLONG VerSetConditionMask(ULONGLONG, DWORD, BYTE); 3949 } 4072 } 3950 4073 3951 version (Win64) { 4074 version (Win64) { 3952 const WORD IMAGE_NT_OPTIONAL_HDR_MAGIC = IMAGE_NT_OPTIONAL_HDR64_MAGIC; 4075 const WORD IMAGE_NT_OPTIONAL_HDR_MAGIC = IMAGE_NT_OPTIONAL_HDR64_MAGIC; 3953 4076 3954 alias IMAGE_ORDINAL_FLAG64 IMAGE_ORDINAL_FLAG; 4077 alias IMAGE_ORDINAL_FLAG64 IMAGE_ORDINAL_FLAG;

Modified src/win32/winperf.d from [785b79f8bda055b1] to [5b2657b99d3ba71d].

78 const PERF_100NSEC_MULTI_TIMER=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA_COU 78 const PERF_100NSEC_MULTI_TIMER=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA_COU 79 const PERF_100NSEC_MULTI_TIMER_INV=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA 79 const PERF_100NSEC_MULTI_TIMER_INV=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA 80 const PERF_RAW_FRACTION=(PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION 80 const PERF_RAW_FRACTION=(PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION 81 const PERF_RAW_BASE=(PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DI 81 const PERF_RAW_BASE=(PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DI 82 const PERF_ELAPSED_TIME=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_ELAPSED| 82 const PERF_ELAPSED_TIME=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_ELAPSED| 83 83 84 struct PERF_DATA_BLOCK { 84 struct PERF_DATA_BLOCK { 85 WCHAR Signature[4]; | 85 WCHAR[4] Signature; 86 DWORD LittleEndian; 86 DWORD LittleEndian; 87 DWORD Version; 87 DWORD Version; 88 DWORD Revision; 88 DWORD Revision; 89 DWORD TotalByteLength; 89 DWORD TotalByteLength; 90 DWORD HeaderLength; 90 DWORD HeaderLength; 91 DWORD NumObjectTypes; 91 DWORD NumObjectTypes; 92 LONG DefaultObject; 92 LONG DefaultObject;

Modified src/win32/winreg.d from [e5d43e62c628c0b0] to [3495de98d7c1ed4e].

5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * by Stewart Gordon * 7 * by Stewart Gordon * 8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.winreg; 11 module win32.winreg; 12 pragma(lib, "advapi32.lib"); | 12 pragma(lib, "advapi32"); 13 13 14 private import win32.w32api, win32.winbase, win32.windef; 14 private import win32.w32api, win32.winbase, win32.windef; 15 15 16 const HKEY | 16 enum : HKEY { // for some reason, DMD errors if I don't give all the values expl 17 HKEY_CLASSES_ROOT = cast(HKEY) 0x80000000, 17 HKEY_CLASSES_ROOT = cast(HKEY) 0x80000000, 18 HKEY_CURRENT_USER = cast(HKEY) 0x80000001, 18 HKEY_CURRENT_USER = cast(HKEY) 0x80000001, 19 HKEY_LOCAL_MACHINE = cast(HKEY) 0x80000002, 19 HKEY_LOCAL_MACHINE = cast(HKEY) 0x80000002, 20 HKEY_USERS = cast(HKEY) 0x80000003, 20 HKEY_USERS = cast(HKEY) 0x80000003, 21 HKEY_PERFORMANCE_DATA = cast(HKEY) 0x80000004, 21 HKEY_PERFORMANCE_DATA = cast(HKEY) 0x80000004, 22 HKEY_CURRENT_CONFIG = cast(HKEY) 0x80000005, 22 HKEY_CURRENT_CONFIG = cast(HKEY) 0x80000005, 23 HKEY_DYN_DATA = cast(HKEY) 0x80000006; | 23 HKEY_DYN_DATA = cast(HKEY) 0x80000006 > 24 } 24 25 25 enum : DWORD { 26 enum : DWORD { 26 REG_OPTION_NON_VOLATILE, 27 REG_OPTION_NON_VOLATILE, 27 REG_OPTION_VOLATILE 28 REG_OPTION_VOLATILE 28 } 29 } 29 30 30 enum : DWORD { 31 enum : DWORD { ................................................................................................................................................................................ 70 DWORD ve_valuelen; 71 DWORD ve_valuelen; 71 DWORD ve_valueptr; 72 DWORD ve_valueptr; 72 DWORD ve_type; 73 DWORD ve_type; 73 } 74 } 74 alias VALENTW* PVALENTW; 75 alias VALENTW* PVALENTW; 75 76 76 // RRF - Registry Routine Flags (for RegGetValue) 77 // RRF - Registry Routine Flags (for RegGetValue) 77 static if (WINVER >= 0x600) { | 78 static if (_WIN32_WINNT >= 0x600) { 78 enum : DWORD { 79 enum : DWORD { 79 RRF_RT_REG_NONE = 0x00000001, 80 RRF_RT_REG_NONE = 0x00000001, 80 RRF_RT_REG_SZ = 0x00000002, 81 RRF_RT_REG_SZ = 0x00000002, 81 RRF_RT_REG_EXPAND_SZ = 0x00000004, 82 RRF_RT_REG_EXPAND_SZ = 0x00000004, 82 RRF_RT_REG_BINARY = 0x00000008, 83 RRF_RT_REG_BINARY = 0x00000008, 83 RRF_RT_REG_DWORD = 0x00000010, 84 RRF_RT_REG_DWORD = 0x00000010, 84 RRF_RT_REG_MULTI_SZ = 0x00000020, 85 RRF_RT_REG_MULTI_SZ = 0x00000020, ................................................................................................................................................................................ 125 LONG RegQueryValueExA(HKEY, LPCSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD); 126 LONG RegQueryValueExA(HKEY, LPCSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD); 126 LONG RegQueryValueExW(HKEY, LPCWSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD); 127 LONG RegQueryValueExW(HKEY, LPCWSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD); 127 LONG RegReplaceKeyA(HKEY, LPCSTR, LPCSTR, LPCSTR); 128 LONG RegReplaceKeyA(HKEY, LPCSTR, LPCSTR, LPCSTR); 128 LONG RegReplaceKeyW(HKEY, LPCWSTR, LPCWSTR, LPCWSTR); 129 LONG RegReplaceKeyW(HKEY, LPCWSTR, LPCWSTR, LPCWSTR); 129 LONG RegSaveKeyA(HKEY, LPCSTR, LPSECURITY_ATTRIBUTES); 130 LONG RegSaveKeyA(HKEY, LPCSTR, LPSECURITY_ATTRIBUTES); 130 LONG RegSaveKeyW(HKEY, LPCWSTR, LPSECURITY_ATTRIBUTES); 131 LONG RegSaveKeyW(HKEY, LPCWSTR, LPSECURITY_ATTRIBUTES); 131 LONG RegSetKeySecurity(HKEY, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR) 132 LONG RegSetKeySecurity(HKEY, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR) 132 LONG RegSetValueExA(HKEY, LPCSTR, DWORD, DWORD, CPtr!(BYTE), DWORD); | 133 LONG RegSetValueExA(HKEY, LPCSTR, DWORD, DWORD, const(BYTE)*, DWORD); 133 LONG RegSetValueExW(HKEY, LPCWSTR, DWORD, DWORD, CPtr!(BYTE), DWORD); | 134 LONG RegSetValueExW(HKEY, LPCWSTR, DWORD, DWORD, const(BYTE)*, DWORD); 134 LONG RegUnLoadKeyA(HKEY, LPCSTR); 135 LONG RegUnLoadKeyA(HKEY, LPCSTR); 135 LONG RegUnLoadKeyW(HKEY, LPCWSTR); 136 LONG RegUnLoadKeyW(HKEY, LPCWSTR); 136 static if (_WIN32_WINDOWS >= 0x410) { < 137 LONG RegNotifyChangeKeyValue(HKEY, BOOL, DWORD, HANDLE, BOOL); | 137 LONG RegNotifyChangeKeyValue(HKEY, BOOL, DWORD, HANDLE, BOOL); > 138 > 139 BOOL AbortSystemShutdownA(LPCSTR); > 140 BOOL AbortSystemShutdownW(LPCWSTR); > 141 BOOL InitiateSystemShutdownA(LPSTR, LPSTR, DWORD, BOOL, BOOL); > 142 BOOL InitiateSystemShutdownW(LPWSTR, LPWSTR, DWORD, BOOL, BOOL); > 143 LONG RegGetKeySecurity(HKEY, SECURITY_INFORMATION, > 144 PSECURITY_DESCRIPTOR, PDWORD); > 145 LONG RegRestoreKeyA(HKEY, LPCSTR, DWORD); > 146 LONG RegRestoreKeyW(HKEY, LPCWSTR, DWORD); > 147 LONG RegSetKeySecurity(HKEY, SECURITY_INFORMATION, > 148 PSECURITY_DESCRIPTOR); > 149 > 150 static if (_WIN32_WINNT >= 0x500) { > 151 LONG RegDisablePredefinedCache(); > 152 LONG RegOpenCurrentUser(REGSAM, PHKEY); > 153 LONG RegOpenUserClassesRoot(HANDLE, DWORD, REGSAM, PHKEY); 138 } 154 } 139 155 140 static if (_WIN32_WINNT_ONLY) { | 156 static if (_WIN32_WINNT >= 0x501) { 141 BOOL AbortSystemShutdownA(LPCSTR); | 157 LONG RegSaveKeyExA(HKEY, LPCSTR, LPSECURITY_ATTRIBUTES, DWORD); 142 BOOL AbortSystemShutdownW(LPCWSTR); | 158 LONG RegSaveKeyExW(HKEY, LPCWSTR, LPSECURITY_ATTRIBUTES, DWORD); 143 BOOL InitiateSystemShutdownA(LPSTR, LPSTR, DWORD, BOOL, BOOL); < 144 BOOL InitiateSystemShutdownW(LPWSTR, LPWSTR, DWORD, BOOL, BOOL); < 145 LONG RegGetKeySecurity(HKEY, SECURITY_INFORMATION, < 146 PSECURITY_DESCRIPTOR, PDWORD); < 147 LONG RegRestoreKeyA(HKEY, LPCSTR, DWORD); < 148 LONG RegRestoreKeyW(HKEY, LPCWSTR, DWORD); < 149 LONG RegSetKeySecurity(HKEY, SECURITY_INFORMATION, < 150 PSECURITY_DESCRIPTOR); < 151 | 159 } 152 static if (_WIN32_WINNT >= 0x500) { < 153 LONG RegDisablePredefinedCache(); < 154 LONG RegOpenCurrentUser(REGSAM, PHKEY); < 155 LONG RegOpenUserClassesRoot(HANDLE, DWORD, REGSAM, PHKEY < 156 } < 157 160 158 static if (_WIN32_WINNT >= 0x501) { < 159 LONG RegSaveKeyExA(HKEY, LPCSTR, LPSECURITY_ATTRIBUTES, < 160 LONG RegSaveKeyExW(HKEY, LPCWSTR, LPSECURITY_ATTRIBUTES, < 161 } < 162 < 163 static if (_WIN32_WINNT >= 0x600) { | 161 static if (_WIN32_WINNT >= 0x600) { 164 LONG RegGetValueA(HKEY hkey, LPCSTR lpSubKey, LPCSTR lpV | 162 LONG RegGetValueA(HKEY hkey, LPCSTR lpSubKey, LPCSTR lpValue, 165 DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD | 163 DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData) 166 LONG RegGetValueW(HKEY hkey, LPCWSTR lpSubKey, LPCWSTR l | 164 LONG RegGetValueW(HKEY hkey, LPCWSTR lpSubKey, LPCWSTR lpValue, 167 DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD | 165 DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData) 168 } < 169 } 166 } 170 167 171 deprecated { 168 deprecated { 172 LONG RegCreateKeyA(HKEY, LPCSTR, PHKEY); 169 LONG RegCreateKeyA(HKEY, LPCSTR, PHKEY); 173 LONG RegCreateKeyW(HKEY, LPCWSTR, PHKEY); 170 LONG RegCreateKeyW(HKEY, LPCWSTR, PHKEY); 174 LONG RegEnumKeyA(HKEY, DWORD, LPSTR, DWORD); 171 LONG RegEnumKeyA(HKEY, DWORD, LPSTR, DWORD); 175 LONG RegEnumKeyW(HKEY, DWORD, LPWSTR, DWORD); 172 LONG RegEnumKeyW(HKEY, DWORD, LPWSTR, DWORD); ................................................................................................................................................................................ 196 alias RegQueryMultipleValuesW RegQueryMultipleValues; 193 alias RegQueryMultipleValuesW RegQueryMultipleValues; 197 alias RegQueryValueExW RegQueryValueEx; 194 alias RegQueryValueExW RegQueryValueEx; 198 alias RegReplaceKeyW RegReplaceKey; 195 alias RegReplaceKeyW RegReplaceKey; 199 alias RegSaveKeyW RegSaveKey; 196 alias RegSaveKeyW RegSaveKey; 200 alias RegSetValueExW RegSetValueEx; 197 alias RegSetValueExW RegSetValueEx; 201 alias RegUnLoadKeyW RegUnLoadKey; 198 alias RegUnLoadKeyW RegUnLoadKey; 202 199 203 static if (_WIN32_WINNT_ONLY) { < 204 alias AbortSystemShutdownW AbortSystemShutdown; | 200 alias AbortSystemShutdownW AbortSystemShutdown; 205 alias InitiateSystemShutdownW InitiateSystemShutdown; | 201 alias InitiateSystemShutdownW InitiateSystemShutdown; 206 alias RegRestoreKeyW RegRestoreKey; | 202 alias RegRestoreKeyW RegRestoreKey; 207 static if (_WIN32_WINNT >= 0x501) { | 203 static if (_WIN32_WINNT >= 0x501) { 208 alias RegSaveKeyExA RegSaveKeyEx; | 204 alias RegSaveKeyExA RegSaveKeyEx; 209 } | 205 } 210 static if (_WIN32_WINNT >= 0x600) { | 206 static if (_WIN32_WINNT >= 0x600) { 211 alias RegGetValueW RegGetValue; | 207 alias RegGetValueW RegGetValue; 212 } < 213 } 208 } 214 deprecated { 209 deprecated { 215 alias RegCreateKeyW RegCreateKey; 210 alias RegCreateKeyW RegCreateKey; 216 alias RegEnumKeyW RegEnumKey; 211 alias RegEnumKeyW RegEnumKey; 217 alias RegOpenKeyW RegOpenKey; 212 alias RegOpenKeyW RegOpenKey; 218 alias RegQueryValueW RegQueryValue; 213 alias RegQueryValueW RegQueryValue; 219 alias RegSetValueW RegSetValue; 214 alias RegSetValueW RegSetValue; ................................................................................................................................................................................ 231 alias RegQueryInfoKeyA RegQueryInfoKey; 226 alias RegQueryInfoKeyA RegQueryInfoKey; 232 alias RegQueryMultipleValuesA RegQueryMultipleValues; 227 alias RegQueryMultipleValuesA RegQueryMultipleValues; 233 alias RegQueryValueExA RegQueryValueEx; 228 alias RegQueryValueExA RegQueryValueEx; 234 alias RegReplaceKeyA RegReplaceKey; 229 alias RegReplaceKeyA RegReplaceKey; 235 alias RegSaveKeyA RegSaveKey; 230 alias RegSaveKeyA RegSaveKey; 236 alias RegSetValueExA RegSetValueEx; 231 alias RegSetValueExA RegSetValueEx; 237 alias RegUnLoadKeyA RegUnLoadKey; 232 alias RegUnLoadKeyA RegUnLoadKey; 238 static if (_WIN32_WINNT_ONLY) { < 239 alias AbortSystemShutdownA AbortSystemShutdown; | 233 alias AbortSystemShutdownA AbortSystemShutdown; 240 alias InitiateSystemShutdownA InitiateSystemShutdown; | 234 alias InitiateSystemShutdownA InitiateSystemShutdown; 241 alias RegRestoreKeyW RegRestoreKey; | 235 alias RegRestoreKeyW RegRestoreKey; 242 static if (_WIN32_WINNT >= 0x501) { | 236 static if (_WIN32_WINNT >= 0x501) { 243 alias RegSaveKeyExA RegSaveKeyEx; | 237 alias RegSaveKeyExA RegSaveKeyEx; 244 } | 238 } 245 static if (_WIN32_WINNT >= 0x600) { | 239 static if (_WIN32_WINNT >= 0x600) { 246 alias RegGetValueA RegGetValue; | 240 alias RegGetValueA RegGetValue; 247 } < 248 } 241 } 249 deprecated { 242 deprecated { 250 alias RegCreateKeyA RegCreateKey; 243 alias RegCreateKeyA RegCreateKey; 251 alias RegEnumKeyA RegEnumKey; 244 alias RegEnumKeyA RegEnumKey; 252 alias RegOpenKeyA RegOpenKey; 245 alias RegOpenKeyA RegOpenKey; 253 alias RegQueryValueA RegQueryValue; 246 alias RegQueryValueA RegQueryValue; 254 alias RegSetValueA RegSetValue; 247 alias RegSetValueA RegSetValue; 255 } 248 } 256 } 249 } 257 250 258 alias VALENT* PVALENT; 251 alias VALENT* PVALENT;

Added src/win32/winsock.d version [d9a5a4e6dafa45cb]

> 1 /***********************************************************************\ > 2 * winsock.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Translated from MinGW Windows headers * > 7 * by Stewart Gordon * > 8 \***********************************************************************/ > 9 module win32.winsock; > 10 > 11 /* > 12 Definitions for winsock 1.1 > 13 > 14 Portions Copyright (c) 1980, 1983, 1988, 1993 > 15 The Regents of the University of California. All rights reserved. > 16 > 17 Portions Copyright (c) 1993 by Digital Equipment Corporation. > 18 */ > 19 > 20 /* DRK: This module should not be included if -version=Win32_Winsock2 has > 21 * been set. If it has, assert. I think it's better that way than letting > 22 * the user believe that it's worked. > 23 * > 24 * SG: It has now been changed so that winsock2 is the default, and > 25 * -version=Win32_Winsock1 must be set to use winsock. > 26 */ > 27 version(Win32_Winsock1) {} > 28 else { > 29 pragma(msg, "Cannot use win32.winsock without " > 30 ~ "Win32_Winsock1 defined."); > 31 static assert(false); > 32 } > 33 > 34 import win32.windef; > 35 > 36 alias char u_char; > 37 alias ushort u_short; > 38 alias uint u_int, u_long, SOCKET; > 39 > 40 const size_t FD_SETSIZE = 64; > 41 > 42 // shutdown() how types > 43 enum : int { > 44 SD_RECEIVE, > 45 SD_SEND, > 46 SD_BOTH > 47 } > 48 > 49 struct FD_SET { > 50 u_int fd_count; > 51 SOCKET[FD_SETSIZE] fd_array; > 52 > 53 static void opCall(SOCKET fd, FD_SET* set) { > 54 if (set.fd_count < FD_SETSIZE) set.fd_array[set.fd_count++] = fd > 55 } > 56 } > 57 alias FD_SET* PFD_SET, LPFD_SET; > 58 > 59 extern(Pascal) int __WSAFDIsSet(SOCKET, FD_SET*); > 60 alias __WSAFDIsSet FD_ISSET; > 61 > 62 void FD_CLR(SOCKET fd, FD_SET* set) { > 63 for (u_int i = 0; i < set.fd_count; i++) { > 64 if (set.fd_array[i] == fd) { > 65 while (i < set.fd_count - 1) { > 66 set.fd_array[i] = set.fd_array[i+1]; > 67 i++; > 68 } > 69 set.fd_count--; > 70 break; > 71 } > 72 } > 73 } > 74 > 75 /+void FD_SET(SOCKET fd, FD_SET* set) { > 76 if (set.fd_count < FD_SETSIZE) set.fd_array[set.fd_count++] = fd; > 77 }+/ > 78 > 79 void FD_ZERO(FD_SET* set) { > 80 set.fd_count = 0; > 81 } > 82 > 83 > 84 struct TIMEVAL { > 85 int tv_sec; > 86 int tv_usec; > 87 > 88 int opCmp(TIMEVAL tv) { > 89 if (tv_sec < tv.tv_sec) return -1; > 90 if (tv_sec > tv.tv_sec) return 1; > 91 if (tv_usec < tv.tv_usec) return -1; > 92 if (tv_usec > tv.tv_usec) return 1; > 93 return 0; > 94 } > 95 } > 96 alias TIMEVAL* PTIMEVAL, LPTIMEVAL; > 97 > 98 bool timerisset(TIMEVAL tvp) { > 99 return tvp.tv_sec || tvp.tv_usec; > 100 } > 101 > 102 void timerclear(ref TIMEVAL tvp) { > 103 tvp.tv_sec = tvp.tv_usec = 0; > 104 } > 105 > 106 struct HOSTENT { > 107 char* h_name; > 108 char** h_aliases; > 109 short h_addrtype; > 110 short h_length; > 111 char** h_addr_list; > 112 > 113 char* h_addr() { return h_addr_list[0]; } > 114 char* h_addr(char* h) { return h_addr_list[0] = h; } > 115 } > 116 alias HOSTENT* PHOSTENT, LPHOSTENT; > 117 > 118 struct LINGER { > 119 u_short l_onoff; > 120 u_short l_linger; > 121 } > 122 alias LINGER* PLINGER, LPLINGER; > 123 > 124 // TOTHINKABOUT: do we need these, or are they just for internal use? > 125 /+ > 126 #define IOCPARM_MASK 0x7f > 127 #define IOC_VOID 0x20000000 > 128 #define IOC_OUT 0x40000000 > 129 #define IOC_IN 0x80000000 > 130 #define IOC_INOUT (IOC_IN|IOC_OUT) > 131 > 132 #define _IO(x,y) (IOC_VOID|((x)<<8)|(y)) > 133 #define _IOR(x,y,t) (IOC_OUT|(((int)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y > 134 #define _IOW(x,y,t) (IOC_IN|(((int)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y) > 135 > 136 #define FIONBIO _IOW('f', 126, u_long) > 137 #define FIONREAD _IOR('f', 127, u_long) > 138 #define FIOASYNC _IOW('f', 125, u_long) > 139 #define SIOCSHIWAT _IOW('s', 0, u_long) > 140 #define SIOCGHIWAT _IOR('s', 1, u_long) > 141 #define SIOCSLOWAT _IOW('s', 2, u_long) > 142 #define SIOCGLOWAT _IOR('s', 3, u_long) > 143 #define SIOCATMARK _IOR('s', 7, u_long) > 144 +/ > 145 > 146 enum : DWORD { > 147 FIONBIO = 0x8004667E, > 148 FIONREAD = 0x4004667F, > 149 FIOASYNC = 0x8004667D, > 150 SIOCSHIWAT = 0x80047300, > 151 SIOCGHIWAT = 0x40047301, > 152 SIOCSLOWAT = 0x80047302, > 153 SIOCGLOWAT = 0x40047303, > 154 SIOCATMARK = 0x40047307 > 155 } > 156 > 157 struct netent { > 158 char* n_name; > 159 char** n_aliases; > 160 short n_addrtype; > 161 u_long n_net; > 162 } > 163 > 164 struct SERVENT { > 165 char* s_name; > 166 char** s_aliases; > 167 short s_port; > 168 char* s_proto; > 169 } > 170 alias SERVENT* PSERVENT, LPSERVENT; > 171 > 172 struct PROTOENT { > 173 char* p_name; > 174 char** p_aliases; > 175 short p_proto; > 176 } > 177 alias PROTOENT* PPROTOENT, LPPROTOENT; > 178 > 179 enum : int { > 180 IPPROTO_IP = 0, > 181 IPPROTO_ICMP = 1, > 182 IPPROTO_IGMP = 2, > 183 IPPROTO_GGP = 3, > 184 IPPROTO_TCP = 6, > 185 IPPROTO_PUP = 12, > 186 IPPROTO_UDP = 17, > 187 IPPROTO_IDP = 22, > 188 IPPROTO_ND = 77, > 189 IPPROTO_RAW = 255, > 190 IPPROTO_MAX = 256 > 191 } > 192 > 193 // These are not documented on the MSDN site > 194 enum { > 195 IPPORT_ECHO = 7, > 196 IPPORT_DISCARD = 9, > 197 IPPORT_SYSTAT = 11, > 198 IPPORT_DAYTIME = 13, > 199 IPPORT_NETSTAT = 15, > 200 IPPORT_FTP = 21, > 201 IPPORT_TELNET = 23, > 202 IPPORT_SMTP = 25, > 203 IPPORT_TIMESERVER = 37, > 204 IPPORT_NAMESERVER = 42, > 205 IPPORT_WHOIS = 43, > 206 IPPORT_MTP = 57, > 207 IPPORT_TFTP = 69, > 208 IPPORT_RJE = 77, > 209 IPPORT_FINGER = 79, > 210 IPPORT_TTYLINK = 87, > 211 IPPORT_SUPDUP = 95, > 212 IPPORT_EXECSERVER = 512, > 213 IPPORT_LOGINSERVER = 513, > 214 IPPORT_CMDSERVER = 514, > 215 IPPORT_EFSSERVER = 520, > 216 IPPORT_BIFFUDP = 512, > 217 IPPORT_WHOSERVER = 513, > 218 IPPORT_ROUTESERVER = 520, > 219 IPPORT_RESERVED = 1024 > 220 } > 221 > 222 // These are not documented on the MSDN site > 223 enum { > 224 IMPLINK_IP = 155, > 225 IMPLINK_LOWEXPER = 156, > 226 IMPLINK_HIGHEXPER = 158 > 227 } > 228 > 229 struct IN_ADDR { > 230 union { > 231 struct { u_char s_net, s_host, s_lh, s_impno; } > 232 struct { u_short s_w1, s_imp; } > 233 u_long s_addr; > 234 } > 235 } > 236 alias IN_ADDR* PIN_ADDR, LPIN_ADDR; > 237 > 238 // IN_CLASSx are not used anywhere or documented on MSDN. > 239 bool IN_CLASSA(int i) { > 240 return (i & 0x80000000) == 0; > 241 } > 242 > 243 const IN_CLASSA_NET = 0xff000000; > 244 const IN_CLASSA_NSHIFT = 24; > 245 const IN_CLASSA_HOST = 0x00ffffff; > 246 const IN_CLASSA_MAX = 128; > 247 > 248 bool IN_CLASSB(int i) { > 249 return (i & 0xC0000000) == 0x80000000; > 250 } > 251 > 252 const IN_CLASSB_NET = 0xffff0000; > 253 const IN_CLASSB_NSHIFT = 16; > 254 const IN_CLASSB_HOST = 0x0000ffff; > 255 const IN_CLASSB_MAX = 65536; > 256 > 257 bool IN_CLASSC(int i) { > 258 return (i & 0xE0000000) == 0xC0000000; > 259 } > 260 > 261 const IN_CLASSC_NET = 0xffffff00; > 262 const IN_CLASSC_NSHIFT = 8; > 263 const IN_CLASSC_HOST = 0x000000ff; > 264 > 265 const u_long > 266 INADDR_ANY = 0, > 267 INADDR_LOOPBACK = 0x7F000001, > 268 INADDR_BROADCAST = 0xFFFFFFFF, > 269 INADDR_NONE = 0xFFFFFFFF; > 270 > 271 struct SOCKADDR_IN { > 272 short sin_family; > 273 u_short sin_port; > 274 IN_ADDR sin_addr; > 275 char[8] sin_zero; > 276 } > 277 alias SOCKADDR_IN* PSOCKADDR_IN, LPSOCKADDR_IN; > 278 > 279 const size_t > 280 WSADESCRIPTION_LEN = 256, > 281 WSASYS_STATUS_LEN = 128; > 282 > 283 struct WSADATA { > 284 WORD wVersion; > 285 WORD wHighVersion; > 286 char[WSADESCRIPTION_LEN+1] szDescription; > 287 char[WSASYS_STATUS_LEN+1] szSystemStatus; > 288 ushort iMaxSockets; > 289 ushort iMaxUdpDg; > 290 char* lpVendorInfo; > 291 } > 292 alias WSADATA* LPWSADATA; > 293 > 294 // This is not documented on the MSDN site > 295 const IP_OPTIONS = 1; > 296 > 297 const int > 298 SO_DEBUG = 1, > 299 SO_ACCEPTCONN = 2, > 300 SO_REUSEADDR = 4, > 301 SO_KEEPALIVE = 8, > 302 SO_DONTROUTE = 16, > 303 SO_BROADCAST = 32, > 304 SO_USELOOPBACK = 64, > 305 SO_LINGER = 128, > 306 SO_OOBINLINE = 256, > 307 SO_DONTLINGER = ~SO_LINGER; > 308 > 309 enum : int { > 310 SO_SNDBUF = 0x1001, > 311 SO_RCVBUF, > 312 SO_SNDLOWAT, > 313 SO_RCVLOWAT, > 314 SO_SNDTIMEO, > 315 SO_RCVTIMEO, > 316 SO_ERROR, > 317 SO_TYPE // = 0x1008 > 318 } > 319 > 320 /* > 321 * Note that the next 5 IP defines are specific to WinSock 1.1 (wsock32.dll). > 322 * They will cause errors or unexpected results if used with the > 323 * (gs)etsockopts exported from the WinSock 2 lib, ws2_32.dll. Refer ws2tcpip.h. > 324 */ > 325 enum : int { > 326 IP_MULTICAST_IF = 2, > 327 IP_MULTICAST_TTL, > 328 IP_MULTICAST_LOOP, > 329 IP_ADD_MEMBERSHIP, > 330 IP_DROP_MEMBERSHIP > 331 } > 332 > 333 // These are not documented on the MSDN site > 334 const IP_DEFAULT_MULTICAST_TTL = 1; > 335 const IP_DEFAULT_MULTICAST_LOOP = 1; > 336 const IP_MAX_MEMBERSHIPS = 20; > 337 > 338 struct ip_mreq { > 339 IN_ADDR imr_multiaddr; > 340 IN_ADDR imr_interface; > 341 } > 342 > 343 const SOCKET INVALID_SOCKET = uint.max; > 344 const int SOCKET_ERROR = -1; > 345 > 346 enum : int { > 347 SOCK_STREAM = 1, > 348 SOCK_DGRAM, > 349 SOCK_RAW, > 350 SOCK_RDM, > 351 SOCK_SEQPACKET > 352 } > 353 > 354 const int TCP_NODELAY = 1; > 355 > 356 enum : int { > 357 AF_UNSPEC, > 358 AF_UNIX, > 359 AF_INET, > 360 AF_IMPLINK, > 361 AF_PUP, > 362 AF_CHAOS, > 363 AF_IPX, // = 6 > 364 AF_NS = 6, > 365 AF_ISO, > 366 AF_OSI = AF_ISO, > 367 AF_ECMA, > 368 AF_DATAKIT, > 369 AF_CCITT, > 370 AF_SNA, > 371 AF_DECnet, > 372 AF_DLI, > 373 AF_LAT, > 374 AF_HYLINK, > 375 AF_APPLETALK, > 376 AF_NETBIOS, > 377 AF_VOICEVIEW, > 378 AF_FIREFOX, > 379 AF_UNKNOWN1, > 380 AF_BAN, > 381 AF_ATM, > 382 AF_INET6, > 383 AF_MAX // = 24 > 384 } > 385 > 386 struct SOCKADDR { > 387 u_short sa_family; > 388 char[14] sa_data; > 389 } > 390 alias SOCKADDR* PSOCKADDR, LPSOCKADDR; > 391 > 392 struct sockproto { > 393 u_short sp_family; > 394 u_short sp_protocol; > 395 } > 396 > 397 enum : int { > 398 PF_UNSPEC = AF_UNSPEC, > 399 PF_UNIX = AF_UNIX, > 400 PF_INET = AF_INET, > 401 PF_IMPLINK = AF_IMPLINK, > 402 PF_PUP = AF_PUP, > 403 PF_CHAOS = AF_CHAOS, > 404 PF_NS = AF_NS, > 405 PF_IPX = AF_IPX, > 406 PF_ISO = AF_ISO, > 407 PF_OSI = AF_OSI, > 408 PF_ECMA = AF_ECMA, > 409 PF_DATAKIT = AF_DATAKIT, > 410 PF_CCITT = AF_CCITT, > 411 PF_SNA = AF_SNA, > 412 PF_DECnet = AF_DECnet, > 413 PF_DLI = AF_DLI, > 414 PF_LAT = AF_LAT, > 415 PF_HYLINK = AF_HYLINK, > 416 PF_APPLETALK = AF_APPLETALK, > 417 PF_VOICEVIEW = AF_VOICEVIEW, > 418 PF_FIREFOX = AF_FIREFOX, > 419 PF_UNKNOWN1 = AF_UNKNOWN1, > 420 PF_BAN = AF_BAN, > 421 PF_ATM = AF_ATM, > 422 PF_INET6 = AF_INET6, > 423 PF_MAX = AF_MAX > 424 } > 425 > 426 const int SOL_SOCKET = 0xFFFF; > 427 > 428 const int SOMAXCONN = 5; > 429 > 430 const int > 431 MSG_OOB = 1, > 432 MSG_PEEK = 2, > 433 MSG_DONTROUTE = 4, > 434 MSG_MAXIOVLEN = 16, > 435 MSG_PARTIAL = 0x8000; > 436 > 437 const size_t MAXGETHOSTSTRUCT = 1024; > 438 > 439 const int > 440 FD_READ = 1, > 441 FD_WRITE = 2, > 442 FD_OOB = 4, > 443 FD_ACCEPT = 8, > 444 FD_CONNECT = 16, > 445 FD_CLOSE = 32; > 446 > 447 enum : int { > 448 WSABASEERR = 10000, > 449 WSAEINTR = 10004, > 450 WSAEBADF = 10009, > 451 WSAEACCES = 10013, > 452 WSAEFAULT = 10014, > 453 WSAEINVAL = 10022, > 454 WSAEMFILE = 10024, > 455 WSAEWOULDBLOCK = 10035, > 456 WSAEINPROGRESS = 10036, > 457 WSAEALREADY = 10037, > 458 WSAENOTSOCK = 10038, > 459 WSAEDESTADDRREQ = 10039, > 460 WSAEMSGSIZE = 10040, > 461 WSAEPROTOTYPE = 10041, > 462 WSAENOPROTOOPT = 10042, > 463 WSAEPROTONOSUPPORT = 10043, > 464 WSAESOCKTNOSUPPORT = 10044, > 465 WSAEOPNOTSUPP = 10045, > 466 WSAEPFNOSUPPORT = 10046, > 467 WSAEAFNOSUPPORT = 10047, > 468 WSAEADDRINUSE = 10048, > 469 WSAEADDRNOTAVAIL = 10049, > 470 WSAENETDOWN = 10050, > 471 WSAENETUNREACH = 10051, > 472 WSAENETRESET = 10052, > 473 WSAECONNABORTED = 10053, > 474 WSAECONNRESET = 10054, > 475 WSAENOBUFS = 10055, > 476 WSAEISCONN = 10056, > 477 WSAENOTCONN = 10057, > 478 WSAESHUTDOWN = 10058, > 479 WSAETOOMANYREFS = 10059, > 480 WSAETIMEDOUT = 10060, > 481 WSAECONNREFUSED = 10061, > 482 WSAELOOP = 10062, > 483 WSAENAMETOOLONG = 10063, > 484 WSAEHOSTDOWN = 10064, > 485 WSAEHOSTUNREACH = 10065, > 486 WSAENOTEMPTY = 10066, > 487 WSAEPROCLIM = 10067, > 488 WSAEUSERS = 10068, > 489 WSAEDQUOT = 10069, > 490 WSAESTALE = 10070, > 491 WSAEREMOTE = 10071, > 492 WSAEDISCON = 10101, > 493 WSASYSNOTREADY = 10091, > 494 WSAVERNOTSUPPORTED = 10092, > 495 WSANOTINITIALISED = 10093, > 496 WSAHOST_NOT_FOUND = 11001, > 497 WSATRY_AGAIN = 11002, > 498 WSANO_RECOVERY = 11003, > 499 WSANO_DATA = 11004, > 500 WSANO_ADDRESS = WSANO_DATA > 501 } > 502 > 503 alias WSAGetLastError h_errno; > 504 > 505 enum : int { > 506 HOST_NOT_FOUND = WSAHOST_NOT_FOUND, > 507 TRY_AGAIN = WSATRY_AGAIN, > 508 NO_RECOVERY = WSANO_RECOVERY, > 509 NO_DATA = WSANO_DATA, > 510 NO_ADDRESS = WSANO_ADDRESS > 511 } > 512 > 513 extern (Pascal) { > 514 SOCKET accept(SOCKET, SOCKADDR*, int*); > 515 int bind(SOCKET, const(SOCKADDR)*, int); > 516 int closesocket(SOCKET); > 517 int connect(SOCKET, const(SOCKADDR)*, int); > 518 int ioctlsocket(SOCKET, int, u_long*); > 519 int getpeername(SOCKET, SOCKADDR*, int*); > 520 int getsockname(SOCKET, SOCKADDR*, int*); > 521 int getsockopt(SOCKET, int, int, char*, int*); > 522 uint inet_addr(const(char)*); > 523 int listen(SOCKET, int); > 524 int recv(SOCKET, char*, int, int); > 525 int recvfrom(SOCKET, char*, int, int, SOCKADDR*, int*); > 526 int send(SOCKET, const(char)*, int, int); > 527 int sendto(SOCKET, const(char)*, int, int, const(SOCKADDR)*, int); > 528 int setsockopt(SOCKET, int, int, const(char)*, int); > 529 int shutdown(SOCKET, int); > 530 SOCKET socket(int, int, int); > 531 int WSAStartup(WORD, LPWSADATA); > 532 int WSACleanup(); > 533 void WSASetLastError(int); > 534 int WSAGetLastError(); > 535 BOOL WSAIsBlocking(); > 536 int WSAUnhookBlockingHook(); > 537 FARPROC WSASetBlockingHook(FARPROC); > 538 int WSACancelBlockingCall(); > 539 HANDLE WSAAsyncGetServByName(HWND, u_int, const(char)*, const(char)*, ch > 540 HANDLE WSAAsyncGetServByPort(HWND, u_int, int, const(char)*, char*, int) > 541 HANDLE WSAAsyncGetProtoByName(HWND, u_int, const(char)*, char*, int); > 542 HANDLE WSAAsyncGetProtoByNumber(HWND, u_int, int, char*, int); > 543 HANDLE WSAAsyncGetHostByName(HWND, u_int, const(char)*, char*, int); > 544 HANDLE WSAAsyncGetHostByAddr(HWND, u_int, const(char)*, int, int, char*, > 545 int WSACancelAsyncRequest(HANDLE); > 546 int WSAAsyncSelect(SOCKET, HWND, u_int, int); > 547 u_long htonl(u_long); > 548 u_long ntohl(u_long); > 549 u_short htons(u_short); > 550 u_short ntohs(u_short); > 551 int select(int nfds, FD_SET*, FD_SET*, FD_SET*, const(TIMEVAL)*); > 552 int gethostname(char*, int); > 553 } > 554 > 555 extern (Windows) { > 556 char* inet_ntoa(IN_ADDR); > 557 HOSTENT* gethostbyaddr(const(char)*, int, int); > 558 HOSTENT* gethostbyname(const(char)*); > 559 SERVENT* getservbyport(int, const(char)*); > 560 SERVENT* getservbyname(const(char)*, const(char)*); > 561 PROTOENT* getprotobynumber(int); > 562 PROTOENT* getprotobyname(const(char)*); > 563 } > 564 > 565 alias MAKELONG WSAMAKEASYNCREPLY, WSAMAKESELECTREPLY; > 566 alias LOWORD WSAGETASYNCBUFLEN, WSAGETSELECTEVENT; > 567 alias HIWORD WSAGETASYNCERROR, WSAGETSELECTERROR; > 568 > 569 > 570 /* > 571 * Recent MSDN docs indicate that the MS-specific extensions exported from > 572 * mswsock.dll (AcceptEx, TransmitFile. WSARecEx and GetAcceptExSockaddrs) are > 573 * declared in mswsock.h. These extensions are not supported on W9x or WinCE. > 574 * However, code using WinSock 1.1 API may expect the declarations and > 575 * associated defines to be in this header. Thus we include mswsock.h here. > 576 * > 577 * When linking against the WinSock 1.1 lib, wsock32.dll, the mswsock functions > 578 * are automatically routed to mswsock.dll (on platforms with support). > 579 * The WinSock 2 lib, ws2_32.dll, does not contain any references to > 580 * the mswsock extensions. > 581 */ > 582 > 583 import win32.mswsock;

Modified src/win32/winsock2.d from [81fbdf8d3c153cba] to [96d84048875125a5].

3 * * 3 * * 4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * by Daniel Keep * 7 * by Daniel Keep * 8 \***********************************************************************/ 8 \***********************************************************************/ 9 module win32.winsock2; 9 module win32.winsock2; 10 pragma(lib, "Ws2_32.lib"); | 10 pragma(lib, "Ws2_32"); 11 11 12 /* 12 /* 13 Definitions for winsock 2 13 Definitions for winsock 2 14 14 15 Contributed by the WINE project. 15 Contributed by the WINE project. 16 16 17 Portions Copyright (c) 1980, 1983, 1988, 1993 17 Portions Copyright (c) 1980, 1983, 1988, 1993 ................................................................................................................................................................................ 606 NO_RECOVERY = WSANO_RECOVERY, 606 NO_RECOVERY = WSANO_RECOVERY, 607 NO_DATA = WSANO_DATA, 607 NO_DATA = WSANO_DATA, 608 NO_ADDRESS = WSANO_ADDRESS 608 NO_ADDRESS = WSANO_ADDRESS 609 } 609 } 610 610 611 extern (Windows) { 611 extern (Windows) { 612 SOCKET accept(SOCKET, SOCKADDR*, int*); 612 SOCKET accept(SOCKET, SOCKADDR*, int*); 613 int bind(SOCKET, CPtr!(SOCKADDR), int); | 613 int bind(SOCKET, const(SOCKADDR)*, int); 614 int closesocket(SOCKET); 614 int closesocket(SOCKET); 615 int connect(SOCKET, CPtr!(SOCKADDR), int); | 615 int connect(SOCKET, const(SOCKADDR)*, int); 616 int ioctlsocket(SOCKET, int, u_long*); 616 int ioctlsocket(SOCKET, int, u_long*); 617 int getpeername(SOCKET, SOCKADDR*, int*); 617 int getpeername(SOCKET, SOCKADDR*, int*); 618 int getsockname(SOCKET, SOCKADDR*, int*); 618 int getsockname(SOCKET, SOCKADDR*, int*); 619 int getsockopt(SOCKET, int, int, void*, int*); 619 int getsockopt(SOCKET, int, int, void*, int*); 620 uint inet_addr(CPtr!(char)); | 620 uint inet_addr(const(char)*); 621 int listen(SOCKET, int); 621 int listen(SOCKET, int); 622 int recv(SOCKET, ubyte*, int, int); 622 int recv(SOCKET, ubyte*, int, int); 623 int recvfrom(SOCKET, ubyte*, int, int, SOCKADDR*, int*); 623 int recvfrom(SOCKET, ubyte*, int, int, SOCKADDR*, int*); 624 int send(SOCKET, CPtr!(ubyte), int, int); | 624 int send(SOCKET, const(ubyte)*, int, int); 625 int sendto(SOCKET, CPtr!(ubyte), int, int, CPtr!(SOCKADDR), int); | 625 int sendto(SOCKET, const(ubyte)*, int, int, const(SOCKADDR)*, int); 626 int setsockopt(SOCKET, int, int, CPtr!(void), int); | 626 int setsockopt(SOCKET, int, int, const(void)*, int); 627 int shutdown(SOCKET, int); 627 int shutdown(SOCKET, int); 628 SOCKET socket(int, int, int); 628 SOCKET socket(int, int, int); 629 629 630 alias typeof(&accept) LPFN_ACCEPT; 630 alias typeof(&accept) LPFN_ACCEPT; 631 alias typeof(&bind) LPFN_BIND; 631 alias typeof(&bind) LPFN_BIND; 632 alias typeof(&closesocket) LPFN_CLOSESOCKET; 632 alias typeof(&closesocket) LPFN_CLOSESOCKET; 633 alias typeof(&connect) LPFN_CONNECT; 633 alias typeof(&connect) LPFN_CONNECT; ................................................................................................................................................................................ 644 alias typeof(&setsockopt) LPFN_SETSOCKOPT; 644 alias typeof(&setsockopt) LPFN_SETSOCKOPT; 645 alias typeof(&shutdown) LPFN_SHUTDOWN; 645 alias typeof(&shutdown) LPFN_SHUTDOWN; 646 alias typeof(&socket) LPFN_SOCKET; 646 alias typeof(&socket) LPFN_SOCKET; 647 } 647 } 648 648 649 extern(Windows) { 649 extern(Windows) { 650 char* inet_ntoa(IN_ADDR); 650 char* inet_ntoa(IN_ADDR); 651 HOSTENT* gethostbyaddr(CPtr!(char), int, int); | 651 HOSTENT* gethostbyaddr(const(char)*, int, int); 652 HOSTENT* gethostbyname(CPtr!(char)); | 652 HOSTENT* gethostbyname(const(char)*); 653 SERVENT* getservbyport(int, CPtr!(char)); | 653 SERVENT* getservbyport(int, const(char)*); 654 SERVENT* getservbyname(CPtr!(char), CPtr!(char)); | 654 SERVENT* getservbyname(const(char)*, const(char)*); 655 PROTOENT* getprotobynumber(int); 655 PROTOENT* getprotobynumber(int); 656 PROTOENT* getprotobyname(CPtr!(char)); | 656 PROTOENT* getprotobyname(const(char)*); 657 657 658 /* NOTE: DK: in the original headers, these were declared with 658 /* NOTE: DK: in the original headers, these were declared with 659 PASCAL linkage. Since this is at odds with the definition 659 PASCAL linkage. Since this is at odds with the definition 660 of the functions themselves, and also since MinGW seems to 660 of the functions themselves, and also since MinGW seems to 661 treat the two interchangably, I have moved them here. */ 661 treat the two interchangably, I have moved them here. */ 662 alias typeof(&inet_ntoa) LPFN_INET_NTOA; 662 alias typeof(&inet_ntoa) LPFN_INET_NTOA; 663 alias typeof(&gethostbyaddr) LPFN_GETHOSTBYADDR; 663 alias typeof(&gethostbyaddr) LPFN_GETHOSTBYADDR; ................................................................................................................................................................................ 693 alias typeof(&WSAIsBlocking) LPFN_WSAISBLOCKING; 693 alias typeof(&WSAIsBlocking) LPFN_WSAISBLOCKING; 694 alias typeof(&WSAUnhookBlockingHook) LPFN_WSAUNHOOKBLOCKINGHOOK; 694 alias typeof(&WSAUnhookBlockingHook) LPFN_WSAUNHOOKBLOCKINGHOOK; 695 alias typeof(&WSASetBlockingHook) LPFN_WSASETBLOCKINGHOOK; 695 alias typeof(&WSASetBlockingHook) LPFN_WSASETBLOCKINGHOOK; 696 alias typeof(&WSACancelBlockingCall) LPFN_WSACANCELBLOCKINGCALL; 696 alias typeof(&WSACancelBlockingCall) LPFN_WSACANCELBLOCKINGCALL; 697 } 697 } 698 698 699 extern(Windows) { 699 extern(Windows) { 700 HANDLE WSAAsyncGetServByName(HWND, u_int, CPtr!(char), CPtr!(char), char | 700 HANDLE WSAAsyncGetServByName(HWND, u_int, const(char)*, const(char)*, ch 701 HANDLE WSAAsyncGetServByPort(HWND, u_int, int, CPtr!(char), char*, int); | 701 HANDLE WSAAsyncGetServByPort(HWND, u_int, int, const(char)*, char*, int) 702 HANDLE WSAAsyncGetProtoByName(HWND, u_int, CPtr!(char), char*, int); | 702 HANDLE WSAAsyncGetProtoByName(HWND, u_int, const(char)*, char*, int); 703 HANDLE WSAAsyncGetProtoByNumber(HWND, u_int, int, char*, int); 703 HANDLE WSAAsyncGetProtoByNumber(HWND, u_int, int, char*, int); 704 HANDLE WSAAsyncGetHostByName(HWND, u_int, CPtr!(char), char*, int); | 704 HANDLE WSAAsyncGetHostByName(HWND, u_int, const(char)*, char*, int); 705 HANDLE WSAAsyncGetHostByAddr(HWND, u_int, CPtr!(char), int, int, char*, | 705 HANDLE WSAAsyncGetHostByAddr(HWND, u_int, const(char)*, int, int, char*, 706 int WSACancelAsyncRequest(HANDLE); 706 int WSACancelAsyncRequest(HANDLE); 707 int WSAAsyncSelect(SOCKET, HWND, u_int, long); 707 int WSAAsyncSelect(SOCKET, HWND, u_int, long); 708 708 709 alias typeof(&WSAAsyncGetServByName) LPFN_WSAAsyncGetServByName; 709 alias typeof(&WSAAsyncGetServByName) LPFN_WSAAsyncGetServByName; 710 alias typeof(&WSAAsyncGetServByPort) LPFN_WSAASYNCGETSERVBYPORT; 710 alias typeof(&WSAAsyncGetServByPort) LPFN_WSAASYNCGETSERVBYPORT; 711 alias typeof(&WSAAsyncGetProtoByName) LPFN_WSAASYNCGETPROTOBYNAME; 711 alias typeof(&WSAAsyncGetProtoByName) LPFN_WSAASYNCGETPROTOBYNAME; 712 alias typeof(&WSAAsyncGetProtoByNumber) LPFN_WSAASYNCGETPROTOBYNUMBER; 712 alias typeof(&WSAAsyncGetProtoByNumber) LPFN_WSAASYNCGETPROTOBYNUMBER; ................................................................................................................................................................................ 717 } 717 } 718 718 719 extern(Windows) { 719 extern(Windows) { 720 u_long htonl(u_long); 720 u_long htonl(u_long); 721 u_long ntohl(u_long); 721 u_long ntohl(u_long); 722 u_short htons(u_short); 722 u_short htons(u_short); 723 u_short ntohs(u_short); 723 u_short ntohs(u_short); 724 int select(int nfds, fd_set*, fd_set*, fd_set*, CPtr!(TIMEVAL)); | 724 int select(int nfds, fd_set*, fd_set*, fd_set*, const(TIMEVAL)*); 725 725 726 alias typeof(&htonl) LPFN_HTONL; 726 alias typeof(&htonl) LPFN_HTONL; 727 alias typeof(&ntohl) LPFN_NTOHL; 727 alias typeof(&ntohl) LPFN_NTOHL; 728 alias typeof(&htons) LPFN_HTONS; 728 alias typeof(&htons) LPFN_HTONS; 729 alias typeof(&ntohs) LPFN_NTOHS; 729 alias typeof(&ntohs) LPFN_NTOHS; 730 alias typeof(&select) LPFN_SELECT; 730 alias typeof(&select) LPFN_SELECT; 731 731 ................................................................................................................................................................................ 765 const int SO_PROTOCOL_INFO = SO_PROTOCOL_INFOA; 765 const int SO_PROTOCOL_INFO = SO_PROTOCOL_INFOA; 766 766 767 const PVD_CONFIG = 0x3001; 767 const PVD_CONFIG = 0x3001; 768 768 769 const MSG_INTERRUPT = 0x10; 769 const MSG_INTERRUPT = 0x10; 770 //const MSG_MAXIOVLEN = 16; // Already declared above 770 //const MSG_MAXIOVLEN = 16; // Already declared above 771 771 772 alias HANDLE WSAEVENT; | 772 mixin DECLARE_HANDLE!("WSAEVENT"); 773 alias LPHANDLE LPWSAEVENT; | 773 alias WSAEVENT* LPWSAEVENT; 774 alias OVERLAPPED WSAOVERLAPPED; 774 alias OVERLAPPED WSAOVERLAPPED; 775 alias OVERLAPPED* LPWSAOVERLAPPED; 775 alias OVERLAPPED* LPWSAOVERLAPPED; 776 776 777 private import win32.winerror; 777 private import win32.winerror; 778 private import win32.winbase; 778 private import win32.winbase; 779 779 780 enum { 780 enum { ................................................................................................................................................................................ 782 WSA_IO_INCOMPLETE = ERROR_IO_INCOMPLETE, 782 WSA_IO_INCOMPLETE = ERROR_IO_INCOMPLETE, 783 WSA_INVALID_HANDLE = ERROR_INVALID_HANDLE, 783 WSA_INVALID_HANDLE = ERROR_INVALID_HANDLE, 784 WSA_INVALID_PARAMETER = ERROR_INVALID_PARAMETER, 784 WSA_INVALID_PARAMETER = ERROR_INVALID_PARAMETER, 785 WSA_NOT_ENOUGH_MEMORY = ERROR_NOT_ENOUGH_MEMORY, 785 WSA_NOT_ENOUGH_MEMORY = ERROR_NOT_ENOUGH_MEMORY, 786 WSA_OPERATION_ABORTED = ERROR_OPERATION_ABORTED 786 WSA_OPERATION_ABORTED = ERROR_OPERATION_ABORTED 787 } 787 } 788 788 789 const WSA_INVALID_EVENT = cast(WSAEVENT)null; | 789 const WSA_INVALID_EVENT = cast(WSAEVENT)HANDLE.init; 790 const WSA_MAXIMUM_WAIT_EVENTS = MAXIMUM_WAIT_OBJECTS; 790 const WSA_MAXIMUM_WAIT_EVENTS = MAXIMUM_WAIT_OBJECTS; 791 const WSA_WAIT_FAILED = cast(DWORD)-1; 791 const WSA_WAIT_FAILED = cast(DWORD)-1; 792 const WSA_WAIT_EVENT_0 = WAIT_OBJECT_0; 792 const WSA_WAIT_EVENT_0 = WAIT_OBJECT_0; 793 const WSA_WAIT_IO_COMPLETION = WAIT_IO_COMPLETION; 793 const WSA_WAIT_IO_COMPLETION = WAIT_IO_COMPLETION; 794 const WSA_WAIT_TIMEOUT = WAIT_TIMEOUT; 794 const WSA_WAIT_TIMEOUT = WAIT_TIMEOUT; 795 const WSA_INFINITE = INFINITE; 795 const WSA_INFINITE = INFINITE; 796 796 ................................................................................................................................................................................ 1308 1308 1309 1309 1310 extern(Windows) { 1310 extern(Windows) { 1311 SOCKET WSAAccept(SOCKET, SOCKADDR*, LPINT, LPCONDITIONPROC, DWORD); 1311 SOCKET WSAAccept(SOCKET, SOCKADDR*, LPINT, LPCONDITIONPROC, DWORD); 1312 INT WSAAddressToStringA(LPSOCKADDR, DWORD, LPWSAPROTOCOL_INFOA, LPSTR, L 1312 INT WSAAddressToStringA(LPSOCKADDR, DWORD, LPWSAPROTOCOL_INFOA, LPSTR, L 1313 INT WSAAddressToStringW(LPSOCKADDR, DWORD, LPWSAPROTOCOL_INFOW, LPWSTR, 1313 INT WSAAddressToStringW(LPSOCKADDR, DWORD, LPWSAPROTOCOL_INFOW, LPWSTR, 1314 BOOL WSACloseEvent(WSAEVENT); 1314 BOOL WSACloseEvent(WSAEVENT); 1315 int WSAConnect(SOCKET, CPtr!(SOCKADDR), int, LPWSABUF, LPWSABUF, LPQOS, | 1315 int WSAConnect(SOCKET, const(SOCKADDR)*, int, LPWSABUF, LPWSABUF, LPQOS, 1316 WSAEVENT WSACreateEvent(); 1316 WSAEVENT WSACreateEvent(); 1317 int WSADuplicateSocketA(SOCKET, DWORD, LPWSAPROTOCOL_INFOA); 1317 int WSADuplicateSocketA(SOCKET, DWORD, LPWSAPROTOCOL_INFOA); 1318 int WSADuplicateSocketW(SOCKET, DWORD, LPWSAPROTOCOL_INFOW); 1318 int WSADuplicateSocketW(SOCKET, DWORD, LPWSAPROTOCOL_INFOW); 1319 INT WSAEnumNameSpaceProvidersA(LPDWORD, LPWSANAMESPACE_INFOA); 1319 INT WSAEnumNameSpaceProvidersA(LPDWORD, LPWSANAMESPACE_INFOA); 1320 INT WSAEnumNameSpaceProvidersW(LPDWORD, LPWSANAMESPACE_INFOW); 1320 INT WSAEnumNameSpaceProvidersW(LPDWORD, LPWSANAMESPACE_INFOW); 1321 int WSAEnumNetworkEvents(SOCKET, WSAEVENT, LPWSANETWORKEVENTS); 1321 int WSAEnumNetworkEvents(SOCKET, WSAEVENT, LPWSANETWORKEVENTS); 1322 int WSAEnumProtocolsA(LPINT, LPWSAPROTOCOL_INFOA, LPDWORD); 1322 int WSAEnumProtocolsA(LPINT, LPWSAPROTOCOL_INFOA, LPDWORD); ................................................................................................................................................................................ 1329 INT WSAGetServiceClassNameByClassIdA(LPGUID, LPSTR, LPDWORD); 1329 INT WSAGetServiceClassNameByClassIdA(LPGUID, LPSTR, LPDWORD); 1330 INT WSAGetServiceClassNameByClassIdW(LPGUID, LPWSTR, LPDWORD); 1330 INT WSAGetServiceClassNameByClassIdW(LPGUID, LPWSTR, LPDWORD); 1331 int WSAHtonl(SOCKET, uint, uint*); 1331 int WSAHtonl(SOCKET, uint, uint*); 1332 int WSAHtons(SOCKET, ushort, ushort*); 1332 int WSAHtons(SOCKET, ushort, ushort*); 1333 INT WSAInstallServiceClassA(LPWSASERVICECLASSINFOA); 1333 INT WSAInstallServiceClassA(LPWSASERVICECLASSINFOA); 1334 INT WSAInstallServiceClassW(LPWSASERVICECLASSINFOW); 1334 INT WSAInstallServiceClassW(LPWSASERVICECLASSINFOW); 1335 int WSAIoctl(SOCKET, DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPWSA 1335 int WSAIoctl(SOCKET, DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPWSA 1336 SOCKET WSAJoinLeaf(SOCKET, CPtr!(SOCKADDR), int, LPWSABUF, LPWSABUF, LPQ | 1336 SOCKET WSAJoinLeaf(SOCKET, const(SOCKADDR)*, int, LPWSABUF, LPWSABUF, LP 1337 INT WSALookupServiceBeginA(LPWSAQUERYSETA, DWORD, LPHANDLE); 1337 INT WSALookupServiceBeginA(LPWSAQUERYSETA, DWORD, LPHANDLE); 1338 INT WSALookupServiceBeginW(LPWSAQUERYSETW lpqsRestrictions, DWORD, LPHAN 1338 INT WSALookupServiceBeginW(LPWSAQUERYSETW lpqsRestrictions, DWORD, LPHAN 1339 INT WSALookupServiceNextA(HANDLE, DWORD, LPDWORD, LPWSAQUERYSETA); 1339 INT WSALookupServiceNextA(HANDLE, DWORD, LPDWORD, LPWSAQUERYSETA); 1340 INT WSALookupServiceNextW(HANDLE, DWORD, LPDWORD, LPWSAQUERYSETW); 1340 INT WSALookupServiceNextW(HANDLE, DWORD, LPDWORD, LPWSAQUERYSETW); 1341 INT WSALookupServiceEnd(HANDLE); 1341 INT WSALookupServiceEnd(HANDLE); 1342 int WSANSPIoctl(HANDLE,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPWSACOMP 1342 int WSANSPIoctl(HANDLE,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPWSACOMP 1343 int WSANtohl(SOCKET, uint, uint*); 1343 int WSANtohl(SOCKET, uint, uint*); ................................................................................................................................................................................ 1345 int WSARecv(SOCKET, LPWSABUF, DWORD, LPDWORD, LPDWORD, LPWSAOVERLAPPED, 1345 int WSARecv(SOCKET, LPWSABUF, DWORD, LPDWORD, LPDWORD, LPWSAOVERLAPPED, 1346 int WSARecvDisconnect(SOCKET, LPWSABUF); 1346 int WSARecvDisconnect(SOCKET, LPWSABUF); 1347 int WSARecvFrom(SOCKET, LPWSABUF, DWORD, LPDWORD, LPDWORD, SOCKADDR*, LP 1347 int WSARecvFrom(SOCKET, LPWSABUF, DWORD, LPDWORD, LPDWORD, SOCKADDR*, LP 1348 INT WSARemoveServiceClass(LPGUID); 1348 INT WSARemoveServiceClass(LPGUID); 1349 BOOL WSAResetEvent(WSAEVENT); 1349 BOOL WSAResetEvent(WSAEVENT); 1350 int WSASend(SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, LPWSAOVERLAPPED, LP 1350 int WSASend(SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, LPWSAOVERLAPPED, LP 1351 int WSASendDisconnect(SOCKET, LPWSABUF); 1351 int WSASendDisconnect(SOCKET, LPWSABUF); 1352 int WSASendTo(SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, CPtr!(SOCKADDR), | 1352 int WSASendTo(SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, const(SOCKADDR)*, 1353 BOOL WSASetEvent(WSAEVENT); 1353 BOOL WSASetEvent(WSAEVENT); 1354 INT WSASetServiceA(LPWSAQUERYSETA, WSAESETSERVICEOP, DWORD); // NB: was 1354 INT WSASetServiceA(LPWSAQUERYSETA, WSAESETSERVICEOP, DWORD); // NB: was 1355 INT WSASetServiceW(LPWSAQUERYSETW, WSAESETSERVICEOP, DWORD); 1355 INT WSASetServiceW(LPWSAQUERYSETW, WSAESETSERVICEOP, DWORD); 1356 SOCKET WSASocketA(int, int, int, LPWSAPROTOCOL_INFOA, GROUP, DWORD); 1356 SOCKET WSASocketA(int, int, int, LPWSAPROTOCOL_INFOA, GROUP, DWORD); 1357 SOCKET WSASocketW(int, int, int, LPWSAPROTOCOL_INFOW, GROUP, DWORD); 1357 SOCKET WSASocketW(int, int, int, LPWSAPROTOCOL_INFOW, GROUP, DWORD); 1358 INT WSAStringToAddressA(LPSTR, INT, LPWSAPROTOCOL_INFOA, LPSOCKADDR, LPI 1358 INT WSAStringToAddressA(LPSTR, INT, LPWSAPROTOCOL_INFOA, LPSOCKADDR, LPI 1359 INT WSAStringToAddressW(LPWSTR, INT, LPWSAPROTOCOL_INFOW, LPSOCKADDR, LP 1359 INT WSAStringToAddressW(LPWSTR, INT, LPWSAPROTOCOL_INFOW, LPSOCKADDR, LP 1360 DWORD WSAWaitForMultipleEvents(DWORD, CPtr!(WSAEVENT), BOOL, DWORD, BOOL | 1360 DWORD WSAWaitForMultipleEvents(DWORD, const(WSAEVENT)*, BOOL, DWORD, BOO 1361 1361 1362 alias typeof(&WSAAccept) LPFN_WSAACCEPT; 1362 alias typeof(&WSAAccept) LPFN_WSAACCEPT; 1363 alias typeof(&WSAAddressToStringA) LPFN_WSAADDRESSTOSTRINGA; 1363 alias typeof(&WSAAddressToStringA) LPFN_WSAADDRESSTOSTRINGA; 1364 alias typeof(&WSAAddressToStringW) LPFN_WSAADDRESSTOSTRINGW; 1364 alias typeof(&WSAAddressToStringW) LPFN_WSAADDRESSTOSTRINGW; 1365 alias typeof(&WSACloseEvent) LPFN_WSACLOSEEVENT; 1365 alias typeof(&WSACloseEvent) LPFN_WSACLOSEEVENT; 1366 alias typeof(&WSAConnect) LPFN_WSACONNECT; 1366 alias typeof(&WSAConnect) LPFN_WSACONNECT; 1367 alias typeof(&WSACreateEvent) LPFN_WSACREATEEVENT; 1367 alias typeof(&WSACreateEvent) LPFN_WSACREATEEVENT;

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

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.winspool; 10 module win32.winspool; 11 pragma(lib, "winspool.lib"); | 11 pragma(lib, "winspool"); 12 12 13 private import win32.w32api, win32.windef, win32.wingdi; 13 private import win32.w32api, win32.windef, win32.wingdi; 14 private import win32.winbase; // for SYSTEMTIME 14 private import win32.winbase; // for SYSTEMTIME 15 15 16 // FIXME: clean up Windows version support 16 // FIXME: clean up Windows version support 17 17 18 const DI_CHANNEL=1; 18 const DI_CHANNEL=1; ................................................................................................................................................................................ 631 631 632 struct PRINTER_NOTIFY_INFO_DATA { 632 struct PRINTER_NOTIFY_INFO_DATA { 633 WORD Type; 633 WORD Type; 634 WORD Field; 634 WORD Field; 635 DWORD Reserved; 635 DWORD Reserved; 636 DWORD Id; 636 DWORD Id; 637 union _NotifyData { 637 union _NotifyData { 638 DWORD adwData[2]; | 638 DWORD[2] adwData; 639 struct Data { 639 struct Data { 640 DWORD cbBuf; 640 DWORD cbBuf; 641 PVOID pBuf; 641 PVOID pBuf; 642 } 642 } 643 } 643 } 644 _NotifyData NotifyData; 644 _NotifyData NotifyData; 645 } 645 } 646 alias PRINTER_NOTIFY_INFO_DATA* PPRINTER_NOTIFY_INFO_DATA, LPPRINTER_NOTIFY_INFO 646 alias PRINTER_NOTIFY_INFO_DATA* PPRINTER_NOTIFY_INFO_DATA, LPPRINTER_NOTIFY_INFO 647 647 648 struct PRINTER_NOTIFY_INFO { 648 struct PRINTER_NOTIFY_INFO { 649 DWORD Version; 649 DWORD Version; 650 DWORD Flags; 650 DWORD Flags; 651 DWORD Count; 651 DWORD Count; 652 PRINTER_NOTIFY_INFO_DATA aData[1]; | 652 PRINTER_NOTIFY_INFO_DATA[1] aData; 653 } 653 } 654 alias PRINTER_NOTIFY_INFO* PPRINTER_NOTIFY_INFO, LPPRINTER_NOTIFY_INFO; 654 alias PRINTER_NOTIFY_INFO* PPRINTER_NOTIFY_INFO, LPPRINTER_NOTIFY_INFO; 655 655 656 struct FORM_INFO_1A { 656 struct FORM_INFO_1A { 657 DWORD Flags; 657 DWORD Flags; 658 LPSTR pName; 658 LPSTR pName; 659 SIZEL Size; 659 SIZEL Size; ................................................................................................................................................................................ 749 BOOL EnumPrintProcessorsA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 749 BOOL EnumPrintProcessorsA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 750 BOOL EnumPrintProcessorsW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 750 BOOL EnumPrintProcessorsW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 751 BOOL FindClosePrinterChangeNotification(HANDLE); 751 BOOL FindClosePrinterChangeNotification(HANDLE); 752 HANDLE FindFirstPrinterChangeNotification(HANDLE, DWORD, DWORD, PVOID); 752 HANDLE FindFirstPrinterChangeNotification(HANDLE, DWORD, DWORD, PVOID); 753 HANDLE FindNextPrinterChangeNotification(HANDLE, PDWORD, PVOID, PVOID*); 753 HANDLE FindNextPrinterChangeNotification(HANDLE, PDWORD, PVOID, PVOID*); 754 BOOL FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO); 754 BOOL FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO); 755 755 756 static if (_WIN32_WINNT >= 0x0500) { | 756 static if (_WIN32_WINNT >= 0x500) { 757 BOOL GetDefaultPrinterA(LPSTR, LPDWORD); 757 BOOL GetDefaultPrinterA(LPSTR, LPDWORD); 758 BOOL GetDefaultPrinterW(LPWSTR, LPDWORD); 758 BOOL GetDefaultPrinterW(LPWSTR, LPDWORD); 759 } 759 } 760 760 761 BOOL GetFormA(HANDLE, LPSTR, DWORD, PBYTE, DWORD, PDWORD); 761 BOOL GetFormA(HANDLE, LPSTR, DWORD, PBYTE, DWORD, PDWORD); 762 BOOL GetFormW(HANDLE, LPWSTR, DWORD, PBYTE, DWORD, PDWORD); 762 BOOL GetFormW(HANDLE, LPWSTR, DWORD, PBYTE, DWORD, PDWORD); 763 BOOL GetJobA(HANDLE, DWORD, DWORD, PBYTE, DWORD, PDWORD); 763 BOOL GetJobA(HANDLE, DWORD, DWORD, PBYTE, DWORD, PDWORD); ................................................................................................................................................................................ 843 alias EnumPortsW EnumPorts; 843 alias EnumPortsW EnumPorts; 844 alias EnumPrinterDataW EnumPrinterData; 844 alias EnumPrinterDataW EnumPrinterData; 845 alias EnumPrinterDriversW EnumPrinterDrivers; 845 alias EnumPrinterDriversW EnumPrinterDrivers; 846 alias EnumPrintersW EnumPrinters; 846 alias EnumPrintersW EnumPrinters; 847 alias EnumPrintProcessorDatatypesW EnumPrintProcessorDatatypes; 847 alias EnumPrintProcessorDatatypesW EnumPrintProcessorDatatypes; 848 alias EnumPrintProcessorsW EnumPrintProcessors; 848 alias EnumPrintProcessorsW EnumPrintProcessors; 849 849 850 static if (_WIN32_WINNT >= 0x0500) { | 850 static if (_WIN32_WINNT >= 0x500) { 851 alias GetDefaultPrinterW GetDefaultPrinter; 851 alias GetDefaultPrinterW GetDefaultPrinter; 852 } 852 } 853 853 854 alias GetFormW GetForm; 854 alias GetFormW GetForm; 855 alias GetJobW GetJob; 855 alias GetJobW GetJob; 856 alias GetPrinterW GetPrinter; 856 alias GetPrinterW GetPrinter; 857 alias GetPrinterDataW GetPrinterData; 857 alias GetPrinterDataW GetPrinterData; ................................................................................................................................................................................ 915 alias EnumPortsA EnumPorts; 915 alias EnumPortsA EnumPorts; 916 alias EnumPrinterDataA EnumPrinterData; 916 alias EnumPrinterDataA EnumPrinterData; 917 alias EnumPrinterDriversA EnumPrinterDrivers; 917 alias EnumPrinterDriversA EnumPrinterDrivers; 918 alias EnumPrintersA EnumPrinters; 918 alias EnumPrintersA EnumPrinters; 919 alias EnumPrintProcessorDatatypesA EnumPrintProcessorDatatypes; 919 alias EnumPrintProcessorDatatypesA EnumPrintProcessorDatatypes; 920 alias EnumPrintProcessorsA EnumPrintProcessors; 920 alias EnumPrintProcessorsA EnumPrintProcessors; 921 921 922 static if (_WIN32_WINNT >= 0x0500) { | 922 static if (_WIN32_WINNT >= 0x500) { 923 alias GetDefaultPrinterA GetDefaultPrinter; 923 alias GetDefaultPrinterA GetDefaultPrinter; 924 } 924 } 925 925 926 alias GetFormA GetForm; 926 alias GetFormA GetForm; 927 alias GetJobA GetJob; 927 alias GetJobA GetJob; 928 alias GetPrinterA GetPrinter; 928 alias GetPrinterA GetPrinter; 929 alias GetPrinterDataA GetPrinterData; 929 alias GetPrinterDataA GetPrinterData;

Modified src/win32/winsvc.d from [59233b3c2f66ba16] to [1045de9392b75c75].

5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * by Stewart Gordon * 7 * by Stewart Gordon * 8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.winsvc; 11 module win32.winsvc; 12 pragma(lib, "advapi32.lib"); | 12 pragma(lib, "advapi32"); 13 13 14 private import win32.w32api, win32.windef; 14 private import win32.w32api, win32.windef; 15 < 16 static assert (_WIN32_WINNT_ONLY, < 17 "win32.winsvc is available only if version WindowsNTonly, WindowsXP, " < 18 "Windows2003 or WindowsVista is set"); < 19 < 20 15 21 // FIXME: check Windows version support 16 // FIXME: check Windows version support 22 17 23 const TCHAR[] 18 const TCHAR[] 24 SERVICES_ACTIVE_DATABASE = "ServicesActive", 19 SERVICES_ACTIVE_DATABASE = "ServicesActive", 25 SERVICES_FAILED_DATABASE = "ServicesFailed"; 20 SERVICES_FAILED_DATABASE = "ServicesFailed"; 26 21 ................................................................................................................................................................................ 183 178 184 struct SERVICE_TABLE_ENTRYW { 179 struct SERVICE_TABLE_ENTRYW { 185 LPWSTR lpServiceName; 180 LPWSTR lpServiceName; 186 LPSERVICE_MAIN_FUNCTIONW lpServiceProc; 181 LPSERVICE_MAIN_FUNCTIONW lpServiceProc; 187 } 182 } 188 alias SERVICE_TABLE_ENTRYW* LPSERVICE_TABLE_ENTRYW; 183 alias SERVICE_TABLE_ENTRYW* LPSERVICE_TABLE_ENTRYW; 189 184 190 alias HANDLE SC_HANDLE; | 185 mixin DECLARE_HANDLE!("SC_HANDLE"); 191 alias HANDLE* LPSC_HANDLE; | 186 alias SC_HANDLE* LPSC_HANDLE; 192 alias void* SC_LOCK; 187 alias void* SC_LOCK; 193 alias DWORD SERVICE_STATUS_HANDLE; | 188 mixin DECLARE_HANDLE!("SERVICE_STATUS_HANDLE"); 194 189 195 extern (Windows) { 190 extern (Windows) { 196 alias void function(DWORD) LPHANDLER_FUNCTION; 191 alias void function(DWORD) LPHANDLER_FUNCTION; 197 alias DWORD function(DWORD, DWORD, LPVOID, LPVOID) LPHANDLER_FUNCTION_EX 192 alias DWORD function(DWORD, DWORD, LPVOID, LPVOID) LPHANDLER_FUNCTION_EX 198 } 193 } 199 194 200 static if (_WIN32_WINNT >= 0x500) { 195 static if (_WIN32_WINNT >= 0x500) {

Modified src/win32/winuser.d from [b45c73c216c900bc] to [71091da201e7d6e2].

4 * Windows API header module * 4 * Windows API header module * 5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * * 7 * * 8 * Placed into public domain * 8 * Placed into public domain * 9 \***********************************************************************/ 9 \***********************************************************************/ 10 module win32.winuser; 10 module win32.winuser; 11 pragma(lib, "user32.lib"); | 11 pragma(lib, "user32"); 12 12 13 // Conversion Notes: 13 // Conversion Notes: 14 // The following macros were for win16 only, and are not included in this file: 14 // The following macros were for win16 only, and are not included in this file: 15 //#define EnumTaskWindows(h, f, p) EnumThreadWindows((DWORD)h, f, p) 15 //#define EnumTaskWindows(h, f, p) EnumThreadWindows((DWORD)h, f, p) 16 //#define PostAppMessageA(t, m, w, l) PostThreadMessageA((DWORD)t, m, w, l) 16 //#define PostAppMessageA(t, m, w, l) PostThreadMessageA((DWORD)t, m, w, l) 17 //#define PostAppMessageW(t, m, w, l) PostThreadMessageW((DWORD)t, m, w, l) 17 //#define PostAppMessageW(t, m, w, l) PostThreadMessageW((DWORD)t, m, w, l) 18 //#define GetSysModalWindow() (NULL) 18 //#define GetSysModalWindow() (NULL) ................................................................................................................................................................................ 26 // FIXME: clean up Windows version support 26 // FIXME: clean up Windows version support 27 27 28 template MAKEINTATOM_T(int i) { 28 template MAKEINTATOM_T(int i) { 29 const LPTSTR MAKEINTATOM_T = cast(LPTSTR) i; 29 const LPTSTR MAKEINTATOM_T = cast(LPTSTR) i; 30 } 30 } 31 31 32 const WC_DIALOG = MAKEINTATOM_T!(0x8002); 32 const WC_DIALOG = MAKEINTATOM_T!(0x8002); > 33 > 34 const FAPPCOMMAND_MOUSE = 0x8000; > 35 const FAPPCOMMAND_KEY = 0; > 36 const FAPPCOMMAND_OEM = 0x1000; > 37 const FAPPCOMMAND_MASK = 0xF000; 33 38 34 const FVIRTKEY = 1; 39 const FVIRTKEY = 1; 35 const FNOINVERT = 2; 40 const FNOINVERT = 2; 36 const FSHIFT = 4; 41 const FSHIFT = 4; 37 const FCONTROL = 8; 42 const FCONTROL = 8; 38 const FALT = 16; 43 const FALT = 16; 39 44 ................................................................................................................................................................................ 82 HCBT_CLICKSKIPPED, 87 HCBT_CLICKSKIPPED, 83 HCBT_KEYSKIPPED, 88 HCBT_KEYSKIPPED, 84 HCBT_SYSCOMMAND, 89 HCBT_SYSCOMMAND, 85 HCBT_SETFOCUS // = 9 90 HCBT_SETFOCUS // = 9 86 } 91 } 87 92 88 enum { 93 enum { 89 CF_TEXT = 1, | 94 CF_TEXT = 0x0001, 90 CF_BITMAP, 95 CF_BITMAP, 91 CF_METAFILEPICT, 96 CF_METAFILEPICT, 92 CF_SYLK, 97 CF_SYLK, 93 CF_DIF, 98 CF_DIF, 94 CF_TIFF, 99 CF_TIFF, 95 CF_OEMTEXT, 100 CF_OEMTEXT, 96 CF_DIB, 101 CF_DIB, ................................................................................................................................................................................ 98 CF_PENDATA, 103 CF_PENDATA, 99 CF_RIFF, 104 CF_RIFF, 100 CF_WAVE, 105 CF_WAVE, 101 CF_UNICODETEXT, 106 CF_UNICODETEXT, 102 CF_ENHMETAFILE, 107 CF_ENHMETAFILE, 103 CF_HDROP, 108 CF_HDROP, 104 CF_LOCALE, 109 CF_LOCALE, 105 CF_MAX, // = 17 | 110 CF_MAX, // = 0x0011 106 CF_OWNERDISPLAY = 128, | 111 CF_OWNERDISPLAY = 0x0080, 107 CF_DSPTEXT, 112 CF_DSPTEXT, 108 CF_DSPBITMAP, 113 CF_DSPBITMAP, 109 CF_DSPMETAFILEPICT, // = 131 | 114 CF_DSPMETAFILEPICT, // = 0x0083 110 CF_DSPENHMETAFILE = 142, | 115 CF_DSPENHMETAFILE = 0x008E, 111 CF_PRIVATEFIRST = 512, | 116 CF_PRIVATEFIRST = 0x0200, 112 CF_PRIVATELAST = 767, | 117 CF_PRIVATELAST = 0x02FF, 113 CF_GDIOBJFIRST = 768, | 118 CF_GDIOBJFIRST = 0x0300, 114 CF_GDIOBJLAST = 1023 | 119 CF_GDIOBJLAST = 0x03FF 115 } 120 } 116 121 117 const HKL_PREV = 0; 122 const HKL_PREV = 0; 118 const HKL_NEXT = 1; 123 const HKL_NEXT = 1; 119 124 120 const KLF_ACTIVATE = 1; 125 const KLF_ACTIVATE = 1; 121 const KLF_SUBSTITUTE_OK = 2; 126 const KLF_SUBSTITUTE_OK = 2; ................................................................................................................................................................................ 165 const BSF_IGNORECURRENTTASK = 0x00000002; 170 const BSF_IGNORECURRENTTASK = 0x00000002; 166 const BSF_FLUSHDISK = 0x00000004; 171 const BSF_FLUSHDISK = 0x00000004; 167 const BSF_NOHANG = 0x00000008; 172 const BSF_NOHANG = 0x00000008; 168 const BSF_POSTMESSAGE = 0x00000010; 173 const BSF_POSTMESSAGE = 0x00000010; 169 const BSF_FORCEIFHUNG = 0x00000020; 174 const BSF_FORCEIFHUNG = 0x00000020; 170 const BSF_NOTIMEOUTIFNOTHUNG = 0x00000040; 175 const BSF_NOTIMEOUTIFNOTHUNG = 0x00000040; 171 176 172 static if (_WIN32_WINNT >= 0x500) { < 173 const BSF_ALLOWSFW = 0x00000080; | 177 const BSF_ALLOWSFW = 0x00000080; 174 const BSF_SENDNOTIFYMESSAGE = 0x00000100; | 178 const BSF_SENDNOTIFYMESSAGE = 0x00000100; 175 } | 179 176 static if (_WIN32_WINNT >= 0x501) { 180 static if (_WIN32_WINNT >= 0x501) { 177 const BSF_RETURNHDESK = 0x00000200; 181 const BSF_RETURNHDESK = 0x00000200; 178 const BSF_LUID = 0x00000400; 182 const BSF_LUID = 0x00000400; 179 } 183 } 180 184 181 const BROADCAST_QUERY_DENY = 1112363332; 185 const BROADCAST_QUERY_DENY = 1112363332; 182 const DWORD ENUM_CURRENT_SETTINGS = -1; 186 const DWORD ENUM_CURRENT_SETTINGS = -1; ................................................................................................................................................................................ 447 451 448 const DC_ACTIVE = 0x00000001; 452 const DC_ACTIVE = 0x00000001; 449 const DC_SMALLCAP = 0x00000002; 453 const DC_SMALLCAP = 0x00000002; 450 const DC_ICON = 0x00000004; 454 const DC_ICON = 0x00000004; 451 const DC_TEXT = 0x00000008; 455 const DC_TEXT = 0x00000008; 452 const DC_INBUTTON = 0x00000010; 456 const DC_INBUTTON = 0x00000010; 453 457 454 static if (WINVER >= 0x500) { < 455 const DC_GRADIENT=0x00000020; | 458 const DC_GRADIENT = 0x00000020; 456 } < 457 static if (_WIN32_WINNT >= 0x501) { 459 static if (_WIN32_WINNT >= 0x501) { 458 const DC_BUTTONS=0x00001000; | 460 const DC_BUTTONS = 0x00001000; 459 } 461 } 460 462 461 // Where are these documented? 463 // Where are these documented? 462 //const DC_CAPTION = DC_ICON|DC_TEXT|DC_BUTTONS; 464 //const DC_CAPTION = DC_ICON|DC_TEXT|DC_BUTTONS; 463 //const DC_NC = DC_CAPTION|DC_FRAME; 465 //const DC_NC = DC_CAPTION|DC_FRAME; 464 466 465 const BDR_RAISEDOUTER = 1; 467 const BDR_RAISEDOUTER = 1; ................................................................................................................................................................................ 492 const BF_DIAGONAL_ENDBOTTOMRIGHT = BF_DIAGONAL|BF_BOTTOM|BF_RIGHT; 494 const BF_DIAGONAL_ENDBOTTOMRIGHT = BF_DIAGONAL|BF_BOTTOM|BF_RIGHT; 493 const BF_MIDDLE = 0x800; 495 const BF_MIDDLE = 0x800; 494 const BF_SOFT = 0x1000; 496 const BF_SOFT = 0x1000; 495 const BF_ADJUST = 0x2000; 497 const BF_ADJUST = 0x2000; 496 const BF_FLAT = 0x4000; 498 const BF_FLAT = 0x4000; 497 const BF_MONO = 0x8000; 499 const BF_MONO = 0x8000; 498 500 > 501 enum { 499 const DFC_CAPTION=1; | 502 DFC_CAPTION = 1, 500 const DFC_MENU=2; | 503 DFC_MENU, 501 const DFC_SCROLL=3; | 504 DFC_SCROLL, 502 const DFC_BUTTON=4; | 505 DFC_BUTTON, 503 static if (WINVER >= 0x500) { < 504 const DFC_POPUPMENU=5; | 506 DFC_POPUPMENU // = 5 505 }// WINVER >= 0x500 < > 507 } 506 508 507 const DFCS_CAPTIONCLOSE = 0; 509 const DFCS_CAPTIONCLOSE = 0; 508 const DFCS_CAPTIONMIN = 1; 510 const DFCS_CAPTIONMIN = 1; 509 const DFCS_CAPTIONMAX = 2; 511 const DFCS_CAPTIONMAX = 2; 510 const DFCS_CAPTIONRESTORE = 3; 512 const DFCS_CAPTIONRESTORE = 3; 511 const DFCS_CAPTIONHELP = 4; 513 const DFCS_CAPTIONHELP = 4; 512 514 ................................................................................................................................................................................ 528 const DFCS_BUTTONRADIOMASK = 2; 530 const DFCS_BUTTONRADIOMASK = 2; 529 const DFCS_BUTTONRADIO = 4; 531 const DFCS_BUTTONRADIO = 4; 530 const DFCS_BUTTON3STATE = 8; 532 const DFCS_BUTTON3STATE = 8; 531 const DFCS_BUTTONPUSH = 16; 533 const DFCS_BUTTONPUSH = 16; 532 const DFCS_INACTIVE = 256; 534 const DFCS_INACTIVE = 256; 533 const DFCS_PUSHED = 512; 535 const DFCS_PUSHED = 512; 534 const DFCS_CHECKED = 1024; 536 const DFCS_CHECKED = 1024; 535 static if (WINVER >= 0x500) { | 537 static if (_WIN32_WINNT >= 0x500) { 536 const DFCS_TRANSPARENT = 0x800; | 538 const DFCS_TRANSPARENT = 0x800; 537 const DFCS_HOT = 0x1000; | 539 const DFCS_HOT = 0x1000; 538 } 540 } 539 const DFCS_ADJUSTRECT = 0x2000; 541 const DFCS_ADJUSTRECT = 0x2000; 540 const DFCS_FLAT = 0x4000; 542 const DFCS_FLAT = 0x4000; 541 const DFCS_MONO = 0x8000; 543 const DFCS_MONO = 0x8000; 542 544 543 enum { 545 enum { 544 DST_COMPLEX = 0, 546 DST_COMPLEX = 0, ................................................................................................................................................................................ 705 const IDC_UPARROW = MAKEINTRESOURCE_T!(32516); 707 const IDC_UPARROW = MAKEINTRESOURCE_T!(32516); 706 const IDC_SIZENWSE = MAKEINTRESOURCE_T!(32642); 708 const IDC_SIZENWSE = MAKEINTRESOURCE_T!(32642); 707 const IDC_SIZENESW = MAKEINTRESOURCE_T!(32643); 709 const IDC_SIZENESW = MAKEINTRESOURCE_T!(32643); 708 const IDC_SIZEWE = MAKEINTRESOURCE_T!(32644); 710 const IDC_SIZEWE = MAKEINTRESOURCE_T!(32644); 709 const IDC_SIZENS = MAKEINTRESOURCE_T!(32645); 711 const IDC_SIZENS = MAKEINTRESOURCE_T!(32645); 710 const IDC_SIZEALL = MAKEINTRESOURCE_T!(32646); 712 const IDC_SIZEALL = MAKEINTRESOURCE_T!(32646); 711 const IDC_NO = MAKEINTRESOURCE_T!(32648); 713 const IDC_NO = MAKEINTRESOURCE_T!(32648); > 714 static if (_WIN32_WINNT >= 0x500) { 712 const IDC_HAND = MAKEINTRESOURCE_T!(32649); | 715 const IDC_HAND = MAKEINTRESOURCE_T!(32649); > 716 } 713 const IDC_APPSTARTING = MAKEINTRESOURCE_T!(32650); 717 const IDC_APPSTARTING = MAKEINTRESOURCE_T!(32650); 714 const IDC_HELP = MAKEINTRESOURCE_T!(32651); 718 const IDC_HELP = MAKEINTRESOURCE_T!(32651); 715 const IDC_ICON = MAKEINTRESOURCE_T!(32641); 719 const IDC_ICON = MAKEINTRESOURCE_T!(32641); 716 const IDC_SIZE = MAKEINTRESOURCE_T!(32640); 720 const IDC_SIZE = MAKEINTRESOURCE_T!(32640); 717 const IDI_APPLICATION = MAKEINTRESOURCE_T!(32512); 721 const IDI_APPLICATION = MAKEINTRESOURCE_T!(32512); 718 const IDI_HAND = MAKEINTRESOURCE_T!(32513); 722 const IDI_HAND = MAKEINTRESOURCE_T!(32513); 719 const IDI_QUESTION = MAKEINTRESOURCE_T!(32514); 723 const IDI_QUESTION = MAKEINTRESOURCE_T!(32514); 720 const IDI_EXCLAMATION = MAKEINTRESOURCE_T!(32515); 724 const IDI_EXCLAMATION = MAKEINTRESOURCE_T!(32515); 721 const IDI_ASTERISK = MAKEINTRESOURCE_T!(32516); 725 const IDI_ASTERISK = MAKEINTRESOURCE_T!(32516); 722 const IDI_WINLOGO = MAKEINTRESOURCE_T!(32517); 726 const IDI_WINLOGO = MAKEINTRESOURCE_T!(32517); > 727 static if (_WIN32_WINNT >= 0x600) { > 728 const IDI_SHIELD = MAKEINTRESOURCE_T!(32518); > 729 } > 730 723 const IDI_WARNING = IDI_EXCLAMATION; 731 const IDI_WARNING = IDI_EXCLAMATION; 724 const IDI_ERROR = IDI_HAND; 732 const IDI_ERROR = IDI_HAND; 725 const IDI_INFORMATION = IDI_ASTERISK; 733 const IDI_INFORMATION = IDI_ASTERISK; > 734 > 735 static if(_WIN32_WINNT >= 0x500) { > 736 > 737 const MNGOF_TOPGAP = 0x00000001; > 738 const MNGOF_BOTTOMGAP = 0x00000002; > 739 const MNGO_NOINTERFACE = 0x00000000; > 740 const MNGO_NOERROR = 0x00000001; > 741 > 742 } 726 743 727 const MIIM_STATE = 1; 744 const MIIM_STATE = 1; 728 const MIIM_ID = 2; 745 const MIIM_ID = 2; 729 const MIIM_SUBMENU = 4; 746 const MIIM_SUBMENU = 4; 730 const MIIM_CHECKMARKS = 8; 747 const MIIM_CHECKMARKS = 8; 731 const MIIM_TYPE = 16; 748 const MIIM_TYPE = 16; 732 const MIIM_DATA = 32; 749 const MIIM_DATA = 32; 733 const MIIM_STRING = 64; 750 const MIIM_STRING = 64; 734 const MIIM_BITMAP = 128; 751 const MIIM_BITMAP = 128; 735 const MIIM_FTYPE = 256; 752 const MIIM_FTYPE = 256; 736 753 737 static if (WINVER >= 0x500) { | 754 static if (_WIN32_WINNT >= 0x500) { 738 755 739 const MIM_MAXHEIGHT = 1; | 756 const MIM_MAXHEIGHT = 1; 740 const MIM_BACKGROUND = 2; | 757 const MIM_BACKGROUND = 2; 741 const MIM_HELPID = 4; | 758 const MIM_HELPID = 4; 742 const MIM_MENUDATA = 8; | 759 const MIM_MENUDATA = 8; 743 const MIM_STYLE = 16; | 760 const MIM_STYLE = 16; 744 const MIM_APPLYTOSUBMENUS = 0x80000000L; | 761 const MIM_APPLYTOSUBMENUS = 0x80000000L; 745 762 746 const MNS_NOCHECK = 0x80000000; | 763 const MNS_NOCHECK = 0x80000000; 747 const MNS_MODELESS = 0x40000000; | 764 const MNS_MODELESS = 0x40000000; 748 const MNS_DRAGDROP = 0x20000000; | 765 const MNS_DRAGDROP = 0x20000000; 749 const MNS_AUTODISMISS = 0x10000000; | 766 const MNS_AUTODISMISS = 0x10000000; 750 const MNS_NOTIFYBYPOS = 0x08000000; | 767 const MNS_NOTIFYBYPOS = 0x08000000; 751 const MNS_CHECKORBMP = 0x04000000; | 768 const MNS_CHECKORBMP = 0x04000000; 752 769 753 } 770 } 754 771 755 const MFT_BITMAP = 4; 772 const MFT_BITMAP = 4; 756 const MFT_MENUBARBREAK = 32; 773 const MFT_MENUBARBREAK = 32; 757 const MFT_MENUBREAK = 64; 774 const MFT_MENUBREAK = 64; 758 const MFT_OWNERDRAW = 256; 775 const MFT_OWNERDRAW = 256; ................................................................................................................................................................................ 814 const MB_DEFBUTTON3 = 512; 831 const MB_DEFBUTTON3 = 512; 815 const MB_DEFBUTTON4 = 0x300; 832 const MB_DEFBUTTON4 = 0x300; 816 const MB_ICONINFORMATION = 64; 833 const MB_ICONINFORMATION = 64; 817 const MB_ICONSTOP = 16; 834 const MB_ICONSTOP = 16; 818 const MB_OKCANCEL = 1; 835 const MB_OKCANCEL = 1; 819 const MB_RETRYCANCEL = 5; 836 const MB_RETRYCANCEL = 5; 820 837 821 static if (_WIN32_WINNT_ONLY) { < 822 static if (_WIN32_WINNT >= 0x400) { < 823 const MB_SERVICE_NOTIFICATION = 0x00200000; | 838 const MB_SERVICE_NOTIFICATION = 0x00200000; 824 } else { < 825 const MB_SERVICE_NOTIFICATION = 0x00040000; < 826 } < 827 const MB_SERVICE_NOTIFICATION_NT3X = 0x00040000; | 839 const MB_SERVICE_NOTIFICATION_NT3X = 0x00040000; 828 } < 829 840 830 const MB_SETFOREGROUND = 0x10000; 841 const MB_SETFOREGROUND = 0x10000; 831 const MB_SYSTEMMODAL = 4096; 842 const MB_SYSTEMMODAL = 4096; 832 const MB_TASKMODAL = 0x2000; 843 const MB_TASKMODAL = 0x2000; 833 const MB_YESNO = 4; 844 const MB_YESNO = 4; 834 const MB_YESNOCANCEL = 3; 845 const MB_YESNOCANCEL = 3; 835 const MB_ICONMASK = 240; 846 const MB_ICONMASK = 240; 836 const MB_DEFMASK = 3840; 847 const MB_DEFMASK = 3840; 837 const MB_MODEMASK = 0x00003000; 848 const MB_MODEMASK = 0x00003000; 838 const MB_MISCMASK = 0x0000C000; 849 const MB_MISCMASK = 0x0000C000; 839 const MB_NOFOCUS = 0x00008000; 850 const MB_NOFOCUS = 0x00008000; 840 const MB_TYPEMASK = 15; 851 const MB_TYPEMASK = 15; 841 // [Redefined] MB_TOPMOST=0x40000 852 // [Redefined] MB_TOPMOST=0x40000 842 static if (WINVER >= 0x500) { | 853 static if (_WIN32_WINNT >= 0x500) { 843 const MB_CANCELTRYCONTINUE=6; 854 const MB_CANCELTRYCONTINUE=6; 844 } 855 } 845 856 846 const IDOK = 1; 857 const IDOK = 1; 847 const IDCANCEL = 2; 858 const IDCANCEL = 2; 848 const IDABORT = 3; 859 const IDABORT = 3; 849 const IDRETRY = 4; 860 const IDRETRY = 4; 850 const IDIGNORE = 5; 861 const IDIGNORE = 5; 851 const IDYES = 6; 862 const IDYES = 6; 852 const IDNO = 7; 863 const IDNO = 7; 853 static if (WINVER >= 0x400) { | 864 static if (_WIN32_WINNT >= 0x400) { 854 const IDCLOSE = 8; | 865 const IDCLOSE = 8; 855 const IDHELP = 9; | 866 const IDHELP = 9; 856 } 867 } 857 static if (WINVER >= 0x500) { | 868 static if (_WIN32_WINNT >= 0x500) { 858 const IDTRYAGAIN = 10; | 869 const IDTRYAGAIN = 10; 859 const IDCONTINUE = 11; | 870 const IDCONTINUE = 11; 860 } 871 } 861 872 862 const GWL_EXSTYLE = -20; 873 const GWL_EXSTYLE = -20; 863 const GWL_STYLE = -16; 874 const GWL_STYLE = -16; 864 const GWL_WNDPROC = -4; 875 const GWL_WNDPROC = -4; 865 const GWLP_WNDPROC = -4; 876 const GWLP_WNDPROC = -4; 866 const GWL_HINSTANCE = -6; 877 const GWL_HINSTANCE = -6; ................................................................................................................................................................................ 1142 const OIC_WINLOGO = 32517; 1153 const OIC_WINLOGO = 32517; 1143 const OIC_WARNING = OIC_BANG; 1154 const OIC_WARNING = OIC_BANG; 1144 const OIC_ERROR = OIC_HAND; 1155 const OIC_ERROR = OIC_HAND; 1145 const OIC_INFORMATION = OIC_NOTE; 1156 const OIC_INFORMATION = OIC_NOTE; 1146 1157 1147 const HELPINFO_MENUITEM = 2; 1158 const HELPINFO_MENUITEM = 2; 1148 const HELPINFO_WINDOW = 1; 1159 const HELPINFO_WINDOW = 1; > 1160 > 1161 static if (_WIN32_WINNT >= 0x501) { > 1162 > 1163 const WTS_CONSOLE_CONNECT = 0x1; > 1164 const WTS_CONSOLE_DISCONNECT = 0x2; > 1165 const WTS_REMOTE_CONNECT = 0x3; > 1166 const WTS_REMOTE_DISCONNECT = 0x4; > 1167 const WTS_SESSION_LOGON = 0x5; > 1168 const WTS_SESSION_LOGOFF = 0x6; > 1169 const WTS_SESSION_LOCK = 0x7; > 1170 const WTS_SESSION_UNLOCK = 0x8; > 1171 const WTS_SESSION_REMOTE_CONTROL = 0x9; > 1172 > 1173 } 1149 1174 1150 const MSGF_DIALOGBOX = 0; 1175 const MSGF_DIALOGBOX = 0; 1151 const MSGF_MESSAGEBOX = 1; 1176 const MSGF_MESSAGEBOX = 1; 1152 const MSGF_MENU = 2; 1177 const MSGF_MENU = 2; 1153 const MSGF_MOVE = 3; 1178 const MSGF_MOVE = 3; 1154 const MSGF_SIZE = 4; 1179 const MSGF_SIZE = 4; 1155 const MSGF_SCROLLBAR = 5; 1180 const MSGF_SCROLLBAR = 5; ................................................................................................................................................................................ 1167 const MOUSEEVENTF_WHEEL = 0x0800; 1192 const MOUSEEVENTF_WHEEL = 0x0800; 1168 const MOUSEEVENTF_ABSOLUTE = 32768; 1193 const MOUSEEVENTF_ABSOLUTE = 32768; 1169 1194 1170 const PM_NOREMOVE = 0; 1195 const PM_NOREMOVE = 0; 1171 const PM_REMOVE = 1; 1196 const PM_REMOVE = 1; 1172 const PM_NOYIELD = 2; 1197 const PM_NOYIELD = 2; 1173 1198 1174 static if (WINVER >= 0x500) { | 1199 static if (_WIN32_WINNT >= 0x500) { 1175 const PM_QS_INPUT = (QS_INPUT << 16); 1200 const PM_QS_INPUT = (QS_INPUT << 16); 1176 const PM_QS_POSTMESSAGE = ((QS_POSTMESSAGE|QS_HOTKEY|QS_TIMER) << 16); 1201 const PM_QS_POSTMESSAGE = ((QS_POSTMESSAGE|QS_HOTKEY|QS_TIMER) << 16); 1177 const PM_QS_PAINT = (QS_PAINT << 16); 1202 const PM_QS_PAINT = (QS_PAINT << 16); 1178 const PM_QS_SENDMESSAGE = (QS_SENDMESSAGE << 16); 1203 const PM_QS_SENDMESSAGE = (QS_SENDMESSAGE << 16); 1179 } 1204 } 1180 const HWND 1205 const HWND 1181 HWND_BROADCAST = cast(HWND)0xffff, 1206 HWND_BROADCAST = cast(HWND)0xffff, ................................................................................................................................................................................ 1222 const SWP_SHOWWINDOW = 64; 1247 const SWP_SHOWWINDOW = 64; 1223 const SWP_NOOWNERZORDER = 512; 1248 const SWP_NOOWNERZORDER = 512; 1224 const SWP_NOREPOSITION = 512; 1249 const SWP_NOREPOSITION = 512; 1225 const SWP_NOSENDCHANGING = 1024; 1250 const SWP_NOSENDCHANGING = 1024; 1226 const SWP_DEFERERASE = 8192; 1251 const SWP_DEFERERASE = 8192; 1227 const SWP_ASYNCWINDOWPOS = 16384; 1252 const SWP_ASYNCWINDOWPOS = 16384; 1228 1253 > 1254 enum { // passed variously as int or WPARAM > 1255 HSHELL_WINDOWCREATED = 1, > 1256 HSHELL_WINDOWDESTROYED, 1229 const HSHELL_ACTIVATESHELLWINDOW = 3; | 1257 HSHELL_ACTIVATESHELLWINDOW, > 1258 HSHELL_WINDOWACTIVATED, 1230 const HSHELL_GETMINRECT = 5; | 1259 HSHELL_GETMINRECT, 1231 const HSHELL_LANGUAGE = 8; < 1232 const HSHELL_REDRAW = 6; | 1260 HSHELL_REDRAW, 1233 const HSHELL_TASKMAN = 7; | 1261 HSHELL_TASKMAN, > 1262 HSHELL_LANGUAGE, // = 8 > 1263 HSHELL_ENDTASK = 10, > 1264 HSHELL_ACCESSIBILITYSTATE, > 1265 HSHELL_APPCOMMAND, // = 12 1234 const HSHELL_WINDOWACTIVATED = 4; | 1266 HSHELL_RUDEAPPACTIVATED = 32772, 1235 const HSHELL_WINDOWCREATED = 1; < 1236 const HSHELL_WINDOWDESTROYED = 2; < 1237 const HSHELL_FLASH = 32774; | 1267 HSHELL_FLASH = 32774 > 1268 } 1238 1269 1239 static if (WINVER >= 0x500) { | 1270 static if (_WIN32_WINNT >= 0x501) { 1240 const SPI_SETFOREGROUNDLOCKTIMEOUT=0x2001; | 1271 enum { 1241 const SPI_GETFOREGROUNDLOCKTIMEOUT=0x2000; | 1272 HSHELL_WINDOWREPLACED = 13, > 1273 HSHELL_WINDOWREPLACING > 1274 } 1242 } 1275 } > 1276 > 1277 enum SPI_SETFOREGROUNDLOCKTIMEOUT = 0x2001; > 1278 enum SPI_GETFOREGROUNDLOCKTIMEOUT = 0x2000; 1243 1279 1244 const SPI_GETACCESSTIMEOUT=60; 1280 const SPI_GETACCESSTIMEOUT=60; 1245 const SPI_GETACTIVEWNDTRKTIMEOUT=8194; 1281 const SPI_GETACTIVEWNDTRKTIMEOUT=8194; 1246 const SPI_GETANIMATION=72; 1282 const SPI_GETANIMATION=72; 1247 const SPI_GETBEEP=1; 1283 const SPI_GETBEEP=1; 1248 const SPI_GETBORDER=5; 1284 const SPI_GETBORDER=5; 1249 const SPI_GETDEFAULTINPUTLANG=89; 1285 const SPI_GETDEFAULTINPUTLANG=89; ................................................................................................................................................................................ 1331 const SPI_SETSHOWSOUNDS=57; 1367 const SPI_SETSHOWSOUNDS=57; 1332 const SPI_SETSOUNDSENTRY=65; 1368 const SPI_SETSOUNDSENTRY=65; 1333 const SPI_SETSTICKYKEYS=59; 1369 const SPI_SETSTICKYKEYS=59; 1334 const SPI_SETTOGGLEKEYS=53; 1370 const SPI_SETTOGGLEKEYS=53; 1335 const SPI_SETWHEELSCROLLLINES=105; 1371 const SPI_SETWHEELSCROLLLINES=105; 1336 const SPI_SETWORKAREA=47; 1372 const SPI_SETWORKAREA=47; 1337 1373 1338 static if (WINVER >= 0x500) { | 1374 static if (_WIN32_WINNT >= 0x500) { 1339 const SPI_GETDESKWALLPAPER=115; 1375 const SPI_GETDESKWALLPAPER=115; 1340 const SPI_GETMOUSESPEED=112; 1376 const SPI_GETMOUSESPEED=112; 1341 const SPI_GETSCREENSAVERRUNNING=114; 1377 const SPI_GETSCREENSAVERRUNNING=114; 1342 const SPI_GETACTIVEWINDOWTRACKING=0x1000; 1378 const SPI_GETACTIVEWINDOWTRACKING=0x1000; 1343 const SPI_GETACTIVEWNDTRKZORDER=0x100C; 1379 const SPI_GETACTIVEWNDTRKZORDER=0x100C; 1344 const SPI_GETCOMBOBOXANIMATION=0x1004; 1380 const SPI_GETCOMBOBOXANIMATION=0x1004; 1345 const SPI_GETCURSORSHADOW=0x101A; 1381 const SPI_GETCURSORSHADOW=0x101A; ................................................................................................................................................................................ 1374 const SPIF_SENDWININICHANGE=2; 1410 const SPIF_SENDWININICHANGE=2; 1375 const SPIF_SENDCHANGE=2; 1411 const SPIF_SENDCHANGE=2; 1376 // [Redefined] ATF_ONOFFFEEDBACK=2 1412 // [Redefined] ATF_ONOFFFEEDBACK=2 1377 // [Redefined] ATF_TIMEOUTON=1 1413 // [Redefined] ATF_TIMEOUTON=1 1378 const WM_APP=32768; 1414 const WM_APP=32768; 1379 const WM_ACTIVATE=6; 1415 const WM_ACTIVATE=6; 1380 const WM_ACTIVATEAPP=28; 1416 const WM_ACTIVATEAPP=28; 1381 // FIXME/CHECK: Are WM_AFX {FIRST, LAST} valid for WINVER < 0x400? | 1417 // FIXME/CHECK: Are WM_AFX {FIRST, LAST} valid for _WIN32_WINNT < 0x400? 1382 const WM_AFXFIRST=864; 1418 const WM_AFXFIRST=864; 1383 const WM_AFXLAST=895; 1419 const WM_AFXLAST=895; 1384 const WM_ASKCBFORMATNAME=780; 1420 const WM_ASKCBFORMATNAME=780; 1385 const WM_CANCELJOURNAL=75; 1421 const WM_CANCELJOURNAL=75; 1386 const WM_CANCELMODE=31; 1422 const WM_CANCELMODE=31; 1387 const WM_CAPTURECHANGED=533; 1423 const WM_CAPTURECHANGED=533; 1388 const WM_CHANGECBCHAIN=781; 1424 const WM_CHANGECBCHAIN=781; ................................................................................................................................................................................ 1457 const WM_MDIMAXIMIZE=549; 1493 const WM_MDIMAXIMIZE=549; 1458 const WM_MDINEXT=548; 1494 const WM_MDINEXT=548; 1459 const WM_MDIREFRESHMENU=564; 1495 const WM_MDIREFRESHMENU=564; 1460 const WM_MDIRESTORE=547; 1496 const WM_MDIRESTORE=547; 1461 const WM_MDISETMENU=560; 1497 const WM_MDISETMENU=560; 1462 const WM_MDITILE=550; 1498 const WM_MDITILE=550; 1463 const WM_MEASUREITEM=44; 1499 const WM_MEASUREITEM=44; 1464 static if (WINVER >= 0x500) { | 1500 static if (_WIN32_WINNT >= 0x500) { 1465 const WM_UNINITMENUPOPUP=0x0125; | 1501 const WM_UNINITMENUPOPUP=0x0125; 1466 const WM_MENURBUTTONUP=290; | 1502 const WM_MENURBUTTONUP=290; 1467 const WM_MENUCOMMAND=0x0126; | 1503 const WM_MENUCOMMAND=0x0126; 1468 const WM_MENUGETOBJECT=0x0124; | 1504 const WM_MENUGETOBJECT=0x0124; 1469 const WM_MENUDRAG=0x0123; | 1505 const WM_MENUDRAG=0x0123; 1470 } 1506 } 1471 1507 1472 static if (_WIN32_WINNT >= 0x500) { 1508 static if (_WIN32_WINNT >= 0x500) { 1473 1509 1474 enum { 1510 enum { 1475 WM_CHANGEUISTATE = 0x0127, 1511 WM_CHANGEUISTATE = 0x0127, 1476 WM_UPDATEUISTATE = 0x0128, 1512 WM_UPDATEUISTATE = 0x0128, ................................................................................................................................................................................ 1572 const WM_STYLECHANGING=124; 1608 const WM_STYLECHANGING=124; 1573 const WM_SYSCHAR=262; 1609 const WM_SYSCHAR=262; 1574 const WM_SYSCOLORCHANGE=21; 1610 const WM_SYSCOLORCHANGE=21; 1575 const WM_SYSCOMMAND=274; 1611 const WM_SYSCOMMAND=274; 1576 const WM_SYSDEADCHAR=263; 1612 const WM_SYSDEADCHAR=263; 1577 const WM_SYSKEYDOWN=260; 1613 const WM_SYSKEYDOWN=260; 1578 const WM_SYSKEYUP=261; 1614 const WM_SYSKEYUP=261; > 1615 static if(_WIN32_WINNT >= 0x501) { > 1616 const WM_TABLET_FIRST=704; > 1617 const WM_TABLET_LAST=735; > 1618 } 1579 const WM_TCARD=82; 1619 const WM_TCARD=82; 1580 const WM_THEMECHANGED=794; 1620 const WM_THEMECHANGED=794; 1581 const WM_TIMECHANGE=30; 1621 const WM_TIMECHANGE=30; 1582 const WM_TIMER=275; 1622 const WM_TIMER=275; 1583 const WM_UNDO=772; 1623 const WM_UNDO=772; 1584 const WM_USER=1024; 1624 const WM_USER=1024; 1585 const WM_USERCHANGED=84; 1625 const WM_USERCHANGED=84; 1586 const WM_VKEYTOITEM=46; 1626 const WM_VKEYTOITEM=46; 1587 const WM_VSCROLL=277; 1627 const WM_VSCROLL=277; 1588 const WM_VSCROLLCLIPBOARD=778; 1628 const WM_VSCROLLCLIPBOARD=778; 1589 const WM_WINDOWPOSCHANGED=71; 1629 const WM_WINDOWPOSCHANGED=71; 1590 const WM_WINDOWPOSCHANGING=70; 1630 const WM_WINDOWPOSCHANGING=70; 1591 const WM_WININICHANGE=26; 1631 const WM_WININICHANGE=26; > 1632 static if(_WIN32_WINNT >= 0x501) { > 1633 const WM_WTSSESSION_CHANGE=689; > 1634 } 1592 const WM_INPUT=255; 1635 const WM_INPUT=255; 1593 const WM_KEYFIRST=256; 1636 const WM_KEYFIRST=256; > 1637 static if(_WIN32_WINNT >= 0x501) { > 1638 const WM_UNICHAR=265; > 1639 const WM_KEYLAST=265; > 1640 const UNICODE_NOCHAR=0xFFFF; > 1641 } else { 1594 const WM_KEYLAST=264; 1642 const WM_KEYLAST=264; > 1643 } 1595 const WM_SYNCPAINT=136; 1644 const WM_SYNCPAINT=136; 1596 const WM_MOUSEACTIVATE=33; 1645 const WM_MOUSEACTIVATE=33; 1597 const WM_MOUSEMOVE=512; 1646 const WM_MOUSEMOVE=512; 1598 const WM_LBUTTONDOWN=513; 1647 const WM_LBUTTONDOWN=513; 1599 const WM_LBUTTONUP=514; 1648 const WM_LBUTTONUP=514; 1600 const WM_LBUTTONDBLCLK=515; 1649 const WM_LBUTTONDBLCLK=515; 1601 const WM_RBUTTONDOWN=516; 1650 const WM_RBUTTONDOWN=516; ................................................................................................................................................................................ 1602 const WM_RBUTTONUP=517; 1651 const WM_RBUTTONUP=517; 1603 const WM_RBUTTONDBLCLK=518; 1652 const WM_RBUTTONDBLCLK=518; 1604 const WM_MBUTTONDOWN=519; 1653 const WM_MBUTTONDOWN=519; 1605 const WM_MBUTTONUP=520; 1654 const WM_MBUTTONUP=520; 1606 const WM_MBUTTONDBLCLK=521; 1655 const WM_MBUTTONDBLCLK=521; 1607 const WM_MOUSEWHEEL=522; 1656 const WM_MOUSEWHEEL=522; 1608 const WM_MOUSEFIRST=512; 1657 const WM_MOUSEFIRST=512; > 1658 static if (_WIN32_WINNT >= 0x600) { > 1659 const WM_XBUTTONDOWN=523; > 1660 const WM_XBUTTONUP=524; > 1661 const WM_XBUTTONDBLCLK=525; > 1662 const WM_MOUSEHWHEEL=526; > 1663 const WM_MOUSELAST=526; > 1664 } 1609 static if (_WIN32_WINNT >= 0x500) { | 1665 else static if (_WIN32_WINNT >= 0x500) { 1610 const WM_XBUTTONDOWN=523; 1666 const WM_XBUTTONDOWN=523; 1611 const WM_XBUTTONUP=524; 1667 const WM_XBUTTONUP=524; 1612 const WM_XBUTTONDBLCLK=525; 1668 const WM_XBUTTONDBLCLK=525; 1613 const WM_MOUSELAST=525; 1669 const WM_MOUSELAST=525; 1614 } else { 1670 } else { 1615 const WM_MOUSELAST=522; 1671 const WM_MOUSELAST=522; 1616 } 1672 } ................................................................................................................................................................................ 1628 } 1684 } 1629 const BM_CLICK=245; 1685 const BM_CLICK=245; 1630 const BM_GETCHECK=240; 1686 const BM_GETCHECK=240; 1631 const BM_GETIMAGE=246; 1687 const BM_GETIMAGE=246; 1632 const BM_GETSTATE=242; 1688 const BM_GETSTATE=242; 1633 const BM_SETCHECK=241; 1689 const BM_SETCHECK=241; 1634 const BM_SETIMAGE=247; 1690 const BM_SETIMAGE=247; > 1691 static if(_WIN32_WINNT >= 0x600) { > 1692 const BM_SETDONTCLICK = 248; > 1693 } 1635 const BM_SETSTATE=243; 1694 const BM_SETSTATE=243; 1636 const BM_SETSTYLE=244; 1695 const BM_SETSTYLE=244; 1637 const BN_CLICKED=0; 1696 const BN_CLICKED=0; 1638 const BN_DBLCLK=5; 1697 const BN_DBLCLK=5; 1639 const BN_DISABLE=4; 1698 const BN_DISABLE=4; 1640 const BN_DOUBLECLICKED=5; 1699 const BN_DOUBLECLICKED=5; 1641 const BN_HILITE=2; 1700 const BN_HILITE=2; ................................................................................................................................................................................ 1675 const CB_SETEXTENDEDUI=341; 1734 const CB_SETEXTENDEDUI=341; 1676 const CB_SETHORIZONTALEXTENT=350; 1735 const CB_SETHORIZONTALEXTENT=350; 1677 const CB_SETITEMDATA=337; 1736 const CB_SETITEMDATA=337; 1678 const CB_SETITEMHEIGHT=339; 1737 const CB_SETITEMHEIGHT=339; 1679 const CB_SETLOCALE=345; 1738 const CB_SETLOCALE=345; 1680 const CB_SETTOPINDEX=348; 1739 const CB_SETTOPINDEX=348; 1681 const CB_SHOWDROPDOWN=335; 1740 const CB_SHOWDROPDOWN=335; > 1741 > 1742 static if(_WIN32_WINNT >= 0x501) { > 1743 const CB_GETCOMBOBOXINFO = 356; > 1744 } 1682 1745 1683 const CBN_CLOSEUP=8; 1746 const CBN_CLOSEUP=8; 1684 const CBN_DBLCLK=2; 1747 const CBN_DBLCLK=2; 1685 const CBN_DROPDOWN=7; 1748 const CBN_DROPDOWN=7; 1686 const CBN_EDITCHANGE=5; 1749 const CBN_EDITCHANGE=5; 1687 const CBN_EDITUPDATE=6; 1750 const CBN_EDITUPDATE=6; 1688 const CBN_ERRSPACE=(-1); 1751 const CBN_ERRSPACE=(-1); ................................................................................................................................................................................ 1725 const EM_SETREADONLY=207; 1788 const EM_SETREADONLY=207; 1726 const EM_SETRECT=179; 1789 const EM_SETRECT=179; 1727 const EM_SETRECTNP=180; 1790 const EM_SETRECTNP=180; 1728 const EM_SETSEL=177; 1791 const EM_SETSEL=177; 1729 const EM_SETTABSTOPS=203; 1792 const EM_SETTABSTOPS=203; 1730 const EM_SETWORDBREAKPROC=208; 1793 const EM_SETWORDBREAKPROC=208; 1731 const EM_UNDO=199; 1794 const EM_UNDO=199; > 1795 > 1796 static if(_WIN32_WINNT >= 0x500) { > 1797 const EM_SETIMESTATUS=216; > 1798 const EM_GETIMESTATUS=217; > 1799 } 1732 1800 1733 const EN_CHANGE=768; 1801 const EN_CHANGE=768; 1734 const EN_ERRSPACE=1280; 1802 const EN_ERRSPACE=1280; 1735 const EN_HSCROLL=1537; 1803 const EN_HSCROLL=1537; 1736 const EN_KILLFOCUS=512; 1804 const EN_KILLFOCUS=512; 1737 const EN_MAXTEXT=1281; 1805 const EN_MAXTEXT=1281; 1738 const EN_SETFOCUS=256; 1806 const EN_SETFOCUS=256; ................................................................................................................................................................................ 1775 const LB_SETHORIZONTALEXTENT=404; 1843 const LB_SETHORIZONTALEXTENT=404; 1776 const LB_SETITEMDATA=410; 1844 const LB_SETITEMDATA=410; 1777 const LB_SETITEMHEIGHT=416; 1845 const LB_SETITEMHEIGHT=416; 1778 const LB_SETLOCALE=421; 1846 const LB_SETLOCALE=421; 1779 const LB_SETSEL=389; 1847 const LB_SETSEL=389; 1780 const LB_SETTABSTOPS=402; 1848 const LB_SETTABSTOPS=402; 1781 const LB_SETTOPINDEX=407; 1849 const LB_SETTOPINDEX=407; > 1850 static if(_WIN32_WINNT >= 0x501) { > 1851 const LB_GETLISTBOXINFO=434; > 1852 } 1782 1853 1783 const LBN_DBLCLK=2; 1854 const LBN_DBLCLK=2; 1784 const LBN_ERRSPACE=-2; 1855 const LBN_ERRSPACE=-2; 1785 const LBN_KILLFOCUS=5; 1856 const LBN_KILLFOCUS=5; 1786 const LBN_SELCANCEL=3; 1857 const LBN_SELCANCEL=3; 1787 const LBN_SELCHANGE=1; 1858 const LBN_SELCHANGE=1; 1788 const LBN_SETFOCUS=4; 1859 const LBN_SETFOCUS=4; ................................................................................................................................................................................ 1791 const SBM_GETPOS=225; 1862 const SBM_GETPOS=225; 1792 const SBM_GETRANGE=227; 1863 const SBM_GETRANGE=227; 1793 const SBM_GETSCROLLINFO=234; 1864 const SBM_GETSCROLLINFO=234; 1794 const SBM_SETPOS=224; 1865 const SBM_SETPOS=224; 1795 const SBM_SETRANGE=226; 1866 const SBM_SETRANGE=226; 1796 const SBM_SETRANGEREDRAW=230; 1867 const SBM_SETRANGEREDRAW=230; 1797 const SBM_SETSCROLLINFO=233; 1868 const SBM_SETSCROLLINFO=233; > 1869 static if(_WIN32_WINNT >= 0x501) { > 1870 const SBM_GETSCROLLBARINFO=235; > 1871 } > 1872 1798 const STM_GETICON=369; 1873 const STM_GETICON=369; 1799 const STM_GETIMAGE=371; 1874 const STM_GETIMAGE=371; 1800 const STM_SETICON=368; 1875 const STM_SETICON=368; 1801 const STM_SETIMAGE=370; 1876 const STM_SETIMAGE=370; 1802 const STN_CLICKED=0; 1877 const STN_CLICKED=0; 1803 const STN_DBLCLK=1; 1878 const STN_DBLCLK=1; 1804 const STN_DISABLE=3; 1879 const STN_DISABLE=3; ................................................................................................................................................................................ 2021 VK_OEM_2 = 0xBF, 2096 VK_OEM_2 = 0xBF, 2022 VK_OEM_3 = 0xC0, 2097 VK_OEM_3 = 0xC0, 2023 VK_OEM_4 = 0xDB, 2098 VK_OEM_4 = 0xDB, 2024 VK_OEM_5 = 0xDC, 2099 VK_OEM_5 = 0xDC, 2025 VK_OEM_6 = 0xDD, 2100 VK_OEM_6 = 0xDD, 2026 VK_OEM_7 = 0xDE, 2101 VK_OEM_7 = 0xDE, 2027 VK_OEM_8 = 0xDF, 2102 VK_OEM_8 = 0xDF, 2028 //static if (_WIN32_WINNT > = 0x500) { | 2103 //static if (_WIN32_WINNT > = 0x500) { 2029 VK_OEM_102 = 0xE2, 2104 VK_OEM_102 = 0xE2, 2030 //} 2105 //} 2031 VK_PROCESSKEY = 0xE5, 2106 VK_PROCESSKEY = 0xE5, 2032 //static if (_WIN32_WINNT > = 0x500) { | 2107 //static if (_WIN32_WINNT > = 0x500) { 2033 VK_PACKET = 0xE7, 2108 VK_PACKET = 0xE7, 2034 //} 2109 //} 2035 VK_ATTN = 0xF6, 2110 VK_ATTN = 0xF6, 2036 VK_CRSEL = 0xF7, 2111 VK_CRSEL = 0xF7, 2037 VK_EXSEL = 0xF8, 2112 VK_EXSEL = 0xF8, 2038 VK_EREOF = 0xF9, 2113 VK_EREOF = 0xF9, 2039 VK_PLAY = 0xFA, 2114 VK_PLAY = 0xFA, ................................................................................................................................................................................ 2052 2127 2053 const MK_LBUTTON=1; 2128 const MK_LBUTTON=1; 2054 const MK_RBUTTON=2; 2129 const MK_RBUTTON=2; 2055 const MK_SHIFT=4; 2130 const MK_SHIFT=4; 2056 const MK_CONTROL=8; 2131 const MK_CONTROL=8; 2057 const MK_MBUTTON=16; 2132 const MK_MBUTTON=16; 2058 static if (_WIN32_WINNT >= 0x500) { 2133 static if (_WIN32_WINNT >= 0x500) { 2059 const MK_XBUTTON1=32; | 2134 const MK_XBUTTON1 = 32; 2060 const MK_XBUTTON2=64; | 2135 const MK_XBUTTON2 = 64; 2061 } 2136 } 2062 const TPM_CENTERALIGN=4; 2137 const TPM_CENTERALIGN=4; 2063 const TPM_LEFTALIGN=0; 2138 const TPM_LEFTALIGN=0; 2064 const TPM_RIGHTALIGN=8; 2139 const TPM_RIGHTALIGN=8; 2065 const TPM_LEFTBUTTON=0; 2140 const TPM_LEFTBUTTON=0; 2066 const TPM_RIGHTBUTTON=2; 2141 const TPM_RIGHTBUTTON=2; 2067 const TPM_HORIZONTAL=0; 2142 const TPM_HORIZONTAL=0; 2068 const TPM_VERTICAL=64; 2143 const TPM_VERTICAL=64; 2069 const TPM_TOPALIGN=0; 2144 const TPM_TOPALIGN=0; 2070 const TPM_VCENTERALIGN=16; 2145 const TPM_VCENTERALIGN=16; 2071 const TPM_BOTTOMALIGN=32; 2146 const TPM_BOTTOMALIGN=32; 2072 const TPM_NONOTIFY=128; 2147 const TPM_NONOTIFY=128; 2073 const TPM_RETURNCMD=256; 2148 const TPM_RETURNCMD=256; 2074 static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { | 2149 static if (_WIN32_WINNT >= 0x410) { 2075 const TPM_RECURSE=1; | 2150 const TPM_RECURSE = 1; 2076 } 2151 } 2077 2152 2078 const HELP_COMMAND=0x102; 2153 const HELP_COMMAND=0x102; 2079 const HELP_CONTENTS=3; 2154 const HELP_CONTENTS=3; 2080 const HELP_CONTEXT=1; 2155 const HELP_CONTEXT=1; 2081 const HELP_CONTEXTPOPUP=8; 2156 const HELP_CONTEXTPOPUP=8; 2082 const HELP_FORCEFILE=9; 2157 const HELP_FORCEFILE=9; ................................................................................................................................................................................ 2338 const MOD_LEFT=32768; 2413 const MOD_LEFT=32768; 2339 2414 2340 const LLKHF_EXTENDED=(KF_EXTENDED >> 8); 2415 const LLKHF_EXTENDED=(KF_EXTENDED >> 8); 2341 const LLKHF_INJECTED=0x00000010; 2416 const LLKHF_INJECTED=0x00000010; 2342 const LLKHF_ALTDOWN=(KF_ALTDOWN >> 8); 2417 const LLKHF_ALTDOWN=(KF_ALTDOWN >> 8); 2343 const LLKHF_UP=(KF_UP >> 8); 2418 const LLKHF_UP=(KF_UP >> 8); 2344 2419 2345 static if (WINVER >= 0x500) { | 2420 static if (_WIN32_WINNT >= 0x500) { 2346 const FLASHW_STOP=0; | 2421 const FLASHW_STOP=0; 2347 const FLASHW_CAPTION=1; | 2422 const FLASHW_CAPTION=1; 2348 const FLASHW_TRAY=2; | 2423 const FLASHW_TRAY=2; 2349 const FLASHW_ALL=(FLASHW_CAPTION|FLASHW_TRAY); | 2424 const FLASHW_ALL=(FLASHW_CAPTION|FLASHW_TRAY); 2350 const FLASHW_TIMER=4; | 2425 const FLASHW_TIMER=4; 2351 const FLASHW_TIMERNOFG=12; | 2426 const FLASHW_TIMERNOFG=12; 2352 } 2427 } 2353 2428 2354 const CURSOR_SHOWING=0x00000001; 2429 const CURSOR_SHOWING=0x00000001; 2355 const WS_ACTIVECAPTION=0x00000001; 2430 const WS_ACTIVECAPTION=0x00000001; 2356 static if (_WIN32_WINNT >= 0x403) { 2431 static if (_WIN32_WINNT >= 0x403) { 2357 const INPUT_MOUSE=0x00000000; | 2432 const INPUT_MOUSE=0x00000000; 2358 const INPUT_KEYBOARD=0x00000001; | 2433 const INPUT_KEYBOARD=0x00000001; 2359 const INPUT_HARDWARE=0x00000002; | 2434 const INPUT_HARDWARE=0x00000002; 2360 } 2435 } 2361 static if (WINVER >= 0x400) { < 2362 const ENDSESSION_LOGOFF = 0x80000000; 2436 const ENDSESSION_LOGOFF = 0x80000000; 2363 } < 2364 2437 2365 static if (WINVER >= 0x500) { | 2438 static if (_WIN32_WINNT >= 0x500) { 2366 const CHILDID_SELF = 0; 2439 const CHILDID_SELF = 0; 2367 const OBJID_WINDOW = 0x00000000; 2440 const OBJID_WINDOW = 0x00000000; 2368 const OBJID_SYSMENU = 0xFFFFFFFF; 2441 const OBJID_SYSMENU = 0xFFFFFFFF; 2369 const OBJID_TITLEBAR = 0xFFFFFFFE; 2442 const OBJID_TITLEBAR = 0xFFFFFFFE; 2370 const OBJID_MENU = 0xFFFFFFFD; 2443 const OBJID_MENU = 0xFFFFFFFD; 2371 const OBJID_CLIENT = 0xFFFFFFFC; 2444 const OBJID_CLIENT = 0xFFFFFFFC; 2372 const OBJID_VSCROLL = 0xFFFFFFFB; 2445 const OBJID_VSCROLL = 0xFFFFFFFB; ................................................................................................................................................................................ 2464 const CONSOLE_CARET_VISIBLE = 0x00000002; 2537 const CONSOLE_CARET_VISIBLE = 0x00000002; 2465 2538 2466 const CONSOLE_APPLICATION_16BIT = 0x00000001; 2539 const CONSOLE_APPLICATION_16BIT = 0x00000001; 2467 2540 2468 } 2541 } 2469 const EVENT_MAX=0x7fffffff; 2542 const EVENT_MAX=0x7fffffff; 2470 2543 2471 }//(WINVER >= 0x500) < 2472 < 2473 static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x490)) { | 2544 }//(_WIN32_WINNT >= 0x500) 2474 const DWORD ASFW_ANY = -1; < 2475 const LSFW_LOCK = 1; < 2476 const LSFW_UNLOCK = 2; < 2477 } < 2478 2545 2479 static if (_WIN32_WINNT >= 0x500) { 2546 static if (_WIN32_WINNT >= 0x500) { > 2547 const DWORD ASFW_ANY = -1; > 2548 enum : UINT { > 2549 LSFW_LOCK = 1, > 2550 LSFW_UNLOCK > 2551 } > 2552 2480 const LWA_COLORKEY=0x01; | 2553 const LWA_COLORKEY = 0x01; 2481 const LWA_ALPHA=0x02; | 2554 const LWA_ALPHA = 0x02; 2482 const ULW_COLORKEY=0x01; | 2555 const ULW_COLORKEY = 0x01; 2483 const ULW_ALPHA=0x02; | 2556 const ULW_ALPHA = 0x02; 2484 const ULW_OPAQUE=0x04; | 2557 const ULW_OPAQUE = 0x04; 2485 } 2558 } 2486 2559 2487 const GA_PARENT = 1; 2560 const GA_PARENT = 1; 2488 const GA_ROOT = 2; 2561 const GA_ROOT = 2; 2489 const GA_ROOTOWNER = 3; 2562 const GA_ROOTOWNER = 3; 2490 2563 2491 static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { < 2492 < 2493 const MONITOR_DEFAULTTONULL = 0; < 2494 const MONITOR_DEFAULTTOPRIMARY = 1; < 2495 const MONITOR_DEFAULTTONEAREST = 2; < 2496 const MONITORINFOF_PRIMARY = 1; < 2497 < 2498 const EDS_RAWMODE = 0x00000002; < 2499 < 2500 const ISMEX_NOSEND = 0x00000000; < 2501 const ISMEX_SEND = 0x00000001; < 2502 const ISMEX_NOTIFY = 0x00000002; < 2503 const ISMEX_CALLBACK = 0x00000004; < 2504 const ISMEX_REPLIED = 0x00000008; < 2505 } < 2506 < 2507 static if (_WIN32_WINNT >= 0x500) { 2564 static if (_WIN32_WINNT >= 0x500) { 2508 const GR_GDIOBJECTS = 0; | 2565 enum : DWORD { 2509 const GR_USEROBJECTS = 1; | 2566 MONITOR_DEFAULTTONULL, > 2567 MONITOR_DEFAULTTOPRIMARY, > 2568 MONITOR_DEFAULTTONEAREST // = 2 2510 } | 2569 } > 2570 const MONITORINFOF_PRIMARY = 1; 2511 2571 2512 static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x490)) { | 2572 const EDS_RAWMODE = 0x00000002; > 2573 > 2574 const ISMEX_NOSEND = 0x00000000; > 2575 const ISMEX_SEND = 0x00000001; > 2576 const ISMEX_NOTIFY = 0x00000002; > 2577 const ISMEX_CALLBACK = 0x00000004; > 2578 const ISMEX_REPLIED = 0x00000008; > 2579 > 2580 const GR_GDIOBJECTS = 0; > 2581 const GR_USEROBJECTS = 1; > 2582 2513 const GMMP_USE_DISPLAY_POINTS = 1; | 2583 const GMMP_USE_DISPLAY_POINTS = 1; 2514 const GMMP_USE_HIGH_RESOLUTION_POINTS = 2; | 2584 const GMMP_USE_HIGH_RESOLUTION_POINTS = 2; 2515 } 2585 } 2516 2586 2517 static if (_WIN32_WINNT >= 0x501) { 2587 static if (_WIN32_WINNT >= 0x501) { 2518 const PW_CLIENTONLY = 0x00000001; | 2588 const PW_CLIENTONLY = 0x00000001; 2519 const RIM_INPUT = 0x00000000; | 2589 const RIM_INPUT = 0x00000000; 2520 const RIM_INPUTSINK = 0x00000001; | 2590 const RIM_INPUTSINK = 0x00000001; 2521 const RIM_TYPEMOUSE = 0x00000000; | 2591 const RIM_TYPEMOUSE = 0x00000000; 2522 const RIM_TYPEKEYBOARD = 0x00000001; | 2592 const RIM_TYPEKEYBOARD = 0x00000001; 2523 const RIM_TYPEHID = 0x00000002; | 2593 const RIM_TYPEHID = 0x00000002; 2524 const MOUSE_MOVE_RELATIVE = 0x00000000; | 2594 const MOUSE_MOVE_RELATIVE = 0x00000000; 2525 const MOUSE_MOVE_ABSOLUTE = 0x00000001; | 2595 const MOUSE_MOVE_ABSOLUTE = 0x00000001; 2526 const MOUSE_VIRTUAL_DESKTOP = 0x00000002; | 2596 const MOUSE_VIRTUAL_DESKTOP = 0x00000002; 2527 const MOUSE_ATTRIBUTES_CHANGED = 0x00000004; | 2597 const MOUSE_ATTRIBUTES_CHANGED = 0x00000004; 2528 const RI_MOUSE_LEFT_BUTTON_DOWN = 0x0001; | 2598 const RI_MOUSE_LEFT_BUTTON_DOWN = 0x0001; 2529 const RI_MOUSE_LEFT_BUTTON_UP = 0x0002; | 2599 const RI_MOUSE_LEFT_BUTTON_UP = 0x0002; 2530 const RI_MOUSE_RIGHT_BUTTON_DOWN = 0x0004; | 2600 const RI_MOUSE_RIGHT_BUTTON_DOWN = 0x0004; 2531 const RI_MOUSE_RIGHT_BUTTON_UP = 0x0008; | 2601 const RI_MOUSE_RIGHT_BUTTON_UP = 0x0008; 2532 const RI_MOUSE_MIDDLE_BUTTON_DOWN = 0x0010; | 2602 const RI_MOUSE_MIDDLE_BUTTON_DOWN = 0x0010; 2533 const RI_MOUSE_MIDDLE_BUTTON_UP = 0x0020; | 2603 const RI_MOUSE_MIDDLE_BUTTON_UP = 0x0020; 2534 const RI_MOUSE_BUTTON_1_DOWN = RI_MOUSE_LEFT_BUTTON_DOWN; | 2604 const RI_MOUSE_BUTTON_1_DOWN = RI_MOUSE_LEFT_BUTTON_DOWN; 2535 const RI_MOUSE_BUTTON_1_UP = RI_MOUSE_LEFT_BUTTON_UP; | 2605 const RI_MOUSE_BUTTON_1_UP = RI_MOUSE_LEFT_BUTTON_UP; 2536 const RI_MOUSE_BUTTON_2_DOWN = RI_MOUSE_RIGHT_BUTTON_DOWN; | 2606 const RI_MOUSE_BUTTON_2_DOWN = RI_MOUSE_RIGHT_BUTTON_DOWN; 2537 const RI_MOUSE_BUTTON_2_UP = RI_MOUSE_RIGHT_BUTTON_UP; | 2607 const RI_MOUSE_BUTTON_2_UP = RI_MOUSE_RIGHT_BUTTON_UP; 2538 const RI_MOUSE_BUTTON_3_DOWN = RI_MOUSE_MIDDLE_BUTTON_DOWN; | 2608 const RI_MOUSE_BUTTON_3_DOWN = RI_MOUSE_MIDDLE_BUTTON_DOWN; 2539 const RI_MOUSE_BUTTON_3_UP = RI_MOUSE_MIDDLE_BUTTON_UP; | 2609 const RI_MOUSE_BUTTON_3_UP = RI_MOUSE_MIDDLE_BUTTON_UP; 2540 const RI_MOUSE_BUTTON_4_DOWN = 0x0040; | 2610 const RI_MOUSE_BUTTON_4_DOWN = 0x0040; 2541 const RI_MOUSE_BUTTON_4_UP = 0x0080; | 2611 const RI_MOUSE_BUTTON_4_UP = 0x0080; 2542 const RI_MOUSE_BUTTON_5_DOWN = 0x0100; | 2612 const RI_MOUSE_BUTTON_5_DOWN = 0x0100; 2543 const RI_MOUSE_BUTTON_5_UP = 0x0200; | 2613 const RI_MOUSE_BUTTON_5_UP = 0x0200; 2544 const RI_MOUSE_WHEEL = 0x0400; | 2614 const RI_MOUSE_WHEEL = 0x0400; 2545 const KEYBOARD_OVERRUN_MAKE_CODE = 0x00ff; | 2615 const KEYBOARD_OVERRUN_MAKE_CODE = 0x00ff; 2546 const RI_KEY_MAKE = 0x0000; | 2616 const RI_KEY_MAKE = 0x0000; 2547 const RI_KEY_BREAK = 0x0001; | 2617 const RI_KEY_BREAK = 0x0001; 2548 const RI_KEY_E0 = 0x0002; | 2618 const RI_KEY_E0 = 0x0002; 2549 const RI_KEY_E1 = 0x0004; | 2619 const RI_KEY_E1 = 0x0004; 2550 const RI_KEY_TERMSRV_SET_LED = 0x0008; | 2620 const RI_KEY_TERMSRV_SET_LED = 0x0008; 2551 const RI_KEY_TERMSRV_SHADOW = 0x0010; | 2621 const RI_KEY_TERMSRV_SHADOW = 0x0010; 2552 | 2622 2553 const RID_INPUT = 0x10000003; | 2623 const RID_INPUT = 0x10000003; 2554 const RID_HEADER = 0x10000005; | 2624 const RID_HEADER = 0x10000005; 2555 | 2625 2556 const RIDI_PREPARSEDDATA = 0x20000005; | 2626 const RIDI_PREPARSEDDATA = 0x20000005; 2557 const RIDI_DEVICENAME = 0x20000007; | 2627 const RIDI_DEVICENAME = 0x20000007; 2558 const RIDI_DEVICEINFO = 0x2000000b; | 2628 const RIDI_DEVICEINFO = 0x2000000b; 2559 | 2629 2560 const RIDEV_REMOVE = 0x00000001; | 2630 const RIDEV_REMOVE = 0x00000001; 2561 const RIDEV_EXCLUDE = 0x00000010; | 2631 const RIDEV_EXCLUDE = 0x00000010; 2562 const RIDEV_PAGEONLY = 0x00000020; | 2632 const RIDEV_PAGEONLY = 0x00000020; 2563 const RIDEV_NOLEGACY = 0x00000030; | 2633 const RIDEV_NOLEGACY = 0x00000030; 2564 const RIDEV_INPUTSINK = 0x00000100; | 2634 const RIDEV_INPUTSINK = 0x00000100; 2565 const RIDEV_CAPTUREMOUSE = 0x00000200; | 2635 const RIDEV_CAPTUREMOUSE = 0x00000200; 2566 const RIDEV_NOHOTKEYS = 0x00000200; | 2636 const RIDEV_NOHOTKEYS = 0x00000200; 2567 const RIDEV_APPKEYS = 0x00000400; | 2637 const RIDEV_APPKEYS = 0x00000400; 2568 } 2638 } 2569 2639 2570 // Callbacks 2640 // Callbacks 2571 // --------- 2641 // --------- 2572 extern (Windows) { 2642 extern (Windows) { 2573 alias BOOL function (HWND, UINT, WPARAM, LPARAM) DLGPROC; | 2643 alias INT_PTR function (HWND, UINT, WPARAM, LPARAM) DLGPROC; 2574 alias void function (HWND, UINT, UINT, DWORD) TIMERPROC; | 2644 alias void function (HWND, UINT, UINT_PTR, DWORD) TIMERPROC; 2575 alias BOOL function (HDC, LPARAM, int) GRAYSTRINGPROC; 2645 alias BOOL function (HDC, LPARAM, int) GRAYSTRINGPROC; 2576 alias LRESULT function (int, WPARAM, LPARAM) HOOKPROC; 2646 alias LRESULT function (int, WPARAM, LPARAM) HOOKPROC; 2577 alias BOOL function (HWND, LPCSTR, HANDLE) PROPENUMPROCA; 2647 alias BOOL function (HWND, LPCSTR, HANDLE) PROPENUMPROCA; 2578 alias BOOL function (HWND, LPCWSTR, HANDLE) PROPENUMPROCW; 2648 alias BOOL function (HWND, LPCWSTR, HANDLE) PROPENUMPROCW; 2579 alias BOOL function (HWND, LPSTR, HANDLE, DWORD) PROPENUMPROCEXA; | 2649 alias BOOL function (HWND, LPSTR, HANDLE, ULONG_PTR) PROPENUMPROCEXA; 2580 alias BOOL function (HWND, LPWSTR, HANDLE, DWORD) PROPENUMPROCEXW; | 2650 alias BOOL function (HWND, LPWSTR, HANDLE, ULONG_PTR) PROPENUMPROCEXW; 2581 alias int function (LPSTR, int, int, int) EDITWORDBREAKPROCA; 2651 alias int function (LPSTR, int, int, int) EDITWORDBREAKPROCA; 2582 alias int function (LPWSTR, int, int, int) EDITWORDBREAKPROCW; 2652 alias int function (LPWSTR, int, int, int) EDITWORDBREAKPROCW; 2583 alias LRESULT function (HWND, UINT, WPARAM, LPARAM) WNDPROC; 2653 alias LRESULT function (HWND, UINT, WPARAM, LPARAM) WNDPROC; 2584 alias BOOL function (HDC, LPARAM, WPARAM, int, int) DRAWSTATEPROC; 2654 alias BOOL function (HDC, LPARAM, WPARAM, int, int) DRAWSTATEPROC; 2585 alias BOOL function (HWND, LPARAM) WNDENUMPROC; 2655 alias BOOL function (HWND, LPARAM) WNDENUMPROC; 2586 alias BOOL function (HWND, LPARAM) ENUMWINDOWSPROC; 2656 alias BOOL function (HWND, LPARAM) ENUMWINDOWSPROC; 2587 alias void function (LPHELPINFO) MSGBOXCALLBACK; 2657 alias void function (LPHELPINFO) MSGBOXCALLBACK; 2588 2658 2589 static if (WINVER >= 0x410) { | 2659 static if (_WIN32_WINNT >= 0x410) { 2590 alias BOOL function (HMONITOR, HDC, LPRECT, LPARAM) MONITORENUMP 2660 alias BOOL function (HMONITOR, HDC, LPRECT, LPARAM) MONITORENUMP 2591 } 2661 } 2592 alias BOOL function (LPSTR, LPARAM) NAMEENUMPROCA; 2662 alias BOOL function (LPSTR, LPARAM) NAMEENUMPROCA; 2593 alias BOOL function (LPWSTR, LPARAM) NAMEENUMPROCW; 2663 alias BOOL function (LPWSTR, LPARAM) NAMEENUMPROCW; 2594 alias void function (HWND, UINT, DWORD, LRESULT) SENDASYNCPROC; | 2664 alias void function (HWND, UINT, ULONG_PTR, LRESULT) SENDASYNCPROC; 2595 2665 2596 alias NAMEENUMPROCA DESKTOPENUMPROCA; 2666 alias NAMEENUMPROCA DESKTOPENUMPROCA; 2597 alias NAMEENUMPROCW DESKTOPENUMPROCW; 2667 alias NAMEENUMPROCW DESKTOPENUMPROCW; 2598 alias NAMEENUMPROCA WINSTAENUMPROCA; 2668 alias NAMEENUMPROCA WINSTAENUMPROCA; 2599 alias NAMEENUMPROCW WINSTAENUMPROCW; 2669 alias NAMEENUMPROCW WINSTAENUMPROCW; 2600 } 2670 } 2601 2671 2602 alias HANDLE HHOOK; | 2672 alias TypeDef!(HANDLE) HHOOK; 2603 alias HANDLE HDWP; | 2673 alias TypeDef!(HANDLE) HDWP; 2604 alias HANDLE HDEVNOTIFY; | 2674 alias TypeDef!(HANDLE) HDEVNOTIFY; 2605 2675 2606 struct ACCEL { 2676 struct ACCEL { 2607 BYTE fVirt; 2677 BYTE fVirt; 2608 WORD key; 2678 WORD key; 2609 WORD cmd; 2679 WORD cmd; 2610 } 2680 } 2611 alias ACCEL* LPACCEL; 2681 alias ACCEL* LPACCEL; ................................................................................................................................................................................ 2668 alias CBT_CREATEWNDW* LPCBT_CREATEWNDW; 2738 alias CBT_CREATEWNDW* LPCBT_CREATEWNDW; 2669 2739 2670 struct CBTACTIVATESTRUCT { 2740 struct CBTACTIVATESTRUCT { 2671 BOOL fMouse; 2741 BOOL fMouse; 2672 HWND hWndActive; 2742 HWND hWndActive; 2673 } 2743 } 2674 alias CBTACTIVATESTRUCT* LPCBTACTIVATESTRUCT; 2744 alias CBTACTIVATESTRUCT* LPCBTACTIVATESTRUCT; > 2745 > 2746 static if (_WIN32_WINNT >= 0x501) { > 2747 > 2748 struct WTSSESSION_NOTIFICATION > 2749 { > 2750 DWORD cbSize; > 2751 DWORD dwSessionId; > 2752 } > 2753 alias WTSSESSION_NOTIFICATION* PWTSSESSION_NOTIFICATION; > 2754 > 2755 } 2675 2756 2676 struct CLIENTCREATESTRUCT { 2757 struct CLIENTCREATESTRUCT { 2677 HANDLE hWindowMenu; 2758 HANDLE hWindowMenu; 2678 UINT idFirstChild; 2759 UINT idFirstChild; 2679 } 2760 } 2680 alias CLIENTCREATESTRUCT* LPCLIENTCREATESTRUCT; 2761 alias CLIENTCREATESTRUCT* LPCLIENTCREATESTRUCT; 2681 2762 ................................................................................................................................................................................ 2760 DWORD dwExtendedStyle; 2841 DWORD dwExtendedStyle; 2761 WORD cdit; 2842 WORD cdit; 2762 short x; 2843 short x; 2763 short y; 2844 short y; 2764 short cx; 2845 short cx; 2765 short cy; 2846 short cy; 2766 } 2847 } 2767 alias DLGTEMPLATE* LPDLGTEMPLATE, LPDLGTEMPLATEA, LPDLGTEMPLATEW; | 2848 alias DLGTEMPLATE* LPDLGTEMPLATE, LPDLGTEMPLATEA, LPDLGTEMPLATEW; 2768 alias CPtr!(DLGTEMPLATE) LPCDLGTEMPLATE; | 2849 alias const(DLGTEMPLATE)* LPCDLGTEMPLATE; 2769 2850 2770 align: 2851 align: 2771 2852 2772 struct DRAWITEMSTRUCT { 2853 struct DRAWITEMSTRUCT { 2773 UINT CtlType; 2854 UINT CtlType; 2774 UINT CtlID; 2855 UINT CtlID; 2775 UINT itemID; 2856 UINT itemID; ................................................................................................................................................................................ 2818 HBITMAP hbmMask; 2899 HBITMAP hbmMask; 2819 HBITMAP hbmColor; 2900 HBITMAP hbmColor; 2820 } 2901 } 2821 alias ICONINFO* PICONINFO; 2902 alias ICONINFO* PICONINFO; 2822 2903 2823 struct NMHDR { 2904 struct NMHDR { 2824 HWND hwndFrom; 2905 HWND hwndFrom; 2825 UINT idFrom; | 2906 UINT_PTR idFrom; 2826 UINT code; 2907 UINT code; 2827 } 2908 } 2828 alias NMHDR* LPNMHDR; 2909 alias NMHDR* LPNMHDR; 2829 2910 2830 struct WNDCLASSA { 2911 struct WNDCLASSA { 2831 UINT style; 2912 UINT style; 2832 WNDPROC lpfnWndProc; 2913 WNDPROC lpfnWndProc; ................................................................................................................................................................................ 2882 HCURSOR hCursor; 2963 HCURSOR hCursor; 2883 HBRUSH hbrBackground; 2964 HBRUSH hbrBackground; 2884 LPCWSTR lpszMenuName; 2965 LPCWSTR lpszMenuName; 2885 LPCWSTR lpszClassName; 2966 LPCWSTR lpszClassName; 2886 HICON hIconSm; 2967 HICON hIconSm; 2887 } 2968 } 2888 alias WNDCLASSEXW* LPWNDCLASSEXW, PWNDCLASSEXW; 2969 alias WNDCLASSEXW* LPWNDCLASSEXW, PWNDCLASSEXW; > 2970 > 2971 static if(_WIN32_WINNT >= 0x500) { > 2972 > 2973 struct MENUGETOBJECTINFO > 2974 { > 2975 DWORD dwFlags; > 2976 UINT uPos; > 2977 HMENU hmenu; > 2978 PVOID riid; > 2979 PVOID pvObj; > 2980 } > 2981 alias MENUGETOBJECTINFO* PMENUGETOBJECTINFO; > 2982 > 2983 } 2889 2984 2890 struct MENUITEMINFOA { 2985 struct MENUITEMINFOA { 2891 UINT cbSize = MENUITEMINFOA.sizeof; 2986 UINT cbSize = MENUITEMINFOA.sizeof; 2892 UINT fMask; 2987 UINT fMask; 2893 UINT fType; 2988 UINT fType; 2894 UINT fState; 2989 UINT fState; 2895 UINT wID; 2990 UINT wID; ................................................................................................................................................................................ 2899 DWORD dwItemData; 2994 DWORD dwItemData; 2900 LPSTR dwTypeData; 2995 LPSTR dwTypeData; 2901 UINT cch; 2996 UINT cch; 2902 static if (_WIN32_WINNT >= 0x500) { 2997 static if (_WIN32_WINNT >= 0x500) { 2903 HBITMAP hbmpItem; 2998 HBITMAP hbmpItem; 2904 } 2999 } 2905 } 3000 } 2906 alias MENUITEMINFOA* LPMENUITEMINFOA; | 3001 alias MENUITEMINFOA* LPMENUITEMINFOA; 2907 alias CPtr!(MENUITEMINFOA) LPCMENUITEMINFOA; | 3002 alias const(MENUITEMINFOA)* LPCMENUITEMINFOA; 2908 3003 2909 struct MENUITEMINFOW { 3004 struct MENUITEMINFOW { 2910 UINT cbSize = MENUITEMINFOW.sizeof; 3005 UINT cbSize = MENUITEMINFOW.sizeof; 2911 UINT fMask; 3006 UINT fMask; 2912 UINT fType; 3007 UINT fType; 2913 UINT fState; 3008 UINT fState; 2914 UINT wID; 3009 UINT wID; ................................................................................................................................................................................ 2918 DWORD dwItemData; 3013 DWORD dwItemData; 2919 LPWSTR dwTypeData; 3014 LPWSTR dwTypeData; 2920 UINT cch; 3015 UINT cch; 2921 static if (_WIN32_WINNT >= 0x500) { 3016 static if (_WIN32_WINNT >= 0x500) { 2922 HBITMAP hbmpItem; 3017 HBITMAP hbmpItem; 2923 } 3018 } 2924 } 3019 } 2925 alias MENUITEMINFOW* LPMENUITEMINFOW; | 3020 alias MENUITEMINFOW* LPMENUITEMINFOW; 2926 alias CPtr!(MENUITEMINFOW) LPCMENUITEMINFOW; | 3021 alias const(MENUITEMINFOW)* LPCMENUITEMINFOW; 2927 3022 2928 struct SCROLLINFO { 3023 struct SCROLLINFO { 2929 UINT cbSize = this.sizeof; 3024 UINT cbSize = this.sizeof; 2930 UINT fMask; 3025 UINT fMask; 2931 int nMin; 3026 int nMin; 2932 int nMax; 3027 int nMax; 2933 UINT nPage; 3028 UINT nPage; 2934 int nPos; 3029 int nPos; 2935 int nTrackPos; 3030 int nTrackPos; 2936 } 3031 } 2937 alias SCROLLINFO* LPSCROLLINFO; | 3032 alias SCROLLINFO* LPSCROLLINFO; 2938 alias CPtr!(SCROLLINFO) LPCSCROLLINFO; | 3033 alias const(SCROLLINFO)* LPCSCROLLINFO; 2939 3034 2940 struct WINDOWPLACEMENT { 3035 struct WINDOWPLACEMENT { 2941 UINT length; 3036 UINT length; 2942 UINT flags; 3037 UINT flags; 2943 UINT showCmd; 3038 UINT showCmd; 2944 POINT ptMinPosition; 3039 POINT ptMinPosition; 2945 POINT ptMaxPosition; 3040 POINT ptMaxPosition; ................................................................................................................................................................................ 2951 WORD versionNumber; 3046 WORD versionNumber; 2952 WORD offset; 3047 WORD offset; 2953 } 3048 } 2954 3049 2955 struct MENUITEMTEMPLATE { 3050 struct MENUITEMTEMPLATE { 2956 WORD mtOption; 3051 WORD mtOption; 2957 WORD mtID; 3052 WORD mtID; 2958 WCHAR mtString[1]; | 3053 WCHAR[1] mtString; 2959 } 3054 } 2960 3055 2961 alias void MENUTEMPLATE, MENUTEMPLATEA, MENUTEMPLATEW; 3056 alias void MENUTEMPLATE, MENUTEMPLATEA, MENUTEMPLATEW; 2962 3057 2963 alias MENUTEMPLATE* LPMENUTEMPLATEA, LPMENUTEMPLATEW, LPMENUTEMPLATE; 3058 alias MENUTEMPLATE* LPMENUTEMPLATEA, LPMENUTEMPLATEW, LPMENUTEMPLATE; 2964 3059 2965 struct HELPINFO { 3060 struct HELPINFO { ................................................................................................................................................................................ 3209 int cx; 3304 int cx; 3210 int cy; 3305 int cy; 3211 UINT flags; 3306 UINT flags; 3212 } 3307 } 3213 alias WINDOWPOS* PWINDOWPOS, LPWINDOWPOS; 3308 alias WINDOWPOS* PWINDOWPOS, LPWINDOWPOS; 3214 3309 3215 struct NCCALCSIZE_PARAMS { 3310 struct NCCALCSIZE_PARAMS { 3216 RECT rgrc[3]; | 3311 RECT[3] rgrc; 3217 PWINDOWPOS lppos; 3312 PWINDOWPOS lppos; 3218 } 3313 } 3219 alias NCCALCSIZE_PARAMS* LPNCCALCSIZE_PARAMS; 3314 alias NCCALCSIZE_PARAMS* LPNCCALCSIZE_PARAMS; 3220 3315 3221 struct MDICREATESTRUCTA { 3316 struct MDICREATESTRUCTA { 3222 LPCSTR szClass; 3317 LPCSTR szClass; 3223 LPCSTR szTitle; 3318 LPCSTR szTitle; ................................................................................................................................................................................ 3281 alias DROPSTRUCT* PDROPSTRUCT, LPDROPSTRUCT; 3376 alias DROPSTRUCT* PDROPSTRUCT, LPDROPSTRUCT; 3282 3377 3283 alias DWORD HELPPOLY; 3378 alias DWORD HELPPOLY; 3284 3379 3285 struct MULTIKEYHELPA { 3380 struct MULTIKEYHELPA { 3286 DWORD mkSize; 3381 DWORD mkSize; 3287 CHAR mkKeylist; 3382 CHAR mkKeylist; 3288 CHAR szKeyphrase[1]; | 3383 CHAR[1] szKeyphrase; 3289 } 3384 } 3290 alias MULTIKEYHELPA* PMULTIKEYHELPA, LPMULTIKEYHELPA; 3385 alias MULTIKEYHELPA* PMULTIKEYHELPA, LPMULTIKEYHELPA; 3291 3386 3292 struct MULTIKEYHELPW { 3387 struct MULTIKEYHELPW { 3293 DWORD mkSize; 3388 DWORD mkSize; 3294 WCHAR mkKeylist; 3389 WCHAR mkKeylist; 3295 WCHAR szKeyphrase[1]; | 3390 WCHAR[1] szKeyphrase; 3296 } 3391 } 3297 alias MULTIKEYHELPW* PMULTIKEYHELPW, LPMULTIKEYHELPW; 3392 alias MULTIKEYHELPW* PMULTIKEYHELPW, LPMULTIKEYHELPW; 3298 3393 3299 struct HELPWININFOA { 3394 struct HELPWININFOA { 3300 int wStructSize; 3395 int wStructSize; 3301 int x; 3396 int x; 3302 int y; 3397 int y; 3303 int dx; 3398 int dx; 3304 int dy; 3399 int dy; 3305 int wMax; 3400 int wMax; 3306 CHAR rgchMember[2]; | 3401 CHAR[2] rgchMember; 3307 } 3402 } 3308 alias HELPWININFOA* PHELPWININFOA, LPHELPWININFOA; 3403 alias HELPWININFOA* PHELPWININFOA, LPHELPWININFOA; 3309 3404 3310 struct HELPWININFOW { 3405 struct HELPWININFOW { 3311 int wStructSize; 3406 int wStructSize; 3312 int x; 3407 int x; 3313 int y; 3408 int y; 3314 int dx; 3409 int dx; 3315 int dy; 3410 int dy; 3316 int wMax; 3411 int wMax; 3317 WCHAR rgchMember[2]; | 3412 WCHAR[2] rgchMember; 3318 } 3413 } 3319 alias HELPWININFOW* PHELPWININFOW, LPHELPWININFOW; 3414 alias HELPWININFOW* PHELPWININFOW, LPHELPWININFOW; 3320 3415 3321 struct STYLESTRUCT { 3416 struct STYLESTRUCT { 3322 DWORD styleOld; 3417 DWORD styleOld; 3323 DWORD styleNew; 3418 DWORD styleNew; 3324 } 3419 } ................................................................................................................................................................................ 3376 DWORD fMask; 3471 DWORD fMask; 3377 DWORD dwStyle; 3472 DWORD dwStyle; 3378 UINT cyMax; 3473 UINT cyMax; 3379 HBRUSH hbrBack; 3474 HBRUSH hbrBack; 3380 DWORD dwContextHelpID; 3475 DWORD dwContextHelpID; 3381 ULONG_PTR dwMenuData; 3476 ULONG_PTR dwMenuData; 3382 } 3477 } 3383 alias MENUINFO* LPMENUINFO; | 3478 alias MENUINFO* LPMENUINFO; 3384 alias CPtr!(MENUINFO) LPCMENUINFO; | 3479 alias const(MENUINFO)* LPCMENUINFO; 3385 3480 3386 3481 3387 const CCHILDREN_SCROLLBAR=5; 3482 const CCHILDREN_SCROLLBAR=5; 3388 3483 3389 struct SCROLLBARINFO { 3484 struct SCROLLBARINFO { 3390 DWORD cbSize = this.sizeof; 3485 DWORD cbSize = this.sizeof; 3391 RECT rcScrollBar; 3486 RECT rcScrollBar; 3392 int dxyLineButton; 3487 int dxyLineButton; 3393 int xyThumbTop; 3488 int xyThumbTop; 3394 int xyThumbBottom; 3489 int xyThumbBottom; 3395 int reserved; 3490 int reserved; 3396 DWORD rgstate[CCHILDREN_SCROLLBAR+1]; | 3491 DWORD[CCHILDREN_SCROLLBAR+1] rgstate; 3397 } 3492 } 3398 alias SCROLLBARINFO* PSCROLLBARINFO, LPSCROLLBARINFO; 3493 alias SCROLLBARINFO* PSCROLLBARINFO, LPSCROLLBARINFO; 3399 3494 3400 const CCHILDREN_TITLEBAR=5; 3495 const CCHILDREN_TITLEBAR=5; 3401 3496 3402 struct TITLEBARINFO { 3497 struct TITLEBARINFO { 3403 DWORD cbSize = TITLEBARINFO.sizeof; 3498 DWORD cbSize = TITLEBARINFO.sizeof; ................................................................................................................................................................................ 3459 DWORD scanCode; 3554 DWORD scanCode; 3460 DWORD flags; 3555 DWORD flags; 3461 DWORD time; 3556 DWORD time; 3462 DWORD dwExtraInfo; 3557 DWORD dwExtraInfo; 3463 } 3558 } 3464 alias KBDLLHOOKSTRUCT* LPKBDLLHOOKSTRUCT, PKBDLLHOOKSTRUCT; 3559 alias KBDLLHOOKSTRUCT* LPKBDLLHOOKSTRUCT, PKBDLLHOOKSTRUCT; 3465 3560 3466 static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { | 3561 static if (_WIN32_WINNT >= 0x501) { 3467 < 3468 struct FLASHWINFO { | 3562 struct FLASHWINFO { 3469 UINT cbSize = this.sizeof; | 3563 UINT cbSize = this.sizeof; 3470 HWND hwnd; | 3564 HWND hwnd; 3471 DWORD dwFlags; | 3565 DWORD dwFlags; 3472 UINT uCount; | 3566 UINT uCount; 3473 DWORD dwTimeout; | 3567 DWORD dwTimeout; 3474 } | 3568 } 3475 alias FLASHWINFO* PFLASHWINFO; | 3569 alias FLASHWINFO* PFLASHWINFO; 3476 | 3570 } 3477 } | 3571 3478 < 3479 static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x490)) { | 3572 static if (_WIN32_WINNT >= 0x500) { 3480 | 3573 3481 struct MOUSEMOVEPOINT { | 3574 struct MOUSEMOVEPOINT { 3482 int x; | 3575 int x; 3483 int y; | 3576 int y; 3484 DWORD time; | 3577 DWORD time; 3485 ULONG_PTR dwExtraInfo; | 3578 ULONG_PTR dwExtraInfo; 3486 } | 3579 } 3487 alias MOUSEMOVEPOINT* PMOUSEMOVEPOINT, LPMOUSEMOVEPOINT; | 3580 alias MOUSEMOVEPOINT* PMOUSEMOVEPOINT, LPMOUSEMOVEPOINT; 3488 } 3581 } 3489 3582 3490 static if (_WIN32_WINNT >= 0x403) { 3583 static if (_WIN32_WINNT >= 0x403) { 3491 struct MOUSEINPUT { | 3584 struct MOUSEINPUT { 3492 LONG dx; | 3585 LONG dx; 3493 LONG dy; | 3586 LONG dy; 3494 DWORD mouseData; | 3587 DWORD mouseData; 3495 DWORD dwFlags; | 3588 DWORD dwFlags; 3496 DWORD time; | 3589 DWORD time; 3497 ULONG_PTR dwExtraInfo; | 3590 ULONG_PTR dwExtraInfo; 3498 } | 3591 } 3499 alias MOUSEINPUT* PMOUSEINPUT; | 3592 alias MOUSEINPUT* PMOUSEINPUT; 3500 | 3593 3501 struct KEYBDINPUT { | 3594 struct KEYBDINPUT { 3502 WORD wVk; | 3595 WORD wVk; 3503 WORD wScan; | 3596 WORD wScan; 3504 DWORD dwFlags; | 3597 DWORD dwFlags; 3505 DWORD time; | 3598 DWORD time; 3506 ULONG_PTR dwExtraInfo; | 3599 ULONG_PTR dwExtraInfo; 3507 } | 3600 } 3508 alias KEYBDINPUT* PKEYBDINPUT; | 3601 alias KEYBDINPUT* PKEYBDINPUT; 3509 | 3602 3510 struct HARDWAREINPUT { | 3603 struct HARDWAREINPUT { 3511 DWORD uMsg; | 3604 DWORD uMsg; 3512 WORD wParamL; | 3605 WORD wParamL; 3513 WORD wParamH; | 3606 WORD wParamH; 3514 } | 3607 } 3515 alias HARDWAREINPUT* PHARDWAREINPUT; | 3608 alias HARDWAREINPUT* PHARDWAREINPUT; 3516 | 3609 3517 struct INPUT { | 3610 struct INPUT { 3518 DWORD type; | 3611 DWORD type; 3519 union { | 3612 union { 3520 MOUSEINPUT mi; | 3613 MOUSEINPUT mi; 3521 KEYBDINPUT ki; | 3614 KEYBDINPUT ki; 3522 HARDWAREINPUT hi; | 3615 HARDWAREINPUT hi; 3523 } | 3616 } 3524 } | 3617 } 3525 alias INPUT* PINPUT, LPINPUT; | 3618 alias INPUT* PINPUT, LPINPUT; 3526 }// (_WIN32_WINNT >= 0x403) 3619 }// (_WIN32_WINNT >= 0x403) 3527 3620 3528 static if (WINVER >= 0x500) { | 3621 static if (_WIN32_WINNT >= 0x500) { 3529 struct GUITHREADINFO { | 3622 struct GUITHREADINFO { 3530 DWORD cbSize = this.sizeof; | 3623 DWORD cbSize = this.sizeof; 3531 DWORD flags; | 3624 DWORD flags; 3532 HWND hwndActive; | 3625 HWND hwndActive; 3533 HWND hwndFocus; | 3626 HWND hwndFocus; 3534 HWND hwndCapture; | 3627 HWND hwndCapture; 3535 HWND hwndMenuOwner; | 3628 HWND hwndMenuOwner; 3536 HWND hwndMoveSize; | 3629 HWND hwndMoveSize; 3537 HWND hwndCaret; | 3630 HWND hwndCaret; 3538 RECT rcCaret; | 3631 RECT rcCaret; 3539 } | 3632 } 3540 alias GUITHREADINFO* PGUITHREADINFO, LPGUITHREADINFO; | 3633 alias GUITHREADINFO* PGUITHREADINFO, LPGUITHREADINFO; 3541 extern (Windows) { | 3634 extern (Windows) { 3542 alias void function (HWINEVENTHOOK, DWORD, HWND, LONG, LONG, DWORD, DWORD) WINEV | 3635 alias void function (HWINEVENTHOOK, DWORD, HWND, LONG, LONG, DWO 3543 } | 3636 } 3544 3637 3545 }// (WINVER >= 0x500) | 3638 }// (_WIN32_WINNT >= 0x500) 3546 3639 3547 static if (_WIN32_WINNT >= 0x501) { 3640 static if (_WIN32_WINNT >= 0x501) { 3548 struct BSMINFO { | 3641 struct BSMINFO { 3549 UINT cbSize = this.sizeof; | 3642 UINT cbSize = this.sizeof; 3550 HDESK hdesk; | 3643 HDESK hdesk; 3551 HWND hwnd; | 3644 HWND hwnd; 3552 LUID luid; | 3645 LUID luid; 3553 } | 3646 } 3554 alias BSMINFO* PBSMINFO; | 3647 alias BSMINFO* PBSMINFO; 3555 | 3648 3556 alias HANDLE HRAWINPUT; | 3649 alias TypeDef!(HANDLE) HRAWINPUT; 3557 | 3650 3558 struct RAWINPUTHEADER { | 3651 struct RAWINPUTHEADER { 3559 DWORD dwType; | 3652 DWORD dwType; 3560 DWORD dwSize; | 3653 DWORD dwSize; 3561 HANDLE hDevice; | 3654 HANDLE hDevice; 3562 WPARAM wParam; | 3655 WPARAM wParam; 3563 } | 3656 } 3564 alias RAWINPUTHEADER* PRAWINPUTHEADER; | 3657 alias RAWINPUTHEADER* PRAWINPUTHEADER; 3565 | 3658 3566 struct RAWMOUSE { | 3659 struct RAWMOUSE { 3567 USHORT usFlags; | 3660 USHORT usFlags; 3568 union { | 3661 union { 3569 ULONG ulButtons; | 3662 ULONG ulButtons; 3570 struct { | 3663 struct { 3571 USHORT usButtonFlags; | 3664 USHORT usButtonFlags; 3572 USHORT usButtonData; | 3665 USHORT usButtonData; > 3666 } > 3667 } > 3668 ULONG ulRawButtons; > 3669 LONG lLastX; > 3670 LONG lLastY; > 3671 ULONG ulExtraInformation; > 3672 } > 3673 alias RAWMOUSE* PRAWMOUSE, LPRAWMOUSE; > 3674 > 3675 struct RAWKEYBOARD { > 3676 USHORT MakeCode; > 3677 USHORT Flags; > 3678 USHORT Reserved; > 3679 USHORT VKey; > 3680 UINT Message; > 3681 ULONG ExtraInformation; > 3682 } > 3683 alias RAWKEYBOARD* PRAWKEYBOARD, LPRAWKEYBOARD; > 3684 > 3685 struct RAWHID { > 3686 DWORD dwSizeHid; > 3687 DWORD dwCount; > 3688 BYTE bRawData; > 3689 } > 3690 alias RAWHID* PRAWHID, LPRAWHID; > 3691 > 3692 struct RAWINPUT { > 3693 RAWINPUTHEADER header; > 3694 union _data { > 3695 RAWMOUSE mouse; > 3696 RAWKEYBOARD keyboard; > 3697 RAWHID hid; 3573 } 3698 } > 3699 _data data; 3574 } | 3700 } 3575 ULONG ulRawButtons; < 3576 LONG lLastX; | 3701 alias RAWINPUT* PRAWINPUT, LPRAWINPUT; 3577 LONG lLastY; < 3578 ULONG ulExtraInformation; < 3579 } | 3702 3580 alias RAWMOUSE* PRAWMOUSE, LPRAWMOUSE; < 3581 < 3582 struct RAWKEYBOARD { | 3703 struct RAWINPUTDEVICE { 3583 USHORT MakeCode; < 3584 USHORT Flags; | 3704 USHORT usUsagePage; 3585 USHORT Reserved; < 3586 USHORT VKey; | 3705 USHORT usUsage; 3587 UINT Message; < 3588 ULONG ExtraInformation; < > 3706 DWORD dwFlags; > 3707 HWND hwndTarget; 3589 } | 3708 } 3590 alias RAWKEYBOARD* PRAWKEYBOARD, LPRAWKEYBOARD; < > 3709 alias RAWINPUTDEVICE* PRAWINPUTDEVICE, LPRAWINPUTDEVICE; > 3710 alias const(RAWINPUTDEVICE)* PCRAWINPUTDEVICE; 3591 | 3711 3592 struct RAWHID { | 3712 struct RAWINPUTDEVICELIST { > 3713 HANDLE hDevice; 3593 DWORD dwSizeHid; | 3714 DWORD dwType; > 3715 } > 3716 alias RAWINPUTDEVICELIST* PRAWINPUTDEVICELIST; > 3717 > 3718 struct RID_DEVICE_INFO_MOUSE { 3594 DWORD dwCount; | 3719 DWORD dwId; 3595 BYTE bRawData; | 3720 DWORD dwNumberOfButtons; > 3721 DWORD dwSampleRate; > 3722 BOOL fHasHorizontalWheel; 3596 } | 3723 } 3597 alias RAWHID* PRAWHID, LPRAWHID; < 3598 | 3724 3599 struct RAWINPUT { < 3600 RAWINPUTHEADER header; | 3725 struct RID_DEVICE_INFO_KEYBOARD { 3601 union _data { | 3726 DWORD dwType; 3602 RAWMOUSE mouse; | 3727 DWORD dwSubType; 3603 RAWKEYBOARD keyboard; | 3728 DWORD dwKeyboardMode; 3604 RAWHID hid; | 3729 DWORD dwNumberOfFunctionKeys; > 3730 DWORD dwNumberOfIndicators; > 3731 DWORD dwNumberOfKeysTotal; > 3732 } > 3733 > 3734 struct RID_DEVICE_INFO_HID { > 3735 DWORD dwVendorId; > 3736 DWORD dwProductId; > 3737 DWORD dwVersionNumber; > 3738 USHORT usUsagePage; > 3739 USHORT usUsage; 3605 } 3740 } 3606 _data data; < 3607 } | 3741 3608 alias RAWINPUT* PRAWINPUT, LPRAWINPUT; < 3609 < 3610 struct RAWINPUTDEVICE { < 3611 USHORT usUsagePage; < 3612 USHORT usUsage; < 3613 DWORD dwFlags; < 3614 HWND hwndTarget; < 3615 } < 3616 alias RAWINPUTDEVICE* PRAWINPUTDEVICE, LPRAWINPUTDEVICE; < 3617 alias CPtr!(RAWINPUTDEVICE) PCRAWINPUTDEVICE; < 3618 < 3619 struct RAWINPUTDEVICELIST { < 3620 HANDLE hDevice; < 3621 DWORD dwType; < 3622 } < 3623 alias RAWINPUTDEVICELIST* PRAWINPUTDEVICELIST; < 3624 < 3625 struct RID_DEVICE_INFO_MOUSE { < 3626 DWORD dwId; < 3627 DWORD dwNumberOfButtons; < 3628 DWORD dwSampleRate; < 3629 BOOL fHasHorizontalWheel; < 3630 } < 3631 < 3632 struct RID_DEVICE_INFO_KEYBOARD { < 3633 DWORD dwType; < 3634 DWORD dwSubType; < 3635 DWORD dwKeyboardMode; < 3636 DWORD dwNumberOfFunctionKeys; < 3637 DWORD dwNumberOfIndicators; < 3638 DWORD dwNumberOfKeysTotal; < 3639 } < 3640 < 3641 struct RID_DEVICE_INFO_HID { < 3642 DWORD dwVendorId; < 3643 DWORD dwProductId; < 3644 DWORD dwVersionNumber; < 3645 USHORT usUsagePage; < 3646 USHORT usUsage; < 3647 } < 3648 < 3649 struct RID_DEVICE_INFO { | 3742 struct RID_DEVICE_INFO { 3650 DWORD cbSize = this.sizeof; | 3743 DWORD cbSize = this.sizeof; 3651 DWORD dwType; | 3744 DWORD dwType; 3652 union { | 3745 union { 3653 RID_DEVICE_INFO_MOUSE mouse; | 3746 RID_DEVICE_INFO_MOUSE mouse; 3654 RID_DEVICE_INFO_KEYBOARD keyboard; | 3747 RID_DEVICE_INFO_KEYBOARD keyboard; 3655 RID_DEVICE_INFO_HID hid; | 3748 RID_DEVICE_INFO_HID hid; 3656 } | 3749 } 3657 } | 3750 } 3658 }// (_WIN32_WINNT >= 0x501) 3751 }// (_WIN32_WINNT >= 0x501) 3659 3752 3660 struct MSLLHOOKSTRUCT { 3753 struct MSLLHOOKSTRUCT { 3661 POINT pt; 3754 POINT pt; 3662 DWORD mouseData; 3755 DWORD mouseData; 3663 DWORD flags; 3756 DWORD flags; 3664 DWORD time; 3757 DWORD time; ................................................................................................................................................................................ 3677 alias CharNextA AnsiNext; 3770 alias CharNextA AnsiNext; 3678 alias CharPrevA AnsiPrev; 3771 alias CharPrevA AnsiPrev; 3679 3772 3680 alias MAKELONG MAKEWPARAM; 3773 alias MAKELONG MAKEWPARAM; 3681 alias MAKELONG MAKELPARAM; 3774 alias MAKELONG MAKELPARAM; 3682 alias MAKELONG MAKELRESULT; 3775 alias MAKELONG MAKELRESULT; 3683 3776 3684 //MACRO #define POINTSTOPOINT(p, ps) { (p).x=LOWORD(*(DWORD* )&ps); (p).y=HIWORD | 3777 //MACRO #define POINTSTOPOINT(p, ps) { (p).x=LOWORD(*(DWORD*)&ps); (p).y=HIWORD( 3685 //MACRO #define POINTTOPOINTS(p) ((POINTS)MAKELONG((p).x, (p).y)) 3778 //MACRO #define POINTTOPOINTS(p) ((POINTS)MAKELONG((p).x, (p).y)) 3686 3779 3687 extern (Windows) { 3780 extern (Windows) { 3688 3781 3689 HKL ActivateKeyboardLayout(HKL, UINT); | 3782 HKL ActivateKeyboardLayout(HKL, UINT); 3690 BOOL AdjustWindowRect(LPRECT, DWORD, BOOL); | 3783 BOOL AdjustWindowRect(LPRECT, DWORD, BOOL); 3691 BOOL AdjustWindowRectEx(LPRECT, DWORD, BOOL, DWORD); | 3784 BOOL AdjustWindowRectEx(LPRECT, DWORD, BOOL, DWORD); 3692 BOOL AnyPopup(); | 3785 BOOL AnyPopup(); 3693 BOOL AppendMenuA(HMENU, UINT, UINT_PTR, LPCSTR); | 3786 BOOL AppendMenuA(HMENU, UINT, UINT_PTR, LPCSTR); 3694 BOOL AppendMenuW(HMENU, UINT, UINT_PTR, LPCWSTR); | 3787 BOOL AppendMenuW(HMENU, UINT, UINT_PTR, LPCWSTR); 3695 UINT ArrangeIconicWindows(HWND); | 3788 UINT ArrangeIconicWindows(HWND); 3696 BOOL AttachThreadInput(DWORD, DWORD, BOOL); | 3789 BOOL AttachThreadInput(DWORD, DWORD, BOOL); 3697 HDWP BeginDeferWindowPos(int); | 3790 HDWP BeginDeferWindowPos(int); 3698 HDC BeginPaint(HWND, LPPAINTSTRUCT); | 3791 HDC BeginPaint(HWND, LPPAINTSTRUCT); 3699 BOOL BringWindowToTop(HWND); | 3792 BOOL BringWindowToTop(HWND); 3700 BOOL CallMsgFilterA(LPMSG, INT); | 3793 BOOL CallMsgFilterA(LPMSG, INT); 3701 BOOL CallMsgFilterW(LPMSG, INT); | 3794 BOOL CallMsgFilterW(LPMSG, INT); 3702 LRESULT CallNextHookEx(HHOOK, int, WPARAM, LPARAM); | 3795 LRESULT CallNextHookEx(HHOOK, int, WPARAM, LPARAM); 3703 LRESULT CallWindowProcA(WNDPROC, HWND, UINT, WPARAM, LPARAM); | 3796 LRESULT CallWindowProcA(WNDPROC, HWND, UINT, WPARAM, LPARAM); 3704 LRESULT CallWindowProcW(WNDPROC, HWND, UINT, WPARAM, LPARAM); | 3797 LRESULT CallWindowProcW(WNDPROC, HWND, UINT, WPARAM, LPARAM); 3705 WORD CascadeWindows(HWND, UINT, LPCRECT, UINT, CPtr!(HWND)); | 3798 WORD CascadeWindows(HWND, UINT, LPCRECT, UINT, const(HWND)*); 3706 BOOL ChangeClipboardChain(HWND, HWND); | 3799 BOOL ChangeClipboardChain(HWND, HWND); 3707 | 3800 3708 LONG ChangeDisplaySettingsA(PDEVMODEA, DWORD); | 3801 LONG ChangeDisplaySettingsA(PDEVMODEA, DWORD); 3709 LONG ChangeDisplaySettingsW(PDEVMODEW, DWORD); | 3802 LONG ChangeDisplaySettingsW(PDEVMODEW, DWORD); 3710 LONG ChangeDisplaySettingsExA(LPCSTR, LPDEVMODEA, HWND, DWORD, LPVOID); | 3803 LONG ChangeDisplaySettingsExA(LPCSTR, LPDEVMODEA, HWND, DWORD, LPVOID); 3711 LONG ChangeDisplaySettingsExW(LPCWSTR, LPDEVMODEW, HWND, DWORD, LPVOID); | 3804 LONG ChangeDisplaySettingsExW(LPCWSTR, LPDEVMODEW, HWND, DWORD, LPVOID); 3712 | 3805 3713 BOOL ChangeMenuA(HMENU, UINT, LPCSTR, UINT, UINT); | 3806 BOOL ChangeMenuA(HMENU, UINT, LPCSTR, UINT, UINT); 3714 BOOL ChangeMenuW(HMENU, UINT, LPCWSTR, UINT, UINT); | 3807 BOOL ChangeMenuW(HMENU, UINT, LPCWSTR, UINT, UINT); 3715 LPSTR CharLowerA(LPSTR); | 3808 LPSTR CharLowerA(LPSTR); 3716 LPWSTR CharLowerW(LPWSTR); | 3809 LPWSTR CharLowerW(LPWSTR); 3717 DWORD CharLowerBuffA(LPSTR, DWORD); | 3810 DWORD CharLowerBuffA(LPSTR, DWORD); 3718 DWORD CharLowerBuffW(LPWSTR, DWORD); | 3811 DWORD CharLowerBuffW(LPWSTR, DWORD); 3719 LPSTR CharNextA(LPCSTR); | 3812 LPSTR CharNextA(LPCSTR); 3720 LPWSTR CharNextW(LPCWSTR); | 3813 LPWSTR CharNextW(LPCWSTR); 3721 LPSTR CharNextExA(WORD, LPCSTR, DWORD); | 3814 LPSTR CharNextExA(WORD, LPCSTR, DWORD); 3722 LPWSTR CharNextExW(WORD, LPCWSTR, DWORD); | 3815 LPWSTR CharNextExW(WORD, LPCWSTR, DWORD); 3723 LPSTR CharPrevA(LPCSTR, LPCSTR); | 3816 LPSTR CharPrevA(LPCSTR, LPCSTR); 3724 LPWSTR CharPrevW(LPCWSTR, LPCWSTR); | 3817 LPWSTR CharPrevW(LPCWSTR, LPCWSTR); 3725 LPSTR CharPrevExA(WORD, LPCSTR, LPCSTR, DWORD); | 3818 LPSTR CharPrevExA(WORD, LPCSTR, LPCSTR, DWORD); 3726 LPWSTR CharPrevExW(WORD, LPCWSTR, LPCWSTR, DWORD); | 3819 LPWSTR CharPrevExW(WORD, LPCWSTR, LPCWSTR, DWORD); 3727 BOOL CharToOemA(LPCSTR, LPSTR); | 3820 BOOL CharToOemA(LPCSTR, LPSTR); 3728 BOOL CharToOemW(LPCWSTR, LPSTR); | 3821 BOOL CharToOemW(LPCWSTR, LPSTR); 3729 BOOL CharToOemBuffA(LPCSTR, LPSTR, DWORD); | 3822 BOOL CharToOemBuffA(LPCSTR, LPSTR, DWORD); 3730 BOOL CharToOemBuffW(LPCWSTR, LPSTR, DWORD); | 3823 BOOL CharToOemBuffW(LPCWSTR, LPSTR, DWORD); 3731 LPSTR CharUpperA(LPSTR); | 3824 LPSTR CharUpperA(LPSTR); 3732 LPWSTR CharUpperW(LPWSTR); | 3825 LPWSTR CharUpperW(LPWSTR); 3733 DWORD CharUpperBuffA(LPSTR, DWORD); | 3826 DWORD CharUpperBuffA(LPSTR, DWORD); 3734 DWORD CharUpperBuffW(LPWSTR, DWORD); | 3827 DWORD CharUpperBuffW(LPWSTR, DWORD); 3735 BOOL CheckDlgButton(HWND, int, UINT); | 3828 BOOL CheckDlgButton(HWND, int, UINT); 3736 DWORD CheckMenuItem(HMENU, UINT, UINT); | 3829 DWORD CheckMenuItem(HMENU, UINT, UINT); 3737 BOOL CheckMenuRadioItem(HMENU, UINT, UINT, UINT, UINT); | 3830 BOOL CheckMenuRadioItem(HMENU, UINT, UINT, UINT, UINT); 3738 BOOL CheckRadioButton(HWND, int, int, int); | 3831 BOOL CheckRadioButton(HWND, int, int, int); 3739 HWND ChildWindowFromPoint(HWND, POINT); | 3832 HWND ChildWindowFromPoint(HWND, POINT); 3740 HWND ChildWindowFromPointEx(HWND, POINT, UINT); | 3833 HWND ChildWindowFromPointEx(HWND, POINT, UINT); 3741 BOOL ClientToScreen(HWND, LPPOINT); | 3834 BOOL ClientToScreen(HWND, LPPOINT); 3742 BOOL ClipCursor(LPCRECT); | 3835 BOOL ClipCursor(LPCRECT); 3743 BOOL CloseClipboard(); | 3836 BOOL CloseClipboard(); 3744 BOOL CloseDesktop(HDESK); | 3837 BOOL CloseDesktop(HDESK); 3745 BOOL CloseWindow(HWND); | 3838 BOOL CloseWindow(HWND); 3746 BOOL CloseWindowStation(HWINSTA); | 3839 BOOL CloseWindowStation(HWINSTA); 3747 int CopyAcceleratorTableA(HACCEL, LPACCEL, int); | 3840 int CopyAcceleratorTableA(HACCEL, LPACCEL, int); 3748 int CopyAcceleratorTableW(HACCEL, LPACCEL, int); | 3841 int CopyAcceleratorTableW(HACCEL, LPACCEL, int); 3749 | 3842 3750 HICON CopyIcon(HICON); | 3843 HICON CopyIcon(HICON); 3751 HANDLE CopyImage(HANDLE, UINT, int, int, UINT); | 3844 HANDLE CopyImage(HANDLE, UINT, int, int, UINT); 3752 BOOL CopyRect(LPRECT, LPCRECT); | 3845 BOOL CopyRect(LPRECT, LPCRECT); 3753 int CountClipboardFormats(); | 3846 int CountClipboardFormats(); 3754 HACCEL CreateAcceleratorTableA(LPACCEL, int); | 3847 HACCEL CreateAcceleratorTableA(LPACCEL, int); 3755 HACCEL CreateAcceleratorTableW(LPACCEL, int); | 3848 HACCEL CreateAcceleratorTableW(LPACCEL, int); 3756 BOOL CreateCaret(HWND, HBITMAP, int, int); | 3849 BOOL CreateCaret(HWND, HBITMAP, int, int); 3757 HCURSOR CreateCursor(HINSTANCE, int, int, int, int, PCVOID, PCVOID); | 3850 HCURSOR CreateCursor(HINSTANCE, int, int, int, int, PCVOID, PCVOID); 3758 | 3851 3759 HDESK CreateDesktopA(LPCSTR, LPCSTR, LPDEVMODEA, DWORD, ACCESS_MASK, LPSECURITY_ | 3852 HDESK CreateDesktopA(LPCSTR, LPCSTR, LPDEVMODEA, DWORD, ACCESS_MASK, LPS 3760 HDESK CreateDesktopW(LPCWSTR, LPCWSTR, LPDEVMODEW, DWORD, ACCESS_MASK, LPSECURIT | 3853 HDESK CreateDesktopW(LPCWSTR, LPCWSTR, LPDEVMODEW, DWORD, ACCESS_MASK, L 3761 | 3854 3762 HWND CreateDialogParamA(HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM); | 3855 HWND CreateDialogParamA(HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM); 3763 HWND CreateDialogParamW(HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM); | 3856 HWND CreateDialogParamW(HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM); 3764 HWND CreateDialogIndirectParamA(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM | 3857 HWND CreateDialogIndirectParamA(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC 3765 HWND CreateDialogIndirectParamW(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM | 3858 HWND CreateDialogIndirectParamW(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC 3766 | 3859 3767 HICON CreateIcon(HINSTANCE, int, int, BYTE, BYTE, CPtr!(BYTE), BYTE*); | 3860 HICON CreateIcon(HINSTANCE, int, int, BYTE, BYTE, const(BYTE)*, BYTE*); 3768 HICON CreateIconFromResource(PBYTE, DWORD, BOOL, DWORD); | 3861 HICON CreateIconFromResource(PBYTE, DWORD, BOOL, DWORD); 3769 HICON CreateIconFromResourceEx(PBYTE, DWORD, BOOL, DWORD, int, int, UINT); | 3862 HICON CreateIconFromResourceEx(PBYTE, DWORD, BOOL, DWORD, int, int, UINT 3770 HICON CreateIconIndirect(PICONINFO); | 3863 HICON CreateIconIndirect(PICONINFO); 3771 HWND CreateMDIWindowA(LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HINSTANCE | 3864 HWND CreateMDIWindowA(LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, H 3772 HWND CreateMDIWindowW(LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, HINSTAN | 3865 HWND CreateMDIWindowW(LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, 3773 HMENU CreateMenu(); | 3866 HMENU CreateMenu(); 3774 HMENU CreatePopupMenu(); | 3867 HMENU CreatePopupMenu(); 3775 | 3868 3776 HWND CreateWindowExA(DWORD, LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HME | 3869 HWND CreateWindowExA(DWORD, LPCSTR, LPCSTR, DWORD, int, int, int, int, H 3777 HWND CreateWindowExW(DWORD, LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, H | 3870 HWND CreateWindowExW(DWORD, LPCWSTR, LPCWSTR, DWORD, int, int, int, int, 3778 | 3871 3779 HWINSTA CreateWindowStationA(LPSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES); | 3872 HWINSTA CreateWindowStationA(LPSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES) 3780 HWINSTA CreateWindowStationW(LPWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES); | 3873 HWINSTA CreateWindowStationW(LPWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES 3781 LRESULT DefDlgProcA(HWND, UINT, WPARAM, LPARAM); | 3874 LRESULT DefDlgProcA(HWND, UINT, WPARAM, LPARAM); 3782 LRESULT DefDlgProcW(HWND, UINT, WPARAM, LPARAM); | 3875 LRESULT DefDlgProcW(HWND, UINT, WPARAM, LPARAM); 3783 HDWP DeferWindowPos(HDWP, HWND, HWND, int, int, int, int, UINT); | 3876 HDWP DeferWindowPos(HDWP, HWND, HWND, int, int, int, int, UINT); 3784 LRESULT DefFrameProcA(HWND, HWND, UINT, WPARAM, LPARAM); | 3877 LRESULT DefFrameProcA(HWND, HWND, UINT, WPARAM, LPARAM); 3785 LRESULT DefFrameProcW(HWND, HWND, UINT, WPARAM, LPARAM); | 3878 LRESULT DefFrameProcW(HWND, HWND, UINT, WPARAM, LPARAM); 3786 | 3879 3787 LRESULT DefMDIChildProcA(HWND, UINT, WPARAM, LPARAM); | 3880 LRESULT DefMDIChildProcA(HWND, UINT, WPARAM, LPARAM); 3788 LRESULT DefMDIChildProcW(HWND, UINT, WPARAM, LPARAM); | 3881 LRESULT DefMDIChildProcW(HWND, UINT, WPARAM, LPARAM); 3789 LRESULT DefWindowProcA(HWND, UINT, WPARAM, LPARAM); | 3882 LRESULT DefWindowProcA(HWND, UINT, WPARAM, LPARAM); 3790 LRESULT DefWindowProcW(HWND, UINT, WPARAM, LPARAM); | 3883 LRESULT DefWindowProcW(HWND, UINT, WPARAM, LPARAM); 3791 BOOL DeleteMenu(HMENU, UINT, UINT); | 3884 BOOL DeleteMenu(HMENU, UINT, UINT); 3792 BOOL DeregisterShellHookWindow(HWND); | 3885 BOOL DeregisterShellHookWindow(HWND); 3793 BOOL DestroyAcceleratorTable(HACCEL); | 3886 BOOL DestroyAcceleratorTable(HACCEL); 3794 BOOL DestroyCaret(); | 3887 BOOL DestroyCaret(); 3795 BOOL DestroyCursor(HCURSOR); | 3888 BOOL DestroyCursor(HCURSOR); 3796 BOOL DestroyIcon(HICON); | 3889 BOOL DestroyIcon(HICON); 3797 BOOL DestroyMenu(HMENU); | 3890 BOOL DestroyMenu(HMENU); 3798 BOOL DestroyWindow(HWND); | 3891 BOOL DestroyWindow(HWND); 3799 | 3892 3800 int DialogBoxParamA(HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM); | 3893 INT_PTR DialogBoxParamA(HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM); 3801 int DialogBoxParamW(HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM); | 3894 INT_PTR DialogBoxParamW(HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM); 3802 int DialogBoxIndirectParamA(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); | 3895 INT_PTR DialogBoxIndirectParamA(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC 3803 int DialogBoxIndirectParamW(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); | 3896 INT_PTR DialogBoxIndirectParamW(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC 3804 3897 3805 } // extern (Windows) 3898 } // extern (Windows) 3806 3899 3807 HCURSOR CopyCursor(HCURSOR c) | 3900 HCURSOR CopyCursor()(HCURSOR c) { 3808 { < 3809 return cast(HCURSOR)CopyIcon(cast(HICON)c); 3901 return cast(HCURSOR)CopyIcon(cast(HICON)c); 3810 } 3902 } 3811 3903 3812 HWND CreateDialogA(HINSTANCE h, LPCSTR n, HWND w, DLGPROC f) | 3904 HWND CreateDialogA()(HINSTANCE h, LPCSTR n, HWND w, DLGPROC f) { 3813 { < 3814 return CreateDialogParamA(h, n, w, f, 0); 3905 return CreateDialogParamA(h, n, w, f, 0); 3815 } 3906 } 3816 3907 3817 HWND CreateDialogW(HINSTANCE h, LPCWSTR n, HWND w, DLGPROC f) | 3908 HWND CreateDialogW()(HINSTANCE h, LPCWSTR n, HWND w, DLGPROC f) { 3818 { < 3819 return CreateDialogParamW(h, n, w, f, 0); 3909 return CreateDialogParamW(h, n, w, f, 0); 3820 } 3910 } 3821 3911 3822 HWND CreateDialogIndirectA(HINSTANCE h, LPCDLGTEMPLATE t, HWND w , DLGPROC f) | 3912 HWND CreateDialogIndirectA()(HINSTANCE h, LPCDLGTEMPLATE t, HWND w, DLGPROC f) { 3823 { < 3824 return CreateDialogIndirectParamA(h, t, w, f, 0); 3913 return CreateDialogIndirectParamA(h, t, w, f, 0); 3825 } 3914 } 3826 3915 3827 HWND CreateDialogIndirectW(HINSTANCE h, LPCDLGTEMPLATE t, HWND w , DLGPROC f) | 3916 HWND CreateDialogIndirectW()(HINSTANCE h, LPCDLGTEMPLATE t, HWND w, DLGPROC f) { 3828 { < 3829 return CreateDialogIndirectParamW(h, t, w, f, 0); 3917 return CreateDialogIndirectParamW(h, t, w, f, 0); 3830 } 3918 } 3831 3919 3832 < 3833 HWND CreateWindowA(LPCSTR a, LPCSTR b, DWORD c, int d, int e, int f, int g, HWND | 3920 HWND CreateWindowA()(LPCSTR a, LPCSTR b, DWORD c, int d, int e, int f, int g, HW 3834 { < 3835 return CreateWindowExA(0, a, b, c, d, e, f, g, h, i, j, k); 3921 return CreateWindowExA(0, a, b, c, d, e, f, g, h, i, j, k); 3836 } 3922 } 3837 3923 3838 HWND CreateWindowW(LPCWSTR a, LPCWSTR b, DWORD c, int d, int e, int f, int g, HW | 3924 HWND CreateWindowW()(LPCWSTR a, LPCWSTR b, DWORD c, int d, int e, int f, int g, 3839 { < 3840 return CreateWindowExW(0, a, b, c, d, e, f, g, h, i, j, k); 3925 return CreateWindowExW(0, a, b, c, d, e, f, g, h, i, j, k); 3841 } 3926 } 3842 3927 3843 int DialogBoxA(HINSTANCE i, LPCSTR t, HWND p, DLGPROC f) | 3928 INT_PTR DialogBoxA()(HINSTANCE i, LPCSTR t, HWND p, DLGPROC f) { 3844 { < 3845 return DialogBoxParamA(i, t, p, f, 0); 3929 return DialogBoxParamA(i, t, p, f, 0); 3846 } 3930 } 3847 3931 3848 int DialogBoxW(HINSTANCE i, LPCWSTR t, HWND p, DLGPROC f) | 3932 INT_PTR DialogBoxW()(HINSTANCE i, LPCWSTR t, HWND p, DLGPROC f) { 3849 { < 3850 return DialogBoxParamW(i, t, p, f, 0); 3933 return DialogBoxParamW(i, t, p, f, 0); 3851 } 3934 } 3852 3935 3853 int DialogBoxIndirectA(HINSTANCE i, LPCDLGTEMPLATE t, HWND p, DLGPROC f) | 3936 INT_PTR DialogBoxIndirectA()(HINSTANCE i, LPCDLGTEMPLATE t, HWND p, DLGPROC f) { 3854 { < 3855 return DialogBoxIndirectParamA(i, t, p, f, 0); 3937 return DialogBoxIndirectParamA(i, t, p, f, 0); 3856 } 3938 } 3857 3939 3858 int DialogBoxIndirectW(HINSTANCE i, LPCDLGTEMPLATE t, HWND p, DLGPROC f) | 3940 INT_PTR DialogBoxIndirectW()(HINSTANCE i, LPCDLGTEMPLATE t, HWND p, DLGPROC f) { 3859 { < 3860 return DialogBoxIndirectParamW(i, t, p, f, 0); 3941 return DialogBoxIndirectParamW(i, t, p, f, 0); 3861 } 3942 } 3862 3943 3863 BOOL ExitWindows(UINT r, DWORD c) | 3944 BOOL ExitWindows()(UINT r, DWORD c) { 3864 { < 3865 return ExitWindowsEx(EWX_LOGOFF, 0); 3945 return ExitWindowsEx(EWX_LOGOFF, 0); 3866 } 3946 } 3867 alias GetWindow GetNextWindow; 3947 alias GetWindow GetNextWindow; 3868 3948 3869 extern (Windows): 3949 extern (Windows): 3870 LONG DispatchMessageA( CPtr!(MSG)); | 3950 LONG DispatchMessageA(const(MSG)*); 3871 LONG DispatchMessageW( CPtr!(MSG)); | 3951 LONG DispatchMessageW(const(MSG)*); 3872 int DlgDirListA(HWND, LPSTR, int, int, UINT); 3952 int DlgDirListA(HWND, LPSTR, int, int, UINT); 3873 int DlgDirListW(HWND, LPWSTR, int, int, UINT); 3953 int DlgDirListW(HWND, LPWSTR, int, int, UINT); 3874 int DlgDirListComboBoxA(HWND, LPSTR, int, int, UINT); 3954 int DlgDirListComboBoxA(HWND, LPSTR, int, int, UINT); 3875 int DlgDirListComboBoxW(HWND, LPWSTR, int, int, UINT); 3955 int DlgDirListComboBoxW(HWND, LPWSTR, int, int, UINT); 3876 BOOL DlgDirSelectComboBoxExA(HWND, LPSTR, int, int); 3956 BOOL DlgDirSelectComboBoxExA(HWND, LPSTR, int, int); 3877 BOOL DlgDirSelectComboBoxExW(HWND, LPWSTR, int, int); 3957 BOOL DlgDirSelectComboBoxExW(HWND, LPWSTR, int, int); 3878 BOOL DlgDirSelectExA(HWND, LPSTR, int, int); 3958 BOOL DlgDirSelectExA(HWND, LPSTR, int, int); ................................................................................................................................................................................ 3894 int DrawTextExA(HDC, LPSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS); 3974 int DrawTextExA(HDC, LPSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS); 3895 int DrawTextExW(HDC, LPWSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS); 3975 int DrawTextExW(HDC, LPWSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS); 3896 BOOL EmptyClipboard(); 3976 BOOL EmptyClipboard(); 3897 BOOL EnableMenuItem(HMENU, UINT, UINT); 3977 BOOL EnableMenuItem(HMENU, UINT, UINT); 3898 BOOL EnableScrollBar(HWND, UINT, UINT); 3978 BOOL EnableScrollBar(HWND, UINT, UINT); 3899 BOOL EnableWindow(HWND, BOOL); 3979 BOOL EnableWindow(HWND, BOOL); 3900 BOOL EndDeferWindowPos(HDWP); 3980 BOOL EndDeferWindowPos(HDWP); 3901 BOOL EndDialog(HWND, int); | 3981 BOOL EndDialog(HWND, INT_PTR); 3902 BOOL EndMenu(); 3982 BOOL EndMenu(); 3903 BOOL EndPaint(HWND, CPtr!(PAINTSTRUCT)); | 3983 BOOL EndPaint(HWND, const(PAINTSTRUCT)*); 3904 BOOL EnumChildWindows(HWND, ENUMWINDOWSPROC, LPARAM); 3984 BOOL EnumChildWindows(HWND, ENUMWINDOWSPROC, LPARAM); 3905 UINT EnumClipboardFormats(UINT); 3985 UINT EnumClipboardFormats(UINT); 3906 BOOL EnumDesktopsA(HWINSTA, DESKTOPENUMPROCA, LPARAM); 3986 BOOL EnumDesktopsA(HWINSTA, DESKTOPENUMPROCA, LPARAM); 3907 BOOL EnumDesktopsW(HWINSTA, DESKTOPENUMPROCW, LPARAM); 3987 BOOL EnumDesktopsW(HWINSTA, DESKTOPENUMPROCW, LPARAM); 3908 BOOL EnumDesktopWindows(HDESK, ENUMWINDOWSPROC, LPARAM); 3988 BOOL EnumDesktopWindows(HDESK, ENUMWINDOWSPROC, LPARAM); 3909 BOOL EnumDisplaySettingsA(LPCSTR, DWORD, PDEVMODEA); 3989 BOOL EnumDisplaySettingsA(LPCSTR, DWORD, PDEVMODEA); 3910 BOOL EnumDisplaySettingsW(LPCWSTR, DWORD, PDEVMODEW); 3990 BOOL EnumDisplaySettingsW(LPCWSTR, DWORD, PDEVMODEW); ................................................................................................................................................................................ 4057 UINT GetWindowModuleFileNameW(HWND, LPWSTR, UINT); 4137 UINT GetWindowModuleFileNameW(HWND, LPWSTR, UINT); 4058 BOOL GrayStringA(HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int); 4138 BOOL GrayStringA(HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int); 4059 BOOL GrayStringW(HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int); 4139 BOOL GrayStringW(HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int); 4060 BOOL HideCaret(HWND); 4140 BOOL HideCaret(HWND); 4061 BOOL HiliteMenuItem(HWND, HMENU, UINT, UINT); 4141 BOOL HiliteMenuItem(HWND, HMENU, UINT, UINT); 4062 BOOL InflateRect(LPRECT, int, int); 4142 BOOL InflateRect(LPRECT, int, int); 4063 BOOL InSendMessage(); 4143 BOOL InSendMessage(); 4064 BOOL InsertMenuA(HMENU, UINT, UINT, UINT, LPCSTR); | 4144 BOOL InsertMenuA(HMENU, UINT, UINT, UINT_PTR, LPCSTR); 4065 BOOL InsertMenuW(HMENU, UINT, UINT, UINT, LPCWSTR); | 4145 BOOL InsertMenuW(HMENU, UINT, UINT, UINT_PTR, LPCWSTR); 4066 BOOL InsertMenuItemA(HMENU, UINT, BOOL, LPCMENUITEMINFOA); 4146 BOOL InsertMenuItemA(HMENU, UINT, BOOL, LPCMENUITEMINFOA); 4067 BOOL InsertMenuItemW(HMENU, UINT, BOOL, LPCMENUITEMINFOW); 4147 BOOL InsertMenuItemW(HMENU, UINT, BOOL, LPCMENUITEMINFOW); 4068 INT InternalGetWindowText(HWND, LPWSTR, INT); 4148 INT InternalGetWindowText(HWND, LPWSTR, INT); 4069 BOOL IntersectRect(LPRECT, LPCRECT, LPCRECT); 4149 BOOL IntersectRect(LPRECT, LPCRECT, LPCRECT); 4070 BOOL InvalidateRect(HWND, LPCRECT, BOOL); 4150 BOOL InvalidateRect(HWND, LPCRECT, BOOL); 4071 BOOL InvalidateRgn(HWND, HRGN, BOOL); 4151 BOOL InvalidateRgn(HWND, HRGN, BOOL); 4072 BOOL InvertRect(HDC, LPCRECT); 4152 BOOL InvertRect(HDC, LPCRECT); ................................................................................................................................................................................ 4088 BOOL IsRectEmpty(LPCRECT); 4168 BOOL IsRectEmpty(LPCRECT); 4089 BOOL IsWindow(HWND); 4169 BOOL IsWindow(HWND); 4090 BOOL IsWindowEnabled(HWND); 4170 BOOL IsWindowEnabled(HWND); 4091 BOOL IsWindowUnicode(HWND); 4171 BOOL IsWindowUnicode(HWND); 4092 BOOL IsWindowVisible(HWND); 4172 BOOL IsWindowVisible(HWND); 4093 BOOL IsZoomed(HWND); 4173 BOOL IsZoomed(HWND); 4094 void keybd_event(BYTE, BYTE, DWORD, DWORD); 4174 void keybd_event(BYTE, BYTE, DWORD, DWORD); 4095 BOOL KillTimer(HWND, UINT); | 4175 BOOL KillTimer(HWND, UINT_PTR); 4096 HACCEL LoadAcceleratorsA(HINSTANCE, LPCSTR); 4176 HACCEL LoadAcceleratorsA(HINSTANCE, LPCSTR); 4097 HACCEL LoadAcceleratorsW(HINSTANCE, LPCWSTR); 4177 HACCEL LoadAcceleratorsW(HINSTANCE, LPCWSTR); 4098 HBITMAP LoadBitmapA(HINSTANCE, LPCSTR); 4178 HBITMAP LoadBitmapA(HINSTANCE, LPCSTR); 4099 HBITMAP LoadBitmapW(HINSTANCE, LPCWSTR); 4179 HBITMAP LoadBitmapW(HINSTANCE, LPCWSTR); 4100 HCURSOR LoadCursorA(HINSTANCE, LPCSTR); 4180 HCURSOR LoadCursorA(HINSTANCE, LPCSTR); 4101 HCURSOR LoadCursorFromFileA(LPCSTR); 4181 HCURSOR LoadCursorFromFileA(LPCSTR); 4102 HCURSOR LoadCursorFromFileW(LPCWSTR); 4182 HCURSOR LoadCursorFromFileW(LPCWSTR); ................................................................................................................................................................................ 4104 HICON LoadIconA(HINSTANCE, LPCSTR); 4184 HICON LoadIconA(HINSTANCE, LPCSTR); 4105 HICON LoadIconW(HINSTANCE, LPCWSTR); 4185 HICON LoadIconW(HINSTANCE, LPCWSTR); 4106 HANDLE LoadImageA(HINSTANCE, LPCSTR, UINT, int, int, UINT); 4186 HANDLE LoadImageA(HINSTANCE, LPCSTR, UINT, int, int, UINT); 4107 HANDLE LoadImageW(HINSTANCE, LPCWSTR, UINT, int, int, UINT); 4187 HANDLE LoadImageW(HINSTANCE, LPCWSTR, UINT, int, int, UINT); 4108 HKL LoadKeyboardLayoutA(LPCSTR, UINT); 4188 HKL LoadKeyboardLayoutA(LPCSTR, UINT); 4109 HKL LoadKeyboardLayoutW(LPCWSTR, UINT); 4189 HKL LoadKeyboardLayoutW(LPCWSTR, UINT); 4110 HMENU LoadMenuA(HINSTANCE, LPCSTR); 4190 HMENU LoadMenuA(HINSTANCE, LPCSTR); 4111 HMENU LoadMenuIndirectA( CPtr!(MENUTEMPLATE)); | 4191 HMENU LoadMenuIndirectA(const(MENUTEMPLATE)*); 4112 HMENU LoadMenuIndirectW( CPtr!(MENUTEMPLATE)); | 4192 HMENU LoadMenuIndirectW(const(MENUTEMPLATE)*); 4113 HMENU LoadMenuW(HINSTANCE, LPCWSTR); 4193 HMENU LoadMenuW(HINSTANCE, LPCWSTR); 4114 int LoadStringA(HINSTANCE, UINT, LPSTR, int); 4194 int LoadStringA(HINSTANCE, UINT, LPSTR, int); 4115 int LoadStringW(HINSTANCE, UINT, LPWSTR, int); 4195 int LoadStringW(HINSTANCE, UINT, LPWSTR, int); 4116 BOOL LockWindowUpdate(HWND); 4196 BOOL LockWindowUpdate(HWND); 4117 int LookupIconIdFromDirectory(PBYTE, BOOL); 4197 int LookupIconIdFromDirectory(PBYTE, BOOL); 4118 int LookupIconIdFromDirectoryEx(PBYTE, BOOL, int, int, UINT); 4198 int LookupIconIdFromDirectoryEx(PBYTE, BOOL, int, int, UINT); 4119 BOOL MapDialogRect(HWND, LPRECT); 4199 BOOL MapDialogRect(HWND, LPRECT); ................................................................................................................................................................................ 4124 int MapWindowPoints(HWND, HWND, LPPOINT, UINT); 4204 int MapWindowPoints(HWND, HWND, LPPOINT, UINT); 4125 int MenuItemFromPoint(HWND, HMENU, POINT); 4205 int MenuItemFromPoint(HWND, HMENU, POINT); 4126 BOOL MessageBeep(UINT); 4206 BOOL MessageBeep(UINT); 4127 int MessageBoxA(HWND, LPCSTR, LPCSTR, UINT); 4207 int MessageBoxA(HWND, LPCSTR, LPCSTR, UINT); 4128 int MessageBoxW(HWND, LPCWSTR, LPCWSTR, UINT); 4208 int MessageBoxW(HWND, LPCWSTR, LPCWSTR, UINT); 4129 int MessageBoxExA(HWND, LPCSTR, LPCSTR, UINT, WORD); 4209 int MessageBoxExA(HWND, LPCSTR, LPCSTR, UINT, WORD); 4130 int MessageBoxExW(HWND, LPCWSTR, LPCWSTR, UINT, WORD); 4210 int MessageBoxExW(HWND, LPCWSTR, LPCWSTR, UINT, WORD); 4131 int MessageBoxIndirectA(CPtr!(MSGBOXPARAMSA)); | 4211 int MessageBoxIndirectA(const(MSGBOXPARAMSA)*); 4132 int MessageBoxIndirectW(CPtr!(MSGBOXPARAMSW)); | 4212 int MessageBoxIndirectW(const(MSGBOXPARAMSW)*); 4133 BOOL ModifyMenuA(HMENU, UINT, UINT, UINT, LPCSTR); | 4213 BOOL ModifyMenuA(HMENU, UINT, UINT, UINT_PTR, LPCSTR); 4134 BOOL ModifyMenuW(HMENU, UINT, UINT, UINT, LPCWSTR); | 4214 BOOL ModifyMenuW(HMENU, UINT, UINT, UINT_PTR, LPCWSTR); 4135 void mouse_event(DWORD, DWORD, DWORD, DWORD, ULONG_PTR); 4215 void mouse_event(DWORD, DWORD, DWORD, DWORD, ULONG_PTR); 4136 BOOL MoveWindow(HWND, int, int, int, int, BOOL); 4216 BOOL MoveWindow(HWND, int, int, int, int, BOOL); 4137 DWORD MsgWaitForMultipleObjects(DWORD, CPtr!(HANDLE), BOOL, DWORD, DWORD); | 4217 DWORD MsgWaitForMultipleObjects(DWORD, const(HANDLE)*, BOOL, DWORD, DWORD); 4138 DWORD MsgWaitForMultipleObjectsEx(DWORD, CPtr!(HANDLE), DWORD, DWORD, DWORD); | 4218 DWORD MsgWaitForMultipleObjectsEx(DWORD, const(HANDLE)*, DWORD, DWORD, DWORD); 4139 DWORD OemKeyScan(WORD); 4219 DWORD OemKeyScan(WORD); 4140 BOOL OemToCharA(LPCSTR, LPSTR); 4220 BOOL OemToCharA(LPCSTR, LPSTR); 4141 BOOL OemToCharBuffA(LPCSTR, LPSTR, DWORD); 4221 BOOL OemToCharBuffA(LPCSTR, LPSTR, DWORD); 4142 BOOL OemToCharBuffW(LPCSTR, LPWSTR, DWORD); 4222 BOOL OemToCharBuffW(LPCSTR, LPWSTR, DWORD); 4143 BOOL OemToCharW(LPCSTR, LPWSTR); 4223 BOOL OemToCharW(LPCSTR, LPWSTR); 4144 BOOL OffsetRect(LPRECT, int, int); 4224 BOOL OffsetRect(LPRECT, int, int); 4145 BOOL OpenClipboard(HWND); 4225 BOOL OpenClipboard(HWND); ................................................................................................................................................................................ 4158 BOOL PostThreadMessageA(DWORD, UINT, WPARAM, LPARAM); 4238 BOOL PostThreadMessageA(DWORD, UINT, WPARAM, LPARAM); 4159 BOOL PostThreadMessageW(DWORD, UINT, WPARAM, LPARAM); 4239 BOOL PostThreadMessageW(DWORD, UINT, WPARAM, LPARAM); 4160 BOOL PtInRect(LPCRECT, POINT); 4240 BOOL PtInRect(LPCRECT, POINT); 4161 HWND RealChildWindowFromPoint(HWND, POINT); 4241 HWND RealChildWindowFromPoint(HWND, POINT); 4162 UINT RealGetWindowClassA(HWND, LPSTR, UINT); 4242 UINT RealGetWindowClassA(HWND, LPSTR, UINT); 4163 UINT RealGetWindowClassW(HWND, LPWSTR, UINT); 4243 UINT RealGetWindowClassW(HWND, LPWSTR, UINT); 4164 BOOL RedrawWindow(HWND, LPCRECT, HRGN, UINT); 4244 BOOL RedrawWindow(HWND, LPCRECT, HRGN, UINT); 4165 ATOM RegisterClassA(CPtr!(WNDCLASSA)); | 4245 ATOM RegisterClassA(const(WNDCLASSA)*); 4166 ATOM RegisterClassW(CPtr!(WNDCLASSW)); | 4246 ATOM RegisterClassW(const(WNDCLASSW)*); 4167 ATOM RegisterClassExA(CPtr!(WNDCLASSEXA)); | 4247 ATOM RegisterClassExA(const(WNDCLASSEXA)*); 4168 ATOM RegisterClassExW(CPtr!(WNDCLASSEXW)); | 4248 ATOM RegisterClassExW(const(WNDCLASSEXW)*); 4169 UINT RegisterClipboardFormatA(LPCSTR); 4249 UINT RegisterClipboardFormatA(LPCSTR); 4170 UINT RegisterClipboardFormatW(LPCWSTR); 4250 UINT RegisterClipboardFormatW(LPCWSTR); 4171 BOOL RegisterHotKey(HWND, int, UINT, UINT); 4251 BOOL RegisterHotKey(HWND, int, UINT, UINT); 4172 UINT RegisterWindowMessageA(LPCSTR); 4252 UINT RegisterWindowMessageA(LPCSTR); 4173 UINT RegisterWindowMessageW(LPCWSTR); 4253 UINT RegisterWindowMessageW(LPCWSTR); 4174 BOOL ReleaseCapture(); 4254 BOOL ReleaseCapture(); 4175 int ReleaseDC(HWND, HDC); 4255 int ReleaseDC(HWND, HDC); ................................................................................................................................................................................ 4212 BOOL SetKeyboardState(PBYTE); 4292 BOOL SetKeyboardState(PBYTE); 4213 BOOL SetMenu(HWND, HMENU); 4293 BOOL SetMenu(HWND, HMENU); 4214 BOOL SetMenuContextHelpId(HMENU, DWORD); 4294 BOOL SetMenuContextHelpId(HMENU, DWORD); 4215 BOOL SetMenuDefaultItem(HMENU, UINT, UINT); 4295 BOOL SetMenuDefaultItem(HMENU, UINT, UINT); 4216 BOOL SetMenuInfo(HMENU, LPCMENUINFO); 4296 BOOL SetMenuInfo(HMENU, LPCMENUINFO); 4217 BOOL SetMenuItemBitmaps(HMENU, UINT, UINT, HBITMAP, HBITMAP); 4297 BOOL SetMenuItemBitmaps(HMENU, UINT, UINT, HBITMAP, HBITMAP); 4218 BOOL SetMenuItemInfoA(HMENU, UINT, BOOL, LPCMENUITEMINFOA); 4298 BOOL SetMenuItemInfoA(HMENU, UINT, BOOL, LPCMENUITEMINFOA); 4219 BOOL SetMenuItemInfoW( HMENU, UINT, BOOL, LPCMENUITEMINFOW); | 4299 BOOL SetMenuItemInfoW(HMENU, UINT, BOOL, LPCMENUITEMINFOW); 4220 LPARAM SetMessageExtraInfo(LPARAM); 4300 LPARAM SetMessageExtraInfo(LPARAM); 4221 BOOL SetMessageQueue(int); 4301 BOOL SetMessageQueue(int); 4222 HWND SetParent(HWND, HWND); 4302 HWND SetParent(HWND, HWND); 4223 BOOL SetProcessWindowStation(HWINSTA); 4303 BOOL SetProcessWindowStation(HWINSTA); 4224 BOOL SetPropA(HWND, LPCSTR, HANDLE); 4304 BOOL SetPropA(HWND, LPCSTR, HANDLE); 4225 BOOL SetPropW(HWND, LPCWSTR, HANDLE); 4305 BOOL SetPropW(HWND, LPCWSTR, HANDLE); 4226 BOOL SetRect(LPRECT, int, int, int, int); 4306 BOOL SetRect(LPRECT, int, int, int, int); 4227 BOOL SetRectEmpty(LPRECT); 4307 BOOL SetRectEmpty(LPRECT); 4228 int SetScrollInfo(HWND, int, LPCSCROLLINFO, BOOL); 4308 int SetScrollInfo(HWND, int, LPCSCROLLINFO, BOOL); 4229 int SetScrollPos(HWND, int, int, BOOL); 4309 int SetScrollPos(HWND, int, int, BOOL); 4230 BOOL SetScrollRange(HWND, int, int, int, BOOL); 4310 BOOL SetScrollRange(HWND, int, int, int, BOOL); 4231 BOOL SetSysColors(int, CPtr!(INT) , CPtr!(COLORREF) ); | 4311 BOOL SetSysColors(int, const(INT)*, const(COLORREF)*); 4232 BOOL SetSystemCursor(HCURSOR, DWORD); 4312 BOOL SetSystemCursor(HCURSOR, DWORD); 4233 BOOL SetThreadDesktop(HDESK); 4313 BOOL SetThreadDesktop(HDESK); 4234 UINT SetTimer(HWND, UINT, UINT, TIMERPROC); | 4314 UINT_PTR SetTimer(HWND, UINT_PTR, UINT, TIMERPROC); 4235 BOOL SetUserObjectInformationA(HANDLE, int, PVOID, DWORD); 4315 BOOL SetUserObjectInformationA(HANDLE, int, PVOID, DWORD); 4236 BOOL SetUserObjectInformationW(HANDLE, int, PVOID, DWORD); 4316 BOOL SetUserObjectInformationW(HANDLE, int, PVOID, DWORD); 4237 BOOL SetUserObjectSecurity(HANDLE, PSECURITY_INFORMATION, PSECURITY_DESCRIPTOR); 4317 BOOL SetUserObjectSecurity(HANDLE, PSECURITY_INFORMATION, PSECURITY_DESCRIPTOR); 4238 BOOL SetWindowContextHelpId(HWND, DWORD); 4318 BOOL SetWindowContextHelpId(HWND, DWORD); 4239 LONG SetWindowLongA(HWND, int, LONG); 4319 LONG SetWindowLongA(HWND, int, LONG); 4240 LONG SetWindowLongW(HWND, int, LONG); 4320 LONG SetWindowLongW(HWND, int, LONG); 4241 BOOL SetWindowPlacement(HWND hWnd, CPtr!(WINDOWPLACEMENT)); | 4321 BOOL SetWindowPlacement(HWND hWnd, const(WINDOWPLACEMENT)*); 4242 BOOL SetWindowPos(HWND, HWND, int, int, int, int, UINT); 4322 BOOL SetWindowPos(HWND, HWND, int, int, int, int, UINT); 4243 int SetWindowRgn(HWND, HRGN, BOOL); 4323 int SetWindowRgn(HWND, HRGN, BOOL); 4244 HHOOK SetWindowsHookA(int, HOOKPROC); 4324 HHOOK SetWindowsHookA(int, HOOKPROC); 4245 HHOOK SetWindowsHookW(int, HOOKPROC); 4325 HHOOK SetWindowsHookW(int, HOOKPROC); 4246 HHOOK SetWindowsHookExA(int, HOOKPROC, HINSTANCE, DWORD); 4326 HHOOK SetWindowsHookExA(int, HOOKPROC, HINSTANCE, DWORD); 4247 HHOOK SetWindowsHookExW(int, HOOKPROC, HINSTANCE, DWORD); 4327 HHOOK SetWindowsHookExW(int, HOOKPROC, HINSTANCE, DWORD); 4248 BOOL SetWindowTextA(HWND, LPCSTR); 4328 BOOL SetWindowTextA(HWND, LPCSTR); ................................................................................................................................................................................ 4257 BOOL SubtractRect(LPRECT, LPCRECT, LPCRECT); 4337 BOOL SubtractRect(LPRECT, LPCRECT, LPCRECT); 4258 BOOL SwapMouseButton(BOOL); 4338 BOOL SwapMouseButton(BOOL); 4259 BOOL SwitchDesktop(HDESK); 4339 BOOL SwitchDesktop(HDESK); 4260 BOOL SystemParametersInfoA(UINT, UINT, PVOID, UINT); 4340 BOOL SystemParametersInfoA(UINT, UINT, PVOID, UINT); 4261 BOOL SystemParametersInfoW(UINT, UINT, PVOID, UINT); 4341 BOOL SystemParametersInfoW(UINT, UINT, PVOID, UINT); 4262 LONG TabbedTextOutA(HDC, int, int, LPCSTR, int, int, LPINT, int); 4342 LONG TabbedTextOutA(HDC, int, int, LPCSTR, int, int, LPINT, int); 4263 LONG TabbedTextOutW(HDC, int, int, LPCWSTR, int, int, LPINT, int); 4343 LONG TabbedTextOutW(HDC, int, int, LPCWSTR, int, int, LPINT, int); 4264 WORD TileWindows(HWND, UINT, LPCRECT, UINT, CPtr!(HWND) ); | 4344 WORD TileWindows(HWND, UINT, LPCRECT, UINT, const(HWND)*); 4265 int ToAscii(UINT, UINT, PBYTE, LPWORD, UINT); 4345 int ToAscii(UINT, UINT, PBYTE, LPWORD, UINT); 4266 int ToAsciiEx(UINT, UINT, PBYTE, LPWORD, UINT, HKL); 4346 int ToAsciiEx(UINT, UINT, PBYTE, LPWORD, UINT, HKL); 4267 int ToUnicode(UINT, UINT, PBYTE, LPWSTR, int, UINT); 4347 int ToUnicode(UINT, UINT, PBYTE, LPWSTR, int, UINT); 4268 int ToUnicodeEx(UINT, UINT, PBYTE, LPWSTR, int, UINT, HKL); 4348 int ToUnicodeEx(UINT, UINT, PBYTE, LPWSTR, int, UINT, HKL); 4269 BOOL TrackMouseEvent(LPTRACKMOUSEEVENT); 4349 BOOL TrackMouseEvent(LPTRACKMOUSEEVENT); 4270 BOOL TrackPopupMenu(HMENU, UINT, int, int, int, HWND, LPCRECT); 4350 BOOL TrackPopupMenu(HMENU, UINT, int, int, int, HWND, LPCRECT); 4271 BOOL TrackPopupMenuEx(HMENU, UINT, int, int, HWND, LPTPMPARAMS); 4351 BOOL TrackPopupMenuEx(HMENU, UINT, int, int, HWND, LPTPMPARAMS); 4272 int TranslateAcceleratorA(HWND, HACCEL, LPMSG); 4352 int TranslateAcceleratorA(HWND, HACCEL, LPMSG); 4273 int TranslateAcceleratorW(HWND, HACCEL, LPMSG); 4353 int TranslateAcceleratorW(HWND, HACCEL, LPMSG); 4274 BOOL TranslateMDISysAccel(HWND, LPMSG); 4354 BOOL TranslateMDISysAccel(HWND, LPMSG); 4275 BOOL TranslateMessage( CPtr!(MSG)); | 4355 BOOL TranslateMessage(const(MSG)*); 4276 BOOL UnhookWindowsHook(int, HOOKPROC); 4356 BOOL UnhookWindowsHook(int, HOOKPROC); 4277 BOOL UnhookWindowsHookEx(HHOOK); 4357 BOOL UnhookWindowsHookEx(HHOOK); 4278 BOOL UnionRect(LPRECT, LPCRECT, LPCRECT); 4358 BOOL UnionRect(LPRECT, LPCRECT, LPCRECT); 4279 BOOL UnloadKeyboardLayout(HKL); 4359 BOOL UnloadKeyboardLayout(HKL); 4280 BOOL UnregisterClassA(LPCSTR, HINSTANCE); 4360 BOOL UnregisterClassA(LPCSTR, HINSTANCE); 4281 BOOL UnregisterClassW(LPCWSTR, HINSTANCE); 4361 BOOL UnregisterClassW(LPCWSTR, HINSTANCE); 4282 BOOL UnregisterHotKey(HWND, int); 4362 BOOL UnregisterHotKey(HWND, int); ................................................................................................................................................................................ 4298 extern (C) { 4378 extern (C) { 4299 int wsprintfA(LPSTR, LPCSTR, ...); 4379 int wsprintfA(LPSTR, LPCSTR, ...); 4300 int wsprintfW(LPWSTR, LPCWSTR, ...); 4380 int wsprintfW(LPWSTR, LPCWSTR, ...); 4301 } 4381 } 4302 4382 4303 4383 4304 // These shouldn't be necessary for D. 4384 // These shouldn't be necessary for D. 4305 alias char* va_list_; | 4385 alias TypeDef!(char*) va_list_; 4306 int wvsprintfA(LPSTR, LPCSTR, va_list_ arglist); 4386 int wvsprintfA(LPSTR, LPCSTR, va_list_ arglist); 4307 int wvsprintfW(LPWSTR, LPCWSTR, va_list_ arglist); 4387 int wvsprintfW(LPWSTR, LPCWSTR, va_list_ arglist); 4308 4388 4309 4389 4310 static if (_WIN32_WINDOWS == 0x400) { < 4311 // On Win95, there's only one version. < 4312 int BroadcastSystemMessage(DWORD, LPDWORD, UINT, WPARAM, LPARAM); < 4313 } < 4314 static if (_WIN32_WINNT >= 0x400) { < 4315 int BroadcastSystemMessageA(DWORD, LPDWORD, UINT, WPARAM, LPARAM); 4390 int BroadcastSystemMessageA(DWORD, LPDWORD, UINT, WPARAM, LPARAM); 4316 int BroadcastSystemMessageW(DWORD, LPDWORD, UINT, WPARAM, LPARAM); 4391 int BroadcastSystemMessageW(DWORD, LPDWORD, UINT, WPARAM, LPARAM); 4317 } | 4392 4318 static if (_WIN32_WINNT >= 0x501) { | 4393 static if (_WIN32_WINNT >= 0x403) { 4319 int BroadcastSystemMessageExA(DWORD, LPDWORD, UINT, WPARAM, LPARAM, PBSMINFO); | 4394 UINT SendInput(UINT, LPINPUT, int); 4320 int BroadcastSystemMessageExW(DWORD, LPDWORD, UINT, WPARAM, LPARAM, PBSMINFO); < 4321 } 4395 } 4322 4396 4323 static if (_WIN32_WINNT >= 0x403) { | 4397 static if (_WIN32_WINNT >= 0x410) { 4324 UINT SendInput(UINT, LPINPUT, int); < 4325 } < 4326 static if (_WIN32_WINNT >= 0x500) { < 4327 BOOL AnimateWindow(HWND, DWORD, DWORD); < 4328 BOOL EndTask(HWND, BOOL, BOOL); < 4329 DWORD GetGuiResources(HANDLE, DWORD); < 4330 HWND GetShellWindow(); < 4331 BOOL GetProcessDefaultLayout(DWORD*); < 4332 BOOL IsHungAppWindow(HWND); < 4333 BOOL LockWorkStation(); < 4334 HDEVNOTIFY RegisterDeviceNotificationA(HANDLE, LPVOID, DWORD); < 4335 HDEVNOTIFY RegisterDeviceNotificationW(HANDLE, LPVOID, DWORD); < 4336 BOOL SetProcessDefaultLayout(DWORD); < 4337 void SwitchToThisWindow(HWND, BOOL); < 4338 BOOL SetLayeredWindowAttributes(HWND, COLORREF, BYTE, DWORD); < 4339 BOOL UpdateLayeredWindow(HWND, HDC, POINT*, SIZE*, HDC, POINT*, COLORREF, BLENDF < 4340 BOOL UserHandleGrantAccess(HANDLE, HANDLE, BOOL); < 4341 } < 4342 static if (_WIN32_WINNT >= 0x501) { < 4343 UINT GetRawInputBuffer(PRAWINPUT, PUINT, UINT); < 4344 UINT GetRawInputData(HRAWINPUT, UINT, LPVOID, PUINT, UINT); < 4345 UINT GetRawInputDeviceInfoA(HANDLE, UINT, LPVOID, PUINT); < 4346 UINT GetRawInputDeviceInfoW(HANDLE, UINT, LPVOID, PUINT); < 4347 UINT GetRawInputDeviceList(PRAWINPUTDEVICELIST, PUINT, UINT); < 4348 UINT GetRegisteredRawInputDevices(PRAWINPUTDEVICE, PUINT, UINT); < 4349 LRESULT DefRawInputProc(PRAWINPUT*, INT, UINT); < 4350 BOOL RegisterRawInputDevices(PCRAWINPUTDEVICE, UINT, UINT); < 4351 < 4352 BOOL IsGUIThread(BOOL); < 4353 BOOL IsWinEventHookInstalled(DWORD); < 4354 BOOL PrintWindow(HWND, HDC, UINT); < 4355 BOOL GetLayeredWindowAttributes(HWND, COLORREF*, BYTE*, DWORD*); < 4356 } < 4357 static if (WINVER >= 0x410) { < 4358 BOOL EnumDisplayMonitors(HDC, LPCRECT, MONITORENUMPROC, LPARAM); 4398 BOOL EnumDisplayMonitors(HDC, LPCRECT, MONITORENUMPROC, LPARAM); 4359 BOOL GetMonitorInfoA(HMONITOR, LPMONITORINFO); 4399 BOOL GetMonitorInfoA(HMONITOR, LPMONITORINFO); 4360 BOOL GetMonitorInfoA(HMONITOR, LPMONITORINFOEXA); 4400 BOOL GetMonitorInfoA(HMONITOR, LPMONITORINFOEXA); 4361 BOOL GetMonitorInfoW(HMONITOR, LPMONITORINFO); 4401 BOOL GetMonitorInfoW(HMONITOR, LPMONITORINFO); 4362 BOOL GetMonitorInfoW(HMONITOR, LPMONITORINFOEXW); 4402 BOOL GetMonitorInfoW(HMONITOR, LPMONITORINFOEXW); 4363 HMONITOR MonitorFromPoint(POINT, DWORD); 4403 HMONITOR MonitorFromPoint(POINT, DWORD); 4364 HMONITOR MonitorFromRect(LPCRECT, DWORD); 4404 HMONITOR MonitorFromRect(LPCRECT, DWORD); 4365 HMONITOR MonitorFromWindow(HWND, DWORD); 4405 HMONITOR MonitorFromWindow(HWND, DWORD); 4366 } 4406 } 4367 static if (WINVER >= 0x500) { < 4368 BOOL GetGUIThreadInfo(DWORD, LPGUITHREADINFO); < 4369 void NotifyWinEvent(DWORD, HWND, LONG, LONG); < 4370 HWINEVENTHOOK SetWinEventHook(UINT, UINT, HMODULE, WINEVENTPROC, DWORD, DWORD, U < 4371 BOOL UnhookWinEvent(HWINEVENTHOOK); < 4372 BOOL UnregisterDeviceNotification(HANDLE); < 4373 } | 4407 4374 static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { | 4408 static if (_WIN32_WINNT >= 0x500) { > 4409 BOOL AllowSetForegroundWindow(DWORD); > 4410 BOOL AnimateWindow(HWND, DWORD, DWORD); > 4411 BOOL EndTask(HWND, BOOL, BOOL); 4375 BOOL EnumDisplaySettingsExA(LPCSTR, DWORD, LPDEVMODEA, DWORD); | 4412 BOOL EnumDisplaySettingsExA(LPCSTR, DWORD, LPDEVMODEA, DWORD); 4376 BOOL EnumDisplaySettingsExW(LPCWSTR, DWORD, LPDEVMODEW, DWORD); | 4413 BOOL EnumDisplaySettingsExW(LPCWSTR, DWORD, LPDEVMODEW, DWORD); 4377 BOOL FlashWindowEx(PFLASHWINFO); < 4378 DWORD GetClipboardSequenceNumber(); | 4414 DWORD GetClipboardSequenceNumber(); > 4415 DWORD GetGuiResources(HANDLE, DWORD); > 4416 BOOL GetGUIThreadInfo(DWORD, LPGUITHREADINFO); > 4417 int GetMouseMovePointsEx(UINT, LPMOUSEMOVEPOINT, LPMOUSEMOVEPOINT, int, > 4418 BOOL GetProcessDefaultLayout(DWORD*); > 4419 HWND GetShellWindow(); > 4420 BOOL IsHungAppWindow(HWND); 4379 DWORD InSendMessageEx(LPVOID); | 4421 DWORD InSendMessageEx(LPVOID); > 4422 BOOL LockSetForegroundWindow(UINT); > 4423 BOOL LockWorkStation(); > 4424 void NotifyWinEvent(DWORD, HWND, LONG, LONG); > 4425 HDEVNOTIFY RegisterDeviceNotificationA(HANDLE, LPVOID, DWORD); > 4426 HDEVNOTIFY RegisterDeviceNotificationW(HANDLE, LPVOID, DWORD); > 4427 BOOL SetProcessDefaultLayout(DWORD); > 4428 HWINEVENTHOOK SetWinEventHook(UINT, UINT, HMODULE, WINEVENTPROC, DWORD, > 4429 void SwitchToThisWindow(HWND, BOOL); > 4430 BOOL SetLayeredWindowAttributes(HWND, COLORREF, BYTE, DWORD); > 4431 BOOL UpdateLayeredWindow(HWND, HDC, POINT*, SIZE*, HDC, POINT*, COLORREF > 4432 BOOL UserHandleGrantAccess(HANDLE, HANDLE, BOOL); > 4433 BOOL UnhookWinEvent(HWINEVENTHOOK); > 4434 BOOL UnregisterDeviceNotification(HANDLE); 4380 } 4435 } > 4436 4381 static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x490)) { | 4437 static if (_WIN32_WINNT >= 0x501) { 4382 BOOL AllowSetForegroundWindow(DWORD); < 4383 BOOL LockSetForegroundWindow(UINT); | 4438 int BroadcastSystemMessageExA(DWORD, LPDWORD, UINT, WPARAM, LPARAM, PBSM 4384 int GetMouseMovePointsEx(UINT, LPMOUSEMOVEPOINT, LPMOUSEMOVEPOINT, int, DWORD); | 4439 int BroadcastSystemMessageExW(DWORD, LPDWORD, UINT, WPARAM, LPARAM, PBSM > 4440 LRESULT DefRawInputProc(PRAWINPUT*, INT, UINT); > 4441 BOOL FlashWindowEx(PFLASHWINFO); > 4442 BOOL GetLayeredWindowAttributes(HWND, COLORREF*, BYTE*, DWORD*); > 4443 UINT GetRawInputBuffer(PRAWINPUT, PUINT, UINT); > 4444 UINT GetRawInputData(HRAWINPUT, UINT, LPVOID, PUINT, UINT); > 4445 UINT GetRawInputDeviceInfoA(HANDLE, UINT, LPVOID, PUINT); > 4446 UINT GetRawInputDeviceInfoW(HANDLE, UINT, LPVOID, PUINT); > 4447 UINT GetRawInputDeviceList(PRAWINPUTDEVICELIST, PUINT, UINT); > 4448 UINT GetRegisteredRawInputDevices(PRAWINPUTDEVICE, PUINT, UINT); > 4449 BOOL IsGUIThread(BOOL); > 4450 BOOL IsWinEventHookInstalled(DWORD); > 4451 BOOL PrintWindow(HWND, HDC, UINT); > 4452 BOOL RegisterRawInputDevices(PCRAWINPUTDEVICE, UINT, UINT); 4385 } 4453 } 4386 4454 4387 version (Win64) { 4455 version (Win64) { 4388 LONG_PTR GetWindowLongPtrA(HWND, int); | 4456 LONG_PTR GetWindowLongPtrA(HWND, int); 4389 LONG_PTR GetWindowLongPtrW(HWND, int); | 4457 LONG_PTR GetWindowLongPtrW(HWND, int); 4390 LONG_PTR SetWindowLongPtrA(HWND, int, LONG_PTR); | 4458 LONG_PTR SetWindowLongPtrA(HWND, int, LONG_PTR); 4391 LONG_PTR SetWindowLongPtrW(HWND, int, LONG_PTR); | 4459 LONG_PTR SetWindowLongPtrW(HWND, int, LONG_PTR); 4392 } else { 4460 } else { 4393 alias GetWindowLongA GetWindowLongPtrA; | 4461 alias GetWindowLongA GetWindowLongPtrA; 4394 alias GetWindowLongW GetWindowLongPtrW; | 4462 alias GetWindowLongW GetWindowLongPtrW; 4395 alias SetWindowLongA SetWindowLongPtrA; | 4463 alias SetWindowLongA SetWindowLongPtrA; 4396 alias SetWindowLongW SetWindowLongPtrW; | 4464 alias SetWindowLongW SetWindowLongPtrW; 4397 } 4465 } 4398 4466 4399 4467 4400 // ----- 4468 // ----- 4401 // Aliases for Unicode or Ansi 4469 // Aliases for Unicode or Ansi 4402 version(Unicode) { 4470 version(Unicode) { 4403 4471 4404 alias EDITWORDBREAKPROCW EDITWORDBREAKPROC; | 4472 alias EDITWORDBREAKPROCW EDITWORDBREAKPROC; 4405 alias PROPENUMPROCW PROPENUMPROC; | 4473 alias PROPENUMPROCW PROPENUMPROC; 4406 alias PROPENUMPROCEXW PROPENUMPROCEX; | 4474 alias PROPENUMPROCEXW PROPENUMPROCEX; 4407 alias DESKTOPENUMPROCW DESKTOPENUMPROC; | 4475 alias DESKTOPENUMPROCW DESKTOPENUMPROC; 4408 alias WINSTAENUMPROCW WINSTAENUMPROC; | 4476 alias WINSTAENUMPROCW WINSTAENUMPROC; 4409 alias MAKEINTRESOURCEW MAKEINTRESOURCE; | 4477 alias MAKEINTRESOURCEW MAKEINTRESOURCE; 4410 4478 4411 alias WNDCLASSW WNDCLASS; | 4479 alias WNDCLASSW WNDCLASS; 4412 alias WNDCLASSEXW WNDCLASSEX; | 4480 alias WNDCLASSEXW WNDCLASSEX; 4413 alias MENUITEMINFOW MENUITEMINFO; | 4481 alias MENUITEMINFOW MENUITEMINFO; 4414 alias LPCMENUITEMINFOW LPCMENUITEMINFO; | 4482 alias LPCMENUITEMINFOW LPCMENUITEMINFO; 4415 alias MSGBOXPARAMSW MSGBOXPARAMS; | 4483 alias MSGBOXPARAMSW MSGBOXPARAMS; 4416 alias HIGHCONTRASTW HIGHCONTRAST; | 4484 alias HIGHCONTRASTW HIGHCONTRAST; 4417 alias SERIALKEYSW SERIALKEYS; | 4485 alias SERIALKEYSW SERIALKEYS; 4418 alias SOUNDSENTRYW SOUNDSENTRY; | 4486 alias SOUNDSENTRYW SOUNDSENTRY; 4419 alias CREATESTRUCTW CREATESTRUCT; | 4487 alias CREATESTRUCTW CREATESTRUCT; 4420 alias CBT_CREATEWNDW CBT_CREATEWND; | 4488 alias CBT_CREATEWNDW CBT_CREATEWND; 4421 alias MDICREATESTRUCTW MDICREATESTRUCT; | 4489 alias MDICREATESTRUCTW MDICREATESTRUCT; 4422 alias MULTIKEYHELPW MULTIKEYHELP; | 4490 alias MULTIKEYHELPW MULTIKEYHELP; 4423 alias MONITORINFOEXW MONITORINFOEX; | 4491 alias MONITORINFOEXW MONITORINFOEX; 4424 alias ICONMETRICSW ICONMETRICS; | 4492 alias ICONMETRICSW ICONMETRICS; 4425 alias NONCLIENTMETRICSW NONCLIENTMETRICS; | 4493 alias NONCLIENTMETRICSW NONCLIENTMETRICS; 4426 4494 4427 alias AppendMenuW AppendMenu; | 4495 alias AppendMenuW AppendMenu; 4428 alias BroadcastSystemMessageW BroadcastSystemMessage; | 4496 alias BroadcastSystemMessageW BroadcastSystemMessage; 4429 static if (_WIN32_WINNT >= 0x501) { | 4497 static if (_WIN32_WINNT >= 0x501) { 4430 alias BroadcastSystemMessageExW BroadcastSystemMessageEx; | 4498 alias BroadcastSystemMessageExW BroadcastSystemMessageEx; 4431 } | 4499 } 4432 alias CallMsgFilterW CallMsgFilter; | 4500 alias CallMsgFilterW CallMsgFilter; 4433 alias CallWindowProcW CallWindowProc; | 4501 alias CallWindowProcW CallWindowProc; 4434 alias ChangeMenuW ChangeMenu; | 4502 alias ChangeMenuW ChangeMenu; 4435 alias CharLowerW CharLower; | 4503 alias CharLowerW CharLower; 4436 alias CharLowerBuffW CharLowerBuff; | 4504 alias CharLowerBuffW CharLowerBuff; 4437 alias CharNextW CharNext; | 4505 alias CharNextW CharNext; 4438 alias CharNextExW CharNextEx; | 4506 alias CharNextExW CharNextEx; 4439 alias CharPrevW CharPrev; | 4507 alias CharPrevW CharPrev; 4440 alias CharPrevExW CharPrevEx; | 4508 alias CharPrevExW CharPrevEx; 4441 alias CharToOemW CharToOem; | 4509 alias CharToOemW CharToOem; 4442 alias CharToOemBuffW CharToOemBuff; | 4510 alias CharToOemBuffW CharToOemBuff; 4443 alias CharUpperW CharUpper; | 4511 alias CharUpperW CharUpper; 4444 alias CharUpperBuffW CharUpperBuff; | 4512 alias CharUpperBuffW CharUpperBuff; 4445 alias CopyAcceleratorTableW CopyAcceleratorTable; | 4513 alias CopyAcceleratorTableW CopyAcceleratorTable; 4446 alias CreateAcceleratorTableW CreateAcceleratorTable; | 4514 alias CreateAcceleratorTableW CreateAcceleratorTable; 4447 alias CreateDialogW CreateDialog; | 4515 alias CreateDialogW CreateDialog; 4448 alias CreateDialogIndirectW CreateDialogIndirect; | 4516 alias CreateDialogIndirectW CreateDialogIndirect; 4449 alias CreateDialogIndirectParamW CreateDialogIndirectParam; | 4517 alias CreateDialogIndirectParamW CreateDialogIndirectParam; 4450 alias CreateDialogParamW CreateDialogParam; | 4518 alias CreateDialogParamW CreateDialogParam; 4451 alias CreateMDIWindowW CreateMDIWindow; | 4519 alias CreateMDIWindowW CreateMDIWindow; 4452 alias CreateWindowW CreateWindow; | 4520 alias CreateWindowW CreateWindow; 4453 alias CreateWindowExW CreateWindowEx; | 4521 alias CreateWindowExW CreateWindowEx; 4454 alias CreateWindowStationW CreateWindowStation; | 4522 alias CreateWindowStationW CreateWindowStation; 4455 alias DefDlgProcW DefDlgProc; | 4523 alias DefDlgProcW DefDlgProc; 4456 alias DefFrameProcW DefFrameProc; | 4524 alias DefFrameProcW DefFrameProc; 4457 alias DefMDIChildProcW DefMDIChildProc; | 4525 alias DefMDIChildProcW DefMDIChildProc; 4458 alias DefWindowProcW DefWindowProc; | 4526 alias DefWindowProcW DefWindowProc; 4459 alias DialogBoxW DialogBox; | 4527 alias DialogBoxW DialogBox; 4460 alias DialogBoxIndirectW DialogBoxIndirect; | 4528 alias DialogBoxIndirectW DialogBoxIndirect; 4461 alias DialogBoxIndirectParamW DialogBoxIndirectParam; | 4529 alias DialogBoxIndirectParamW DialogBoxIndirectParam; 4462 alias DialogBoxParamW DialogBoxParam; | 4530 alias DialogBoxParamW DialogBoxParam; 4463 alias DispatchMessageW DispatchMessage; | 4531 alias DispatchMessageW DispatchMessage; 4464 alias DlgDirListW DlgDirList; | 4532 alias DlgDirListW DlgDirList; 4465 alias DlgDirListComboBoxW DlgDirListComboBox; | 4533 alias DlgDirListComboBoxW DlgDirListComboBox; 4466 alias DlgDirSelectComboBoxExW DlgDirSelectComboBoxEx; | 4534 alias DlgDirSelectComboBoxExW DlgDirSelectComboBoxEx; 4467 alias DlgDirSelectExW DlgDirSelectEx; | 4535 alias DlgDirSelectExW DlgDirSelectEx; 4468 alias DrawStateW DrawState; | 4536 alias DrawStateW DrawState; 4469 alias DrawTextW DrawText; | 4537 alias DrawTextW DrawText; 4470 alias DrawTextExW DrawTextEx; | 4538 alias DrawTextExW DrawTextEx; 4471 alias EnumDesktopsW EnumDesktops; | 4539 alias EnumDesktopsW EnumDesktops; 4472 alias EnumPropsW EnumProps; | 4540 alias EnumPropsW EnumProps; 4473 alias EnumPropsExW EnumPropsEx; | 4541 alias EnumPropsExW EnumPropsEx; 4474 alias EnumWindowStationsW EnumWindowStations; | 4542 alias EnumWindowStationsW EnumWindowStations; 4475 alias FindWindowW FindWindow; | 4543 alias FindWindowW FindWindow; 4476 alias FindWindowExW FindWindowEx; | 4544 alias FindWindowExW FindWindowEx; 4477 alias GetClassInfoW GetClassInfo; | 4545 alias GetClassInfoW GetClassInfo; 4478 alias GetClassInfoExW GetClassInfoEx; | 4546 alias GetClassInfoExW GetClassInfoEx; 4479 alias GetClassLongW GetClassLong; | 4547 alias GetClassLongW GetClassLong; 4480 alias GetClassNameW GetClassName; | 4548 alias GetClassNameW GetClassName; 4481 alias GetClipboardFormatNameW GetClipboardFormatName; | 4549 alias GetClipboardFormatNameW GetClipboardFormatName; 4482 alias GetDlgItemTextW GetDlgItemText; | 4550 alias GetDlgItemTextW GetDlgItemText; 4483 alias GetKeyboardLayoutNameW GetKeyboardLayoutName; | 4551 alias GetKeyboardLayoutNameW GetKeyboardLayoutName; 4484 alias GetKeyNameTextW GetKeyNameText; | 4552 alias GetKeyNameTextW GetKeyNameText; 4485 alias GetMenuItemInfoW GetMenuItemInfo; | 4553 alias GetMenuItemInfoW GetMenuItemInfo; 4486 alias GetMenuStringW GetMenuString; | 4554 alias GetMenuStringW GetMenuString; 4487 alias GetMessageW GetMessage; | 4555 alias GetMessageW GetMessage; 4488 static if (WINVER >=0x410) { | 4556 static if (_WIN32_WINNT >= 0x410) { 4489 alias GetMonitorInfoW GetMonitorInfo; | 4557 alias GetMonitorInfoW GetMonitorInfo; 4490 } | 4558 } 4491 alias GetPropW GetProp; | 4559 alias GetPropW GetProp; 4492 static if (_WIN32_WINNT >= 0x501) { | 4560 static if (_WIN32_WINNT >= 0x501) { 4493 alias GetRawInputDeviceInfoW GetRawInputDeviceInfo; | 4561 alias GetRawInputDeviceInfoW GetRawInputDeviceInfo; 4494 } | 4562 } 4495 alias GetTabbedTextExtentW GetTabbedTextExtent; | 4563 alias GetTabbedTextExtentW GetTabbedTextExtent; 4496 alias GetUserObjectInformationW GetUserObjectInformation; | 4564 alias GetUserObjectInformationW GetUserObjectInformation; 4497 alias GetWindowLongW GetWindowLong; | 4565 alias GetWindowLongW GetWindowLong; 4498 alias GetWindowLongPtrW GetWindowLongPtr; | 4566 alias GetWindowLongPtrW GetWindowLongPtr; 4499 alias GetWindowTextW GetWindowText; | 4567 alias GetWindowTextW GetWindowText; 4500 alias GetWindowTextLengthW GetWindowTextLength; | 4568 alias GetWindowTextLengthW GetWindowTextLength; 4501 alias GetAltTabInfoW GetAltTabInfo; | 4569 alias GetAltTabInfoW GetAltTabInfo; 4502 alias GetWindowModuleFileNameW GetWindowModuleFileName; | 4570 alias GetWindowModuleFileNameW GetWindowModuleFileName; 4503 alias GrayStringW GrayString; | 4571 alias GrayStringW GrayString; 4504 alias InsertMenuW InsertMenu; | 4572 alias InsertMenuW InsertMenu; 4505 alias InsertMenuItemW InsertMenuItem; | 4573 alias InsertMenuItemW InsertMenuItem; 4506 alias IsCharAlphaW IsCharAlpha; | 4574 alias IsCharAlphaW IsCharAlpha; 4507 alias IsCharAlphaNumericW IsCharAlphaNumeric; | 4575 alias IsCharAlphaNumericW IsCharAlphaNumeric; 4508 alias IsCharLowerW IsCharLower; | 4576 alias IsCharLowerW IsCharLower; 4509 alias IsCharUpperW IsCharUpper; | 4577 alias IsCharUpperW IsCharUpper; 4510 alias IsDialogMessageW IsDialogMessage; | 4578 alias IsDialogMessageW IsDialogMessage; 4511 alias LoadAcceleratorsW LoadAccelerators; | 4579 alias LoadAcceleratorsW LoadAccelerators; 4512 alias LoadBitmapW LoadBitmap; | 4580 alias LoadBitmapW LoadBitmap; 4513 alias LoadCursorW LoadCursor; | 4581 alias LoadCursorW LoadCursor; 4514 alias LoadCursorFromFileW LoadCursorFromFile; | 4582 alias LoadCursorFromFileW LoadCursorFromFile; 4515 alias LoadIconW LoadIcon; | 4583 alias LoadIconW LoadIcon; 4516 alias LoadImageW LoadImage; | 4584 alias LoadImageW LoadImage; 4517 alias LoadKeyboardLayoutW LoadKeyboardLayout; | 4585 alias LoadKeyboardLayoutW LoadKeyboardLayout; 4518 alias LoadMenuW LoadMenu; | 4586 alias LoadMenuW LoadMenu; 4519 alias LoadMenuIndirectW LoadMenuIndirect; | 4587 alias LoadMenuIndirectW LoadMenuIndirect; 4520 alias LoadStringW LoadString; | 4588 alias LoadStringW LoadString; 4521 alias MapVirtualKeyW MapVirtualKey; | 4589 alias MapVirtualKeyW MapVirtualKey; 4522 alias MapVirtualKeyExW MapVirtualKeyEx; | 4590 alias MapVirtualKeyExW MapVirtualKeyEx; 4523 alias MessageBoxW MessageBox; | 4591 alias MessageBoxW MessageBox; 4524 alias MessageBoxExW MessageBoxEx; | 4592 alias MessageBoxExW MessageBoxEx; 4525 alias MessageBoxIndirectW MessageBoxIndirect; | 4593 alias MessageBoxIndirectW MessageBoxIndirect; 4526 alias ModifyMenuW ModifyMenu; | 4594 alias ModifyMenuW ModifyMenu; 4527 alias OemToCharW OemToChar; | 4595 alias OemToCharW OemToChar; 4528 alias OemToCharBuffW OemToCharBuff; | 4596 alias OemToCharBuffW OemToCharBuff; 4529 alias OpenDesktopW OpenDesktop; | 4597 alias OpenDesktopW OpenDesktop; 4530 alias OpenWindowStationW OpenWindowStation; | 4598 alias OpenWindowStationW OpenWindowStation; 4531 alias PeekMessageW PeekMessage; | 4599 alias PeekMessageW PeekMessage; 4532 alias PostMessageW PostMessage; | 4600 alias PostMessageW PostMessage; 4533 alias PostThreadMessageW PostThreadMessage; | 4601 alias PostThreadMessageW PostThreadMessage; 4534 alias RealGetWindowClassW RealGetWindowClass; | 4602 alias RealGetWindowClassW RealGetWindowClass; 4535 alias RegisterClassW RegisterClass; | 4603 alias RegisterClassW RegisterClass; 4536 alias RegisterClassExW RegisterClassEx; | 4604 alias RegisterClassExW RegisterClassEx; 4537 alias RegisterClipboardFormatW RegisterClipboardFormat; | 4605 alias RegisterClipboardFormatW RegisterClipboardFormat; 4538 static if (WINVER >= 0x500) { | 4606 static if (_WIN32_WINNT >= 0x500) { 4539 alias RegisterDeviceNotificationW RegisterDeviceNotification; | 4607 alias RegisterDeviceNotificationW RegisterDeviceNotification; 4540 } | 4608 } 4541 alias RegisterWindowMessageW RegisterWindowMessage; | 4609 alias RegisterWindowMessageW RegisterWindowMessage; 4542 alias RemovePropW RemoveProp; | 4610 alias RemovePropW RemoveProp; 4543 alias SendDlgItemMessageW SendDlgItemMessage; | 4611 alias SendDlgItemMessageW SendDlgItemMessage; 4544 alias SendMessageW SendMessage; | 4612 alias SendMessageW SendMessage; 4545 alias SendMessageCallbackW SendMessageCallback; | 4613 alias SendMessageCallbackW SendMessageCallback; 4546 alias SendMessageTimeoutW SendMessageTimeout; | 4614 alias SendMessageTimeoutW SendMessageTimeout; 4547 alias SendNotifyMessageW SendNotifyMessage; | 4615 alias SendNotifyMessageW SendNotifyMessage; 4548 alias SetClassLongW SetClassLong; | 4616 alias SetClassLongW SetClassLong; 4549 alias SetDlgItemTextW SetDlgItemText; | 4617 alias SetDlgItemTextW SetDlgItemText; 4550 alias SetMenuItemInfoW SetMenuItemInfo; | 4618 alias SetMenuItemInfoW SetMenuItemInfo; 4551 alias SetPropW SetProp; | 4619 alias SetPropW SetProp; 4552 alias SetUserObjectInformationW SetUserObjectInformation; | 4620 alias SetUserObjectInformationW SetUserObjectInformation; 4553 alias SetWindowLongW SetWindowLong; | 4621 alias SetWindowLongW SetWindowLong; 4554 alias SetWindowLongPtrW SetWindowLongPtr; | 4622 alias SetWindowLongPtrW SetWindowLongPtr; 4555 alias SetWindowsHookW SetWindowsHook; | 4623 alias SetWindowsHookW SetWindowsHook; 4556 alias SetWindowsHookExW SetWindowsHookEx; | 4624 alias SetWindowsHookExW SetWindowsHookEx; 4557 alias SetWindowTextW SetWindowText; | 4625 alias SetWindowTextW SetWindowText; 4558 alias SystemParametersInfoW SystemParametersInfo; | 4626 alias SystemParametersInfoW SystemParametersInfo; 4559 alias TabbedTextOutW TabbedTextOut; | 4627 alias TabbedTextOutW TabbedTextOut; 4560 alias TranslateAcceleratorW TranslateAccelerator; | 4628 alias TranslateAcceleratorW TranslateAccelerator; 4561 alias UnregisterClassW UnregisterClass; | 4629 alias UnregisterClassW UnregisterClass; 4562 alias VkKeyScanW VkKeyScan; | 4630 alias VkKeyScanW VkKeyScan; 4563 alias VkKeyScanExW VkKeyScanEx; | 4631 alias VkKeyScanExW VkKeyScanEx; 4564 alias WinHelpW WinHelp; | 4632 alias WinHelpW WinHelp; 4565 alias wsprintfW wsprintf; | 4633 alias wsprintfW wsprintf; 4566 alias wvsprintfW wvsprintf; | 4634 alias wvsprintfW wvsprintf; 4567 4635 4568 alias ChangeDisplaySettingsW ChangeDisplaySettings; | 4636 alias ChangeDisplaySettingsW ChangeDisplaySettings; 4569 alias ChangeDisplaySettingsExW ChangeDisplaySettingsEx; | 4637 alias ChangeDisplaySettingsExW ChangeDisplaySettingsEx; 4570 alias CreateDesktopW CreateDesktop; | 4638 alias CreateDesktopW CreateDesktop; 4571 alias EnumDisplaySettingsW EnumDisplaySettings; | 4639 alias EnumDisplaySettingsW EnumDisplaySettings; 4572 static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { | 4640 static if (_WIN32_WINNT >= 0x500) { 4573 alias EnumDisplaySettingsExW EnumDisplaySettingsEx; | 4641 alias EnumDisplaySettingsExW EnumDisplaySettingsEx; 4574 } | 4642 } 4575 alias EnumDisplayDevicesW EnumDisplayDevices; | 4643 alias EnumDisplayDevicesW EnumDisplayDevices; 4576 4644 4577 } else { // ANSI 4645 } else { // ANSI 4578 4646 4579 alias EDITWORDBREAKPROCA EDITWORDBREAKPROC; | 4647 alias EDITWORDBREAKPROCA EDITWORDBREAKPROC; 4580 alias PROPENUMPROCA PROPENUMPROC; | 4648 alias PROPENUMPROCA PROPENUMPROC; 4581 alias PROPENUMPROCEXA PROPENUMPROCEX; | 4649 alias PROPENUMPROCEXA PROPENUMPROCEX; 4582 alias DESKTOPENUMPROCA DESKTOPENUMPROC; | 4650 alias DESKTOPENUMPROCA DESKTOPENUMPROC; 4583 alias WINSTAENUMPROCA WINSTAENUMPROC; | 4651 alias WINSTAENUMPROCA WINSTAENUMPROC; 4584 alias MAKEINTRESOURCEA MAKEINTRESOURCE; | 4652 alias MAKEINTRESOURCEA MAKEINTRESOURCE; 4585 4653 4586 alias WNDCLASSA WNDCLASS; | 4654 alias WNDCLASSA WNDCLASS; 4587 alias WNDCLASSEXA WNDCLASSEX; | 4655 alias WNDCLASSEXA WNDCLASSEX; 4588 alias MENUITEMINFOA MENUITEMINFO; | 4656 alias MENUITEMINFOA MENUITEMINFO; 4589 alias LPCMENUITEMINFOA LPCMENUITEMINFO; | 4657 alias LPCMENUITEMINFOA LPCMENUITEMINFO; 4590 alias MSGBOXPARAMSA MSGBOXPARAMS; | 4658 alias MSGBOXPARAMSA MSGBOXPARAMS; 4591 alias HIGHCONTRASTA HIGHCONTRAST; | 4659 alias HIGHCONTRASTA HIGHCONTRAST; 4592 alias SERIALKEYSA SERIALKEYS; | 4660 alias SERIALKEYSA SERIALKEYS; 4593 alias SOUNDSENTRYA SOUNDSENTRY; | 4661 alias SOUNDSENTRYA SOUNDSENTRY; 4594 alias CREATESTRUCTA CREATESTRUCT; | 4662 alias CREATESTRUCTA CREATESTRUCT; 4595 alias CBT_CREATEWNDA CBT_CREATEWND; | 4663 alias CBT_CREATEWNDA CBT_CREATEWND; 4596 alias MDICREATESTRUCTA MDICREATESTRUCT; | 4664 alias MDICREATESTRUCTA MDICREATESTRUCT; 4597 alias MULTIKEYHELPA MULTIKEYHELP; | 4665 alias MULTIKEYHELPA MULTIKEYHELP; 4598 alias MONITORINFOEXA MONITORINFOEX; | 4666 alias MONITORINFOEXA MONITORINFOEX; 4599 alias ICONMETRICSA ICONMETRICS; | 4667 alias ICONMETRICSA ICONMETRICS; 4600 alias NONCLIENTMETRICSA NONCLIENTMETRICS; | 4668 alias NONCLIENTMETRICSA NONCLIENTMETRICS; 4601 4669 4602 alias AppendMenuA AppendMenu; | 4670 alias AppendMenuA AppendMenu; 4603 alias BroadcastSystemMessageA BroadcastSystemMessage; | 4671 alias BroadcastSystemMessageA BroadcastSystemMessage; 4604 static if (_WIN32_WINNT >= 0x501) { | 4672 static if (_WIN32_WINNT >= 0x501) { 4605 alias BroadcastSystemMessageExA BroadcastSystemMessageEx; | 4673 alias BroadcastSystemMessageExA BroadcastSystemMessageEx; 4606 } | 4674 } 4607 alias CallMsgFilterA CallMsgFilter; | 4675 alias CallMsgFilterA CallMsgFilter; 4608 alias CallWindowProcA CallWindowProc; | 4676 alias CallWindowProcA CallWindowProc; 4609 alias ChangeMenuA ChangeMenu; | 4677 alias ChangeMenuA ChangeMenu; 4610 alias CharLowerA CharLower; | 4678 alias CharLowerA CharLower; 4611 alias CharLowerBuffA CharLowerBuff; | 4679 alias CharLowerBuffA CharLowerBuff; 4612 alias CharNextA CharNext; | 4680 alias CharNextA CharNext; 4613 alias CharNextExA CharNextEx; | 4681 alias CharNextExA CharNextEx; 4614 alias CharPrevA CharPrev; | 4682 alias CharPrevA CharPrev; 4615 alias CharPrevExA CharPrevEx; | 4683 alias CharPrevExA CharPrevEx; 4616 alias CharToOemA CharToOem; | 4684 alias CharToOemA CharToOem; 4617 alias CharToOemBuffA CharToOemBuff; | 4685 alias CharToOemBuffA CharToOemBuff; 4618 alias CharUpperA CharUpper; | 4686 alias CharUpperA CharUpper; 4619 alias CharUpperBuffA CharUpperBuff; | 4687 alias CharUpperBuffA CharUpperBuff; 4620 alias CopyAcceleratorTableA CopyAcceleratorTable; | 4688 alias CopyAcceleratorTableA CopyAcceleratorTable; 4621 alias CreateAcceleratorTableA CreateAcceleratorTable; | 4689 alias CreateAcceleratorTableA CreateAcceleratorTable; 4622 alias CreateDialogA CreateDialog; | 4690 alias CreateDialogA CreateDialog; 4623 alias CreateDialogIndirectA CreateDialogIndirect; | 4691 alias CreateDialogIndirectA CreateDialogIndirect; 4624 alias CreateDialogIndirectParamA CreateDialogIndirectParam; | 4692 alias CreateDialogIndirectParamA CreateDialogIndirectParam; 4625 alias CreateDialogParamA CreateDialogParam; | 4693 alias CreateDialogParamA CreateDialogParam; 4626 alias CreateMDIWindowA CreateMDIWindow; | 4694 alias CreateMDIWindowA CreateMDIWindow; 4627 alias CreateWindowA CreateWindow; | 4695 alias CreateWindowA CreateWindow; 4628 alias CreateWindowExA CreateWindowEx; | 4696 alias CreateWindowExA CreateWindowEx; 4629 alias CreateWindowStationA CreateWindowStation; | 4697 alias CreateWindowStationA CreateWindowStation; 4630 alias DefDlgProcA DefDlgProc; | 4698 alias DefDlgProcA DefDlgProc; 4631 alias DefFrameProcA DefFrameProc; | 4699 alias DefFrameProcA DefFrameProc; 4632 alias DefMDIChildProcA DefMDIChildProc; | 4700 alias DefMDIChildProcA DefMDIChildProc; 4633 alias DefWindowProcA DefWindowProc; | 4701 alias DefWindowProcA DefWindowProc; 4634 alias DialogBoxA DialogBox; | 4702 alias DialogBoxA DialogBox; 4635 alias DialogBoxIndirectA DialogBoxIndirect; | 4703 alias DialogBoxIndirectA DialogBoxIndirect; 4636 alias DialogBoxIndirectParamA DialogBoxIndirectParam; | 4704 alias DialogBoxIndirectParamA DialogBoxIndirectParam; 4637 alias DialogBoxParamA DialogBoxParam; | 4705 alias DialogBoxParamA DialogBoxParam; 4638 alias DispatchMessageA DispatchMessage; | 4706 alias DispatchMessageA DispatchMessage; 4639 alias DlgDirListA DlgDirList; | 4707 alias DlgDirListA DlgDirList; 4640 alias DlgDirListComboBoxA DlgDirListComboBox; | 4708 alias DlgDirListComboBoxA DlgDirListComboBox; 4641 alias DlgDirSelectComboBoxExA DlgDirSelectComboBoxEx; | 4709 alias DlgDirSelectComboBoxExA DlgDirSelectComboBoxEx; 4642 alias DlgDirSelectExA DlgDirSelectEx; | 4710 alias DlgDirSelectExA DlgDirSelectEx; 4643 alias DrawStateA DrawState; | 4711 alias DrawStateA DrawState; 4644 alias DrawTextA DrawText; | 4712 alias DrawTextA DrawText; 4645 alias DrawTextExA DrawTextEx; | 4713 alias DrawTextExA DrawTextEx; 4646 alias EnumDesktopsA EnumDesktops; | 4714 alias EnumDesktopsA EnumDesktops; 4647 alias EnumPropsA EnumProps; | 4715 alias EnumPropsA EnumProps; 4648 alias EnumPropsExA EnumPropsEx; | 4716 alias EnumPropsExA EnumPropsEx; 4649 alias EnumWindowStationsA EnumWindowStations; | 4717 alias EnumWindowStationsA EnumWindowStations; 4650 alias FindWindowA FindWindow; | 4718 alias FindWindowA FindWindow; 4651 alias FindWindowExA FindWindowEx; | 4719 alias FindWindowExA FindWindowEx; 4652 alias GetClassInfoA GetClassInfo; | 4720 alias GetClassInfoA GetClassInfo; 4653 alias GetClassInfoExA GetClassInfoEx; | 4721 alias GetClassInfoExA GetClassInfoEx; 4654 alias GetClassLongA GetClassLong; | 4722 alias GetClassLongA GetClassLong; 4655 alias GetClassNameA GetClassName; | 4723 alias GetClassNameA GetClassName; 4656 alias GetClipboardFormatNameA GetClipboardFormatName; | 4724 alias GetClipboardFormatNameA GetClipboardFormatName; 4657 alias GetDlgItemTextA GetDlgItemText; | 4725 alias GetDlgItemTextA GetDlgItemText; 4658 alias GetKeyboardLayoutNameA GetKeyboardLayoutName; | 4726 alias GetKeyboardLayoutNameA GetKeyboardLayoutName; 4659 alias GetKeyNameTextA GetKeyNameText; | 4727 alias GetKeyNameTextA GetKeyNameText; 4660 alias GetMenuItemInfoA GetMenuItemInfo; | 4728 alias GetMenuItemInfoA GetMenuItemInfo; 4661 alias GetMenuStringA GetMenuString; | 4729 alias GetMenuStringA GetMenuString; 4662 alias GetMessageA GetMessage; | 4730 alias GetMessageA GetMessage; 4663 static if (WINVER >=0x410) { | 4731 static if (_WIN32_WINNT >= 0x410) { 4664 alias GetMonitorInfoA GetMonitorInfo; | 4732 alias GetMonitorInfoA GetMonitorInfo; 4665 } | 4733 } 4666 alias GetPropA GetProp; | 4734 alias GetPropA GetProp; 4667 static if (_WIN32_WINNT >= 0x501) { | 4735 static if (_WIN32_WINNT >= 0x501) { 4668 alias GetRawInputDeviceInfoA GetRawInputDeviceInfo; | 4736 alias GetRawInputDeviceInfoA GetRawInputDeviceInfo; 4669 } | 4737 } 4670 alias GetTabbedTextExtentA GetTabbedTextExtent; | 4738 alias GetTabbedTextExtentA GetTabbedTextExtent; 4671 alias GetUserObjectInformationA GetUserObjectInformation; | 4739 alias GetUserObjectInformationA GetUserObjectInformation; 4672 alias GetWindowLongA GetWindowLong; | 4740 alias GetWindowLongA GetWindowLong; 4673 alias GetWindowLongPtrA GetWindowLongPtr; | 4741 alias GetWindowLongPtrA GetWindowLongPtr; 4674 alias GetWindowTextA GetWindowText; | 4742 alias GetWindowTextA GetWindowText; 4675 alias GetWindowTextLengthA GetWindowTextLength; | 4743 alias GetWindowTextLengthA GetWindowTextLength; 4676 alias GetAltTabInfoA GetAltTabInfo; | 4744 alias GetAltTabInfoA GetAltTabInfo; 4677 alias GetWindowModuleFileNameA GetWindowModuleFileName; | 4745 alias GetWindowModuleFileNameA GetWindowModuleFileName; 4678 alias GrayStringA GrayString; | 4746 alias GrayStringA GrayString; 4679 alias InsertMenuA InsertMenu; | 4747 alias InsertMenuA InsertMenu; 4680 alias InsertMenuItemA InsertMenuItem; | 4748 alias InsertMenuItemA InsertMenuItem; 4681 alias IsCharAlphaA IsCharAlpha; | 4749 alias IsCharAlphaA IsCharAlpha; 4682 alias IsCharAlphaNumericA IsCharAlphaNumeric; | 4750 alias IsCharAlphaNumericA IsCharAlphaNumeric; 4683 alias IsCharLowerA IsCharLower; | 4751 alias IsCharLowerA IsCharLower; 4684 alias IsCharUpperA IsCharUpper; | 4752 alias IsCharUpperA IsCharUpper; 4685 alias IsDialogMessageA IsDialogMessage; | 4753 alias IsDialogMessageA IsDialogMessage; 4686 alias LoadAcceleratorsA LoadAccelerators; | 4754 alias LoadAcceleratorsA LoadAccelerators; 4687 alias LoadBitmapA LoadBitmap; | 4755 alias LoadBitmapA LoadBitmap; 4688 alias LoadCursorA LoadCursor; | 4756 alias LoadCursorA LoadCursor; 4689 alias LoadIconA LoadIcon; | 4757 alias LoadIconA LoadIcon; 4690 alias LoadCursorFromFileA LoadCursorFromFile; | 4758 alias LoadCursorFromFileA LoadCursorFromFile; 4691 alias LoadImageA LoadImage; | 4759 alias LoadImageA LoadImage; 4692 alias LoadKeyboardLayoutA LoadKeyboardLayout; | 4760 alias LoadKeyboardLayoutA LoadKeyboardLayout; 4693 alias LoadMenuA LoadMenu; | 4761 alias LoadMenuA LoadMenu; 4694 alias LoadMenuIndirectA LoadMenuIndirect; | 4762 alias LoadMenuIndirectA LoadMenuIndirect; 4695 alias LoadStringA LoadString; | 4763 alias LoadStringA LoadString; 4696 alias MapVirtualKeyA MapVirtualKey; | 4764 alias MapVirtualKeyA MapVirtualKey; 4697 alias MapVirtualKeyExA MapVirtualKeyEx; | 4765 alias MapVirtualKeyExA MapVirtualKeyEx; 4698 alias MessageBoxA MessageBox; | 4766 alias MessageBoxA MessageBox; 4699 alias MessageBoxExA MessageBoxEx; | 4767 alias MessageBoxExA MessageBoxEx; 4700 alias MessageBoxIndirectA MessageBoxIndirect; | 4768 alias MessageBoxIndirectA MessageBoxIndirect; 4701 alias ModifyMenuA ModifyMenu; | 4769 alias ModifyMenuA ModifyMenu; 4702 alias OemToCharA OemToChar; | 4770 alias OemToCharA OemToChar; 4703 alias OemToCharBuffA OemToCharBuff; | 4771 alias OemToCharBuffA OemToCharBuff; 4704 alias OpenDesktopA OpenDesktop; | 4772 alias OpenDesktopA OpenDesktop; 4705 alias OpenWindowStationA OpenWindowStation; | 4773 alias OpenWindowStationA OpenWindowStation; 4706 alias PeekMessageA PeekMessage; | 4774 alias PeekMessageA PeekMessage; 4707 alias PostMessageA PostMessage; | 4775 alias PostMessageA PostMessage; 4708 alias PostThreadMessageA PostThreadMessage; | 4776 alias PostThreadMessageA PostThreadMessage; 4709 alias RealGetWindowClassA RealGetWindowClass; | 4777 alias RealGetWindowClassA RealGetWindowClass; 4710 alias RegisterClassA RegisterClass; | 4778 alias RegisterClassA RegisterClass; 4711 alias RegisterClassExA RegisterClassEx; | 4779 alias RegisterClassExA RegisterClassEx; 4712 alias RegisterClipboardFormatA RegisterClipboardFormat; | 4780 alias RegisterClipboardFormatA RegisterClipboardFormat; 4713 static if (WINVER >= 0x500) { | 4781 static if (_WIN32_WINNT >= 0x500) { 4714 alias RegisterDeviceNotificationA RegisterDeviceNotification; | 4782 alias RegisterDeviceNotificationA RegisterDeviceNotification; 4715 } | 4783 } 4716 alias RegisterWindowMessageA RegisterWindowMessage; | 4784 alias RegisterWindowMessageA RegisterWindowMessage; 4717 alias RemovePropA RemoveProp; | 4785 alias RemovePropA RemoveProp; 4718 alias SendDlgItemMessageA SendDlgItemMessage; | 4786 alias SendDlgItemMessageA SendDlgItemMessage; 4719 alias SendMessageA SendMessage; | 4787 alias SendMessageA SendMessage; 4720 alias SendMessageCallbackA SendMessageCallback; | 4788 alias SendMessageCallbackA SendMessageCallback; 4721 alias SendMessageTimeoutA SendMessageTimeout; | 4789 alias SendMessageTimeoutA SendMessageTimeout; 4722 alias SendNotifyMessageA SendNotifyMessage; | 4790 alias SendNotifyMessageA SendNotifyMessage; 4723 alias SetClassLongA SetClassLong; | 4791 alias SetClassLongA SetClassLong; 4724 alias SetDlgItemTextA SetDlgItemText; | 4792 alias SetDlgItemTextA SetDlgItemText; 4725 alias SetMenuItemInfoA SetMenuItemInfo; | 4793 alias SetMenuItemInfoA SetMenuItemInfo; 4726 alias SetPropA SetProp; | 4794 alias SetPropA SetProp; 4727 alias SetUserObjectInformationA SetUserObjectInformation; | 4795 alias SetUserObjectInformationA SetUserObjectInformation; 4728 alias SetWindowLongA SetWindowLong; | 4796 alias SetWindowLongA SetWindowLong; 4729 alias SetWindowLongPtrA SetWindowLongPtr; | 4797 alias SetWindowLongPtrA SetWindowLongPtr; 4730 alias SetWindowsHookA SetWindowsHook; | 4798 alias SetWindowsHookA SetWindowsHook; 4731 alias SetWindowsHookExA SetWindowsHookEx; | 4799 alias SetWindowsHookExA SetWindowsHookEx; 4732 alias SetWindowTextA SetWindowText; | 4800 alias SetWindowTextA SetWindowText; 4733 alias SystemParametersInfoA SystemParametersInfo; | 4801 alias SystemParametersInfoA SystemParametersInfo; 4734 alias TabbedTextOutA TabbedTextOut; | 4802 alias TabbedTextOutA TabbedTextOut; 4735 alias TranslateAcceleratorA TranslateAccelerator; | 4803 alias TranslateAcceleratorA TranslateAccelerator; 4736 alias UnregisterClassA UnregisterClass; | 4804 alias UnregisterClassA UnregisterClass; 4737 alias VkKeyScanA VkKeyScan; | 4805 alias VkKeyScanA VkKeyScan; 4738 alias VkKeyScanExA VkKeyScanEx; | 4806 alias VkKeyScanExA VkKeyScanEx; 4739 alias WinHelpA WinHelp; | 4807 alias WinHelpA WinHelp; 4740 alias wsprintfA wsprintf; | 4808 alias wsprintfA wsprintf; 4741 alias wvsprintfA wvsprintf; | 4809 alias wvsprintfA wvsprintf; 4742 4810 4743 alias ChangeDisplaySettingsA ChangeDisplaySettings; | 4811 alias ChangeDisplaySettingsA ChangeDisplaySettings; 4744 alias ChangeDisplaySettingsExA ChangeDisplaySettingsEx; | 4812 alias ChangeDisplaySettingsExA ChangeDisplaySettingsEx; 4745 alias CreateDesktopA CreateDesktop; | 4813 alias CreateDesktopA CreateDesktop; 4746 alias EnumDisplaySettingsA EnumDisplaySettings; | 4814 alias EnumDisplaySettingsA EnumDisplaySettings; 4747 static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { | 4815 static if (_WIN32_WINNT >= 0x500) { 4748 alias EnumDisplaySettingsExA EnumDisplaySettingsEx; | 4816 alias EnumDisplaySettingsExA EnumDisplaySettingsEx; 4749 } | 4817 } 4750 alias EnumDisplayDevicesA EnumDisplayDevices; 4818 alias EnumDisplayDevicesA EnumDisplayDevices; 4751 } 4819 } 4752 < 4753 4820 4754 alias WNDCLASS* LPWNDCLASS, PWNDCLASS; 4821 alias WNDCLASS* LPWNDCLASS, PWNDCLASS; 4755 alias WNDCLASSEX* LPWNDCLASSEX, PWNDCLASSEX; 4822 alias WNDCLASSEX* LPWNDCLASSEX, PWNDCLASSEX; 4756 alias MENUITEMINFO* LPMENUITEMINFO; 4823 alias MENUITEMINFO* LPMENUITEMINFO; 4757 alias MSGBOXPARAMS* PMSGBOXPARAMS, LPMSGBOXPARAMS; 4824 alias MSGBOXPARAMS* PMSGBOXPARAMS, LPMSGBOXPARAMS; 4758 alias HIGHCONTRAST* LPHIGHCONTRAST; 4825 alias HIGHCONTRAST* LPHIGHCONTRAST; 4759 alias SERIALKEYS* LPSERIALKEYS; 4826 alias SERIALKEYS* LPSERIALKEYS;

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

5 * * 5 * * 6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers * 7 * by Stewart Gordon * 7 * by Stewart Gordon * 8 * * 8 * * 9 * Placed into public domain * 9 * Placed into public domain * 10 \***********************************************************************/ 10 \***********************************************************************/ 11 module win32.winver; 11 module win32.winver; > 12 pragma(lib, "version"); 12 13 13 private import win32.windef; 14 private import win32.windef; 14 15 15 // FIXME: type weirdness 16 // FIXME: type weirdness 16 enum { 17 enum { 17 VS_FILE_INFO = 16, 18 VS_FILE_INFO = 16, 18 VS_VERSION_INFO = 1, 19 VS_VERSION_INFO = 1,

Modified src/win32/ws2tcpip.d from [8a3ffcdad49f7276] to [cfbc35c30c15b219].

219 size_t ai_addrlen; 219 size_t ai_addrlen; 220 char* ai_canonname; 220 char* ai_canonname; 221 SOCKADDR* ai_addr; 221 SOCKADDR* ai_addr; 222 addrinfo* ai_next; 222 addrinfo* ai_next; 223 } 223 } 224 224 225 extern(Windows) { 225 extern(Windows) { 226 static if (_WIN32_WINNT >= 0x0501) { | 226 static if (_WIN32_WINNT >= 0x501) { 227 void freeaddrinfo(addrinfo*); 227 void freeaddrinfo(addrinfo*); 228 int getaddrinfo (CPtr!(char), CPtr!(char), CPtr!(addrinfo), addr | 228 int getaddrinfo (const(char)*, const(char)*, const(addrinfo)*, a 229 int getnameinfo(CPtr!(SOCKADDR), socklen_t, char*, DWORD, char*, | 229 int getnameinfo(const(SOCKADDR)*, socklen_t, char*, DWORD, char* 230 } 230 } 231 } 231 } 232 232 233 /+ TODO 233 /+ TODO 234 static __inline char* 234 static __inline char* 235 gai_strerrorA(int ecode) 235 gai_strerrorA(int ecode) 236 { 236 { 237 static char message[1024+1]; | 237 static char[1024+1] message; 238 DWORD dwFlags = FORMAT_MESSAGE_FROM_SYSTEM 238 DWORD dwFlags = FORMAT_MESSAGE_FROM_SYSTEM 239 | FORMAT_MESSAGE_IGNORE_INSERTS 239 | FORMAT_MESSAGE_IGNORE_INSERTS 240 | FORMAT_MESSAGE_MAX_WIDTH_MASK; 240 | FORMAT_MESSAGE_MAX_WIDTH_MASK; 241 DWORD dwLanguageId = MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT); 241 DWORD dwLanguageId = MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT); 242 FormatMessageA(dwFlags, NULL, ecode, dwLanguageId, (LPSTR)message, 1024, 242 FormatMessageA(dwFlags, NULL, ecode, dwLanguageId, (LPSTR)message, 1024, 243 return message; 243 return message; 244 } 244 } 245 static __inline WCHAR* 245 static __inline WCHAR* 246 gai_strerrorW(int ecode) 246 gai_strerrorW(int ecode) 247 { 247 { 248 static WCHAR message[1024+1]; | 248 static WCHAR[1024+1] message; 249 DWORD dwFlags = FORMAT_MESSAGE_FROM_SYSTEM 249 DWORD dwFlags = FORMAT_MESSAGE_FROM_SYSTEM 250 | FORMAT_MESSAGE_IGNORE_INSERTS 250 | FORMAT_MESSAGE_IGNORE_INSERTS 251 | FORMAT_MESSAGE_MAX_WIDTH_MASK; 251 | FORMAT_MESSAGE_MAX_WIDTH_MASK; 252 DWORD dwLanguageId = MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT); 252 DWORD dwLanguageId = MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT); 253 FormatMessageW(dwFlags, NULL, ecode, dwLanguageId, (LPWSTR)message, 1024 253 FormatMessageW(dwFlags, NULL, ecode, dwLanguageId, (LPWSTR)message, 1024 254 return message; 254 return message; 255 } 255 } ................................................................................................................................................................................ 261 +/ 261 +/ 262 262 263 extern(Windows) { 263 extern(Windows) { 264 INT getnameinfo(SOCKADDR* pSockaddr, socklen_t SockaddrLength, 264 INT getnameinfo(SOCKADDR* pSockaddr, socklen_t SockaddrLength, 265 PCHAR pNodeBuffer, DWORD NodeBufferSize, PCHAR pServiceBuffer, 265 PCHAR pNodeBuffer, DWORD NodeBufferSize, PCHAR pServiceBuffer, 266 DWORD ServiceBufferSize, INT Flags); 266 DWORD ServiceBufferSize, INT Flags); 267 267 268 static if (_WIN32_WINNT >= 0x0502) { | 268 static if (_WIN32_WINNT >= 0x502) { 269 INT GetNameInfoW(SOCKADDR* pSockaddr, socklen_t SockaddrLength, 269 INT GetNameInfoW(SOCKADDR* pSockaddr, socklen_t SockaddrLength, 270 PWCHAR pNodeBuffer, DWORD NodeBufferSize, PWCHAR pServic 270 PWCHAR pNodeBuffer, DWORD NodeBufferSize, PWCHAR pServic 271 DWORD ServiceBufferSize, INT Flags); 271 DWORD ServiceBufferSize, INT Flags); 272 272 273 alias getnameinfo GetNameInfoA; 273 alias getnameinfo GetNameInfoA; 274 274 275 version(Unicode) { 275 version(Unicode) { 276 alias GetNameInfoW GetNameInfo; 276 alias GetNameInfoW GetNameInfo; 277 } else { 277 } else { 278 alias GetNameInfoA GetNameInfo; 278 alias GetNameInfoA GetNameInfo; 279 } 279 } 280 } 280 } 281 } 281 }

Added src/win32/wtsapi32.d version [fa6f54ec493591ee]

> 1 /***********************************************************************\ > 2 * wtsapi32.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Translated from MinGW-w64 API * > 7 * * > 8 * Placed into public domain * > 9 \***********************************************************************/ > 10 module win32.wtsapi32; > 11 pragma(lib, "wtsapi32"); > 12 private import win32.w32api; > 13 import win32.windef; > 14 > 15 enum { > 16 WTS_CURRENT_SERVER = null, > 17 WTS_CURRENT_SERVER_HANDLE = null, > 18 WTS_CURRENT_SERVER_NAME = null > 19 } > 20 > 21 enum DWORD WTS_CURRENT_SESSION = cast(DWORD) -1; > 22 > 23 enum { > 24 IDTIMEOUT = 32000, > 25 IDASYNC = 32001 > 26 } > 27 > 28 enum { > 29 WTS_WSD_LOGOFF = 0x01, > 30 WTS_WSD_SHUTDOWN = 0x02, > 31 WTS_WSD_REBOOT = 0x04, > 32 WTS_WSD_POWEROFF = 0x08, > 33 WTS_WSD_FASTREBOOT = 0x10 > 34 } > 35 > 36 enum WTS_CONNECTSTATE_CLASS { > 37 WTSActive, > 38 WTSConnected, > 39 WTSConnectQuery, > 40 WTSShadow, > 41 WTSDisconnected, > 42 WTSIdle, > 43 WTSListen, > 44 WTSReset, > 45 WTSDown, > 46 WTSInit > 47 } > 48 > 49 struct WTS_SERVER_INFOW { > 50 LPWSTR pServerName; > 51 } > 52 alias WTS_SERVER_INFOW* PWTS_SERVER_INFOW; > 53 > 54 struct WTS_SERVER_INFOA { > 55 LPSTR pServerName; > 56 } > 57 alias WTS_SERVER_INFOA* PWTS_SERVER_INFOA; > 58 > 59 version(Unicode) { > 60 alias WTS_SERVER_INFOW WTS_SERVER_INFO; > 61 alias PWTS_SERVER_INFOW PWTS_SERVER_INFO; > 62 } else { > 63 alias WTS_SERVER_INFOA WTS_SERVER_INFO; > 64 alias PWTS_SERVER_INFOA PWTS_SERVER_INFO; > 65 } > 66 > 67 struct WTS_SESSION_INFOW { > 68 DWORD SessionId; > 69 LPWSTR pWinStationName; > 70 WTS_CONNECTSTATE_CLASS State; > 71 } > 72 alias WTS_SESSION_INFOW* PWTS_SESSION_INFOW; > 73 > 74 struct WTS_SESSION_INFOA { > 75 DWORD SessionId; > 76 LPSTR pWinStationName; > 77 WTS_CONNECTSTATE_CLASS State; > 78 } > 79 alias WTS_SESSION_INFOA* PWTS_SESSION_INFOA; > 80 > 81 version(Unicode) { > 82 alias WTS_SESSION_INFOW WTS_SESSION_INFO; > 83 alias PWTS_SESSION_INFOW PWTS_SESSION_INFO; > 84 } else { > 85 alias WTS_SESSION_INFOA WTS_SESSION_INFO; > 86 alias PWTS_SESSION_INFOA PWTS_SESSION_INFO; > 87 } > 88 > 89 struct WTS_PROCESS_INFOW { > 90 DWORD SessionId; > 91 DWORD ProcessId; > 92 LPWSTR pProcessName; > 93 PSID pUserSid; > 94 } > 95 alias WTS_PROCESS_INFOW* PWTS_PROCESS_INFOW; > 96 > 97 struct WTS_PROCESS_INFOA { > 98 DWORD SessionId; > 99 DWORD ProcessId; > 100 LPSTR pProcessName; > 101 PSID pUserSid; > 102 } > 103 alias WTS_PROCESS_INFOA* PWTS_PROCESS_INFOA; > 104 > 105 version(Unicode) { > 106 alias WTS_PROCESS_INFOW WTS_PROCESS_INFO; > 107 alias PWTS_PROCESS_INFOW PWTS_PROCESS_INFO; > 108 } else { > 109 alias WTS_PROCESS_INFOA WTS_PROCESS_INFO; > 110 alias PWTS_PROCESS_INFOA PWTS_PROCESS_INFO; > 111 } > 112 > 113 enum { > 114 WTS_PROTOCOL_TYPE_CONSOLE, > 115 WTS_PROTOCOL_TYPE_ICA, > 116 WTS_PROTOCOL_TYPE_RDP > 117 } > 118 > 119 enum WTS_INFO_CLASS { > 120 WTSInitialProgram, > 121 WTSApplicationName, > 122 WTSWorkingDirectory, > 123 WTSOEMId, > 124 WTSSessionId, > 125 WTSUserName, > 126 WTSWinStationName, > 127 WTSDomainName, > 128 WTSConnectState, > 129 WTSClientBuildNumber, > 130 WTSClientName, > 131 WTSClientDirectory, > 132 WTSClientProductId, > 133 WTSClientHardwareId, > 134 WTSClientAddress, > 135 WTSClientDisplay, > 136 WTSClientProtocolType, > 137 WTSIdleTime, > 138 WTSLogonTime, > 139 WTSIncomingBytes, > 140 WTSOutgoingBytes, > 141 WTSIncomingFrames, > 142 WTSOutgoingFrames, > 143 WTSClientInfo, > 144 WTSSessionInfo, // = 24 > 145 } > 146 > 147 struct WTS_CLIENT_ADDRESS { > 148 DWORD AddressFamily; > 149 BYTE[20] Address; > 150 } > 151 alias WTS_CLIENT_ADDRESS* PWTS_CLIENT_ADDRESS; > 152 > 153 struct WTS_CLIENT_DISPLAY { > 154 DWORD HorizontalResolution; > 155 DWORD VerticalResolution; > 156 DWORD ColorDepth; > 157 } > 158 alias WTS_CLIENT_DISPLAY* PWTS_CLIENT_DISPLAY; > 159 > 160 enum WTS_CONFIG_CLASS { > 161 WTSUserConfigInitialProgram, > 162 WTSUserConfigWorkingDirectory, > 163 WTSUserConfigfInheritInitialProgram, > 164 WTSUserConfigfAllowLogonTerminalServer, > 165 WTSUserConfigTimeoutSettingsConnections, > 166 WTSUserConfigTimeoutSettingsDisconnections, > 167 WTSUserConfigTimeoutSettingsIdle, > 168 WTSUserConfigfDeviceClientDrives, > 169 WTSUserConfigfDeviceClientPrinters, > 170 WTSUserConfigfDeviceClientDefaultPrinter, > 171 WTSUserConfigBrokenTimeoutSettings, > 172 WTSUserConfigReconnectSettings, > 173 WTSUserConfigModemCallbackSettings, > 174 WTSUserConfigModemCallbackPhoneNumber, > 175 WTSUserConfigShadowingSettings, > 176 WTSUserConfigTerminalServerProfilePath, > 177 WTSUserConfigTerminalServerHomeDir, > 178 WTSUserConfigTerminalServerHomeDirDrive, > 179 WTSUserConfigfTerminalServerRemoteHomeDir > 180 } > 181 > 182 enum { > 183 WTS_EVENT_NONE = 0x0, > 184 WTS_EVENT_CREATE = 0x1, > 185 WTS_EVENT_DELETE = 0x2, > 186 WTS_EVENT_RENAME = 0x4, > 187 WTS_EVENT_CONNECT = 0x8, > 188 WTS_EVENT_DISCONNECT = 0x10, > 189 WTS_EVENT_LOGON = 0x20, > 190 WTS_EVENT_LOGOFF = 0x40, > 191 WTS_EVENT_STATECHANGE = 0x80, > 192 WTS_EVENT_LICENSE = 0x100, > 193 WTS_EVENT_ALL = 0x7fffffff, > 194 WTS_EVENT_FLUSH = 0x80000000 > 195 } > 196 > 197 enum WTS_VIRTUAL_CLASS { > 198 WTSVirtualClientData, > 199 WTSVirtualFileHandle > 200 } > 201 > 202 version(Unicode) { > 203 alias WTSEnumerateServersW WTSEnumerateServers; > 204 alias WTSOpenServerW WTSOpenServer; > 205 alias WTSEnumerateSessionsW WTSEnumerateSessions; > 206 alias WTSEnumerateProcessesW WTSEnumerateProcesses; > 207 alias WTSQuerySessionInformationW WTSQuerySessionInformation; > 208 alias WTSQueryUserConfigW WTSQueryUserConfig; > 209 alias WTSSetUserConfigW WTSSetUserConfig; > 210 alias WTSSendMessageW WTSSendMessage; > 211 } else { > 212 alias WTSEnumerateServersA WTSEnumerateServers; > 213 alias WTSOpenServerA WTSOpenServer; > 214 alias WTSEnumerateSessionsA WTSEnumerateSessions; > 215 alias WTSEnumerateProcessesA WTSEnumerateProcesses; > 216 alias WTSQuerySessionInformationA WTSQuerySessionInformation; > 217 alias WTSQueryUserConfigA WTSQueryUserConfig; > 218 alias WTSSetUserConfigA WTSSetUserConfig; > 219 alias WTSSendMessageA WTSSendMessage; > 220 } > 221 > 222 extern(Windows) { > 223 WINBOOL WTSEnumerateServersW(LPWSTR pDomainName, DWORD Reserved, DWORD V > 224 WINBOOL WTSEnumerateServersA(LPSTR pDomainName, DWORD Reserved, DWORD Ve > 225 HANDLE WTSOpenServerW(LPWSTR pServerName); > 226 HANDLE WTSOpenServerA(LPSTR pServerName); > 227 VOID WTSCloseServer(HANDLE hServer); > 228 WINBOOL WTSEnumerateSessionsW(HANDLE hServer, DWORD Reserved, DWORD Vers > 229 WINBOOL WTSEnumerateSessionsA(HANDLE hServer, DWORD Reserved, DWORD Vers > 230 WINBOOL WTSEnumerateProcessesW(HANDLE hServer, DWORD Reserved, DWORD Ver > 231 WINBOOL WTSEnumerateProcessesA(HANDLE hServer, DWORD Reserved, DWORD Ver > 232 WINBOOL WTSTerminateProcess(HANDLE hServer, DWORD ProcessId, DWORD ExitC > 233 WINBOOL WTSQuerySessionInformationW(HANDLE hServer, DWORD SessionId, WTS > 234 WINBOOL WTSQuerySessionInformationA(HANDLE hServer, DWORD SessionId, WTS > 235 WINBOOL WTSQueryUserConfigW(LPWSTR pServerName, LPWSTR pUserName, WTS_CO > 236 WINBOOL WTSQueryUserConfigA(LPSTR pServerName, LPSTR pUserName, WTS_CONF > 237 WINBOOL WTSSetUserConfigW(LPWSTR pServerName, LPWSTR pUserName, WTS_CONF > 238 WINBOOL WTSSetUserConfigA(LPSTR pServerName, LPSTR pUserName, WTS_CONFIG > 239 WINBOOL WTSSendMessageW(HANDLE hServer, DWORD SessionId, LPWSTR pTitle, > 240 WINBOOL WTSSendMessageA(HANDLE hServer, DWORD SessionId, LPSTR pTitle, D > 241 WINBOOL WTSDisconnectSession(HANDLE hServer, DWORD SessionId, WINBOOL bW > 242 WINBOOL WTSLogoffSession(HANDLE hServer, DWORD SessionId, WINBOOL bWait) > 243 WINBOOL WTSShutdownSystem(HANDLE hServer, DWORD ShutdownFlag); > 244 WINBOOL WTSWaitSystemEvent(HANDLE hServer, DWORD EventMask, DWORD* pEven > 245 HANDLE WTSVirtualChannelOpen(HANDLE hServer, DWORD SessionId, LPSTR pVir > 246 WINBOOL WTSVirtualChannelClose(HANDLE hChannelHandle); > 247 WINBOOL WTSVirtualChannelRead(HANDLE hChannelHandle, ULONG TimeOut, PCHA > 248 WINBOOL WTSVirtualChannelWrite(HANDLE hChannelHandle, PCHAR Buffer, ULON > 249 WINBOOL WTSVirtualChannelPurgeInput(HANDLE hChannelHandle); > 250 WINBOOL WTSVirtualChannelPurgeOutput(HANDLE hChannelHandle); > 251 WINBOOL WTSVirtualChannelQuery(HANDLE hChannelHandle, WTS_VIRTUAL_CLASS, > 252 VOID WTSFreeMemory(PVOID pMemory); > 253 > 254 WINBOOL WTSRegisterSessionNotification(HWND hWnd, DWORD dwFlags); > 255 WINBOOL WTSUnRegisterSessionNotification(HWND hWnd); > 256 WINBOOL WTSQueryUserToken(ULONG SessionId, PHANDLE phToken); > 257 } > 258 > 259 enum { > 260 NOTIFY_FOR_ALL_SESSIONS = 1, > 261 NOTIFY_FOR_THIS_SESSION = 0 > 262 } > 263 > 264 enum { > 265 USERNAME_LENGTH = 20, > 266 CLIENTNAME_LENGTH = 20, > 267 CLIENTADDRESS_LENGTH = 30, > 268 WINSTATIONNAME_LENGTH = 32, > 269 DOMAIN_LENGTH = 17 > 270 } > 271 > 272 static if (_WIN32_WINNT >= 0x600) { > 273 struct WTSCLIENTW { > 274 WCHAR ClientName[CLIENTNAME_LENGTH + 1]; > 275 WCHAR Domain[DOMAIN_LENGTH + 1]; > 276 WCHAR UserName[USERNAME_LENGTH + 1]; > 277 WCHAR WorkDirectory[MAX_PATH + 1]; > 278 WCHAR InitialProgram[MAX_PATH + 1]; > 279 BYTE EncryptionLevel; > 280 ULONG ClientAddressFamily; > 281 USHORT ClientAddress[CLIENTADDRESS_LENGTH + 1]; > 282 USHORT HRes; > 283 USHORT VRes; > 284 USHORT ColorDepth; > 285 WCHAR ClientDirectory[MAX_PATH + 1]; > 286 ULONG ClientBuildNumber; > 287 ULONG ClientHardwareId; > 288 USHORT ClientProductId; > 289 USHORT OutBufCountHost; > 290 USHORT OutBufCountClient; > 291 USHORT OutBufLength; > 292 WCHAR DeviceId[MAX_PATH + 1]; > 293 } > 294 alias WTSCLIENTW* PWTSCLIENTW; > 295 > 296 struct WTSCLIENTA { > 297 CHAR ClientName[CLIENTNAME_LENGTH + 1]; > 298 CHAR Domain[DOMAIN_LENGTH + 1 ]; > 299 CHAR UserName[USERNAME_LENGTH + 1]; > 300 CHAR WorkDirectory[MAX_PATH + 1]; > 301 CHAR InitialProgram[MAX_PATH + 1]; > 302 BYTE EncryptionLevel; > 303 ULONG ClientAddressFamily; > 304 USHORT ClientAddress[CLIENTADDRESS_LENGTH + 1]; > 305 USHORT HRes; > 306 USHORT VRes; > 307 USHORT ColorDepth; > 308 CHAR ClientDirectory[MAX_PATH + 1]; > 309 ULONG ClientBuildNumber; > 310 ULONG ClientHardwareId; > 311 USHORT ClientProductId; > 312 USHORT OutBufCountHost; > 313 USHORT OutBufCountClient; > 314 USHORT OutBufLength; > 315 CHAR DeviceId[MAX_PATH + 1]; > 316 } > 317 alias WTSCLIENTA* PWTSCLIENTA; > 318 > 319 version(Unicode) { > 320 alias WTSCLIENTW WTSCLIENT; > 321 alias PWTSCLIENTW PWTSCLIENT; > 322 } else { > 323 alias WTSCLIENTA WTSCLIENT; > 324 alias PWTSCLIENTA PWTSCLIENT; > 325 } > 326 > 327 struct WTSINFOW { > 328 WTS_CONNECTSTATE_CLASS State; > 329 DWORD SessionId; > 330 DWORD IncomingBytes; > 331 DWORD OutgoingBytes; > 332 DWORD IncomingCompressedBytes; > 333 DWORD OutgoingCompressedBytes; > 334 WCHAR WinStationName[WINSTATIONNAME_LENGTH]; > 335 WCHAR Domain[DOMAIN_LENGTH]; > 336 WCHAR UserName[USERNAME_LENGTH+1]; > 337 LARGE_INTEGER ConnectTime; > 338 LARGE_INTEGER DisconnectTime; > 339 LARGE_INTEGER LastInputTime; > 340 LARGE_INTEGER LogonTime; > 341 LARGE_INTEGER CurrentTime; > 342 } > 343 alias WTSINFOW* PWTSINFOW; > 344 > 345 struct WTSINFOA { > 346 WTS_CONNECTSTATE_CLASS State; > 347 DWORD SessionId; > 348 DWORD IncomingBytes; > 349 DWORD OutgoingBytes; > 350 DWORD IncomingCompressedBytes; > 351 DWORD OutgoingCompressedBytes; > 352 CHAR WinStationName[WINSTATIONNAME_LENGTH]; > 353 CHAR Domain[DOMAIN_LENGTH]; > 354 CHAR UserName[USERNAME_LENGTH+1]; > 355 LARGE_INTEGER ConnectTime; > 356 LARGE_INTEGER DisconnectTime; > 357 LARGE_INTEGER LastInputTime; > 358 LARGE_INTEGER LogonTime; > 359 LARGE_INTEGER CurrentTime; > 360 } > 361 alias WTSINFOA* PWTSINFOA; > 362 > 363 version(Unicode) { > 364 alias WTSINFOW WTSINFO; > 365 alias PWTSINFOW PWTSINFO; > 366 } else { > 367 alias WTSINFOA WTSINFO; > 368 alias PWTSINFOA PWTSINFO; > 369 } > 370 > 371 extern(Windows) { > 372 WINBOOL WTSConnectSessionA( > 373 ULONG LogonId, > 374 ULONG TargetLogonId, > 375 PSTR pPassword, > 376 WINBOOL bWait > 377 ); > 378 > 379 WINBOOL WTSConnectSessionW( > 380 ULONG LogonId, > 381 ULONG TargetLogonId, > 382 PWSTR pPassword, > 383 WINBOOL bWait > 384 ); > 385 > 386 WINBOOL WTSRegisterSessionNotificationEx( > 387 HANDLE hServer, > 388 HWND hWnd, > 389 DWORD dwFlags > 390 ); > 391 > 392 WINBOOL WTSStartRemoteControlSessionA( > 393 LPSTR pTargetServerName, > 394 ULONG TargetLogonId, > 395 BYTE HotkeyVk, > 396 USHORT HotkeyModifiers > 397 ); > 398 > 399 WINBOOL WTSStartRemoteControlSessionW( > 400 LPWSTR pTargetServerName, > 401 ULONG TargetLogonId, > 402 BYTE HotkeyVk, > 403 USHORT HotkeyModifiers > 404 ); > 405 > 406 version(Unicode) { > 407 alias WTSStartRemoteControlSessionW WTSStartRemoteContro > 408 alias WTSConnectSessionW WTSConnectSession; > 409 } else { > 410 alias WTSStartRemoteControlSessionA WTSStartRemoteContro > 411 alias WTSConnectSessionA WTSConnectSession; > 412 } > 413 > 414 WINBOOL WTSStopRemoteControlSession( > 415 ULONG LogonId > 416 ); > 417 > 418 WINBOOL WTSUnRegisterSessionNotificationEx( > 419 HANDLE hServer, > 420 HWND hWnd > 421 ); > 422 > 423 HANDLE WTSVirtualChannelOpenEx( > 424 DWORD SessionId, > 425 LPSTR pVirtualName, > 426 DWORD flags > 427 ); > 428 } /* extern(Windows) */ > 429 } /* static if (_WIN32_WINNT >= 0x600) */

Modified src/win32/wtypes.d from [aa198bc3f64df113] to [9514097d3d6522ba].

72 MSHLFLAGS_TABLESTRONG, 72 MSHLFLAGS_TABLESTRONG, 73 MSHLFLAGS_TABLEWEAK 73 MSHLFLAGS_TABLEWEAK 74 } 74 } 75 75 76 struct FLAGGED_WORD_BLOB { 76 struct FLAGGED_WORD_BLOB { 77 uint fFlags; 77 uint fFlags; 78 uint clSize; 78 uint clSize; 79 ushort asData[1]; | 79 ushort[1] asData; 80 } 80 } 81 81 82 alias WCHAR OLECHAR; 82 alias WCHAR OLECHAR; 83 alias LPWSTR LPOLESTR; 83 alias LPWSTR LPOLESTR; 84 alias LPCWSTR LPCOLESTR; 84 alias LPCWSTR LPCOLESTR; 85 85 86 alias ushort VARTYPE; 86 alias ushort VARTYPE; ................................................................................................................................................................................ 89 const VARIANT_BOOL VARIANT_TRUE = -1; // 0xffff; 89 const VARIANT_BOOL VARIANT_TRUE = -1; // 0xffff; 90 const VARIANT_BOOL VARIANT_FALSE = 0; 90 const VARIANT_BOOL VARIANT_FALSE = 0; 91 91 92 alias OLECHAR* BSTR; 92 alias OLECHAR* BSTR; 93 alias FLAGGED_WORD_BLOB* wireBSTR; 93 alias FLAGGED_WORD_BLOB* wireBSTR; 94 alias BSTR* LPBSTR; 94 alias BSTR* LPBSTR; 95 //alias LONG SCODE; // also in winerror 95 //alias LONG SCODE; // also in winerror > 96 mixin DECLARE_HANDLE!("HCONTEXT"); 96 alias HANDLE HCONTEXT, HMETAFILEPICT; | 97 mixin DECLARE_HANDLE!("HMETAFILEPICT"); 97 98 98 union CY { 99 union CY { 99 struct { 100 struct { 100 uint Lo; 101 uint Lo; 101 int Hi; 102 int Hi; 102 } 103 } 103 LONGLONG int64; 104 LONGLONG int64; ................................................................................................................................................................................ 210 211 211 struct DECIMAL { 212 struct DECIMAL { 212 USHORT wReserved; 213 USHORT wReserved; 213 union { 214 union { 214 struct { 215 struct { 215 ubyte scale; // valid values are 0 to 28 216 ubyte scale; // valid values are 0 to 28 216 ubyte sign; // 0 for positive, DECIMAL_NEG for negatives 217 ubyte sign; // 0 for positive, DECIMAL_NEG for negatives 217 ubyte DECIMAL_NEG = 0x80; | 218 enum ubyte DECIMAL_NEG = 0x80; 218 } 219 } 219 USHORT signscale; 220 USHORT signscale; 220 } 221 } 221 ULONG Hi32; 222 ULONG Hi32; 222 union { 223 union { 223 struct { 224 struct { 224 ULONG Lo32; 225 ULONG Lo32;

Modified src/windll.d from [bbb6d5827e2268a2] to [6b2f129d530b6aee].

> 1 サソimport core.runtime; 1 サソimport win32.windows; | 2 import win32.windows; 2 import std.string; 3 import std.string; 3 4 4 class WinDLLException : Exception 5 class WinDLLException : Exception 5 { 6 { 6 private this( string msg ) { super(msg); } 7 private this( string msg ) { super(msg); } 7 } 8 } 8 9 9 class WinDLL 10 class WinDLL 10 { 11 { 11 // constructor: 12 // constructor: 12 // Load a DLL with specified name | 13 // Load a DLL of specified name. > 14 // Avoid loading the DLL from the current directory for security. 13 15 14 this( string dllname ) 16 this( string dllname ) 15 { 17 { 16 char original_cur[MAX_PATH]; 18 char original_cur[MAX_PATH]; 17 char sys[MAX_PATH]; 19 char sys[MAX_PATH]; 18 GetCurrentDirectoryA(MAX_PATH, original_cur.ptr); | 20 GetCurrentDirectoryA(original_cur.length, original_cur.ptr); 19 GetSystemDirectoryA(sys.ptr, MAX_PATH); | 21 GetSystemDirectoryA(sys.ptr, sys.length); 20 SetCurrentDirectoryA(sys.ptr); 22 SetCurrentDirectoryA(sys.ptr); 21 handle = LoadLibraryA( dllname.ptr ); | 23 handle = cast(HINSTANCE) Runtime.loadLibrary(dllname); 22 SetCurrentDirectoryA(original_cur.ptr); 24 SetCurrentDirectoryA(original_cur.ptr); 23 if( handle is null ) 25 if( handle is null ) 24 throw new WinDLLException( dllname ~ " not found" ); 26 throw new WinDLLException( dllname ~ " not found" ); 25 } 27 } 26 28 27 static WinDLL load( string name ) 29 static WinDLL load( string name ) 28 { 30 { ................................................................................................................................................................................ 34 // close: 36 // close: 35 // free the DLL 37 // free the DLL 36 38 37 void close() 39 void close() 38 { 40 { 39 if( handle ) 41 if( handle ) 40 { 42 { 41 FreeLibrary( handle ); | 43 Runtime.unloadLibrary(handle); 42 handle = null; 44 handle = null; 43 } 45 } 44 } 46 } 45 47 46 // get_api: 48 // get_api: 47 // extract a function with specified name from the DLL. 49 // extract a function with specified name from the DLL. 48 // may return null. 50 // may return null. ................................................................................................................................................................................ 56 return cast(FnT) GetProcAddress( handle, apiname 58 return cast(FnT) GetProcAddress( handle, apiname 57 } 59 } 58 } 60 } 59 61 60 // load_resource: 62 // load_resource: 61 // extract a resource 63 // extract a resource 62 64 63 void* load_resource( string resname, char* type ) | 65 void* load_resource( string resname, const char* type ) 64 in { assert(handle); } 66 in { assert(handle); } 65 body 67 body 66 { 68 { > 69 if(resname in rsrc_map) > 70 return rsrc_map[resname]; > 71 67 HRSRC hi = FindResource( handle, resname.toStringz(), ty 72 HRSRC hi = FindResource( handle, resname.toStringz(), ty 68 if( hi is null ) 73 if( hi is null ) 69 return null; 74 return null; 70 HGLOBAL hr = LoadResource( handle, hi ); 75 HGLOBAL hr = LoadResource( handle, hi ); 71 if( hr is null ) 76 if( hr is null ) 72 return null; 77 return null; 73 return LockResource( hr ); | 78 void* v = LockResource( hr ); > 79 rsrc_map[resname] = v; > 80 return v; 74 } 81 } 75 82 76 // load_diaglog: 83 // load_diaglog: 77 // specialized version of load_resource 84 // specialized version of load_resource 78 85 79 void* load_dialog( string resname ) 86 void* load_dialog( string resname ) 80 { 87 { 81 return load_resource( resname, RT_DIALOG ); 88 return load_resource( resname, RT_DIALOG ); 82 } 89 } 83 90 84 private HINSTANCE handle; 91 private HINSTANCE handle; > 92 private void*[string] rsrc_map; 85 } 93 }