comparison dwt/dnd/URLTransfer.d @ 237:e2affbeb686d

Making tango.sys.win32.Types and dwt.internal.win32.WINTYPES to match common declaration. Make ansi charactars of type ubyte.
author Frank Benoit <benoit@tionex.de>
date Thu, 19 Jun 2008 03:25:36 +0200
parents 36f5cb12e1a2
children fd9c62a2998e
comparison
equal deleted inserted replaced
236:9c1bb90eba13 237:e2affbeb686d
88 if (cchMultiByte is 0) { 88 if (cchMultiByte is 0) {
89 transferData.stgmedium = new STGMEDIUM(); 89 transferData.stgmedium = new STGMEDIUM();
90 transferData.result = COM.DV_E_STGMEDIUM; 90 transferData.result = COM.DV_E_STGMEDIUM;
91 return; 91 return;
92 } 92 }
93 auto lpMultiByteStr = cast(char*)OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, cchMultiByte); 93 auto lpMultiByteStr = cast(CHAR*)OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, cchMultiByte);
94 OS.WideCharToMultiByte(codePage, 0, chars.ptr, -1, lpMultiByteStr, cchMultiByte, null, null); 94 OS.WideCharToMultiByte(codePage, 0, chars.ptr, -1, lpMultiByteStr, cchMultiByte, null, null);
95 transferData.stgmedium = new STGMEDIUM(); 95 transferData.stgmedium = new STGMEDIUM();
96 transferData.stgmedium.tymed = COM.TYMED_HGLOBAL; 96 transferData.stgmedium.tymed = COM.TYMED_HGLOBAL;
97 transferData.stgmedium.unionField = lpMultiByteStr; 97 transferData.stgmedium.unionField = lpMultiByteStr;
98 transferData.stgmedium.pUnkForRelease = null; 98 transferData.stgmedium.pUnkForRelease = null;
120 transferData.result = data.GetData(formatetc, stgmedium); 120 transferData.result = data.GetData(formatetc, stgmedium);
121 data.Release(); 121 data.Release();
122 if (transferData.result !is COM.S_OK) return null; 122 if (transferData.result !is COM.S_OK) return null;
123 auto hMem = stgmedium.unionField; 123 auto hMem = stgmedium.unionField;
124 try { 124 try {
125 auto lpMultiByteStr = cast(char*)OS.GlobalLock(hMem); 125 auto lpMultiByteStr = cast(CHAR*)OS.GlobalLock(hMem);
126 if (lpMultiByteStr is null) return null; 126 if (lpMultiByteStr is null) return null;
127 try { 127 try {
128 int codePage = OS.GetACP(); 128 int codePage = OS.GetACP();
129 int cchWideChar = OS.MultiByteToWideChar (codePage, OS.MB_PRECOMPOSED, lpMultiByteStr, -1, null, 0); 129 int cchWideChar = OS.MultiByteToWideChar (codePage, OS.MB_PRECOMPOSED, lpMultiByteStr, -1, null, 0);
130 if (cchWideChar is 0) return null; 130 if (cchWideChar is 0) return null;