comparison dwt/dnd/HTMLTransfer.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
130 buffer.append(string); 130 buffer.append(string);
131 buffer.append(SUFFIX); 131 buffer.append(SUFFIX);
132 132
133 auto wstrz = StrToTCHARz(OS.CP_UTF8,buffer.toString); 133 auto wstrz = StrToTCHARz(OS.CP_UTF8,buffer.toString);
134 cchMultiByte = OS.WideCharToMultiByte(OS.CP_UTF8, 0, wstrz, -1, null, 0, null, null); 134 cchMultiByte = OS.WideCharToMultiByte(OS.CP_UTF8, 0, wstrz, -1, null, 0, null, null);
135 auto lpMultiByteStr = cast(char*) OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, cchMultiByte); 135 auto lpMultiByteStr = cast(CHAR*) OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, cchMultiByte);
136 OS.WideCharToMultiByte(OS.CP_UTF8, 0, wstrz, -1, lpMultiByteStr, cchMultiByte, null, null); 136 OS.WideCharToMultiByte(OS.CP_UTF8, 0, wstrz, -1, lpMultiByteStr, cchMultiByte, null, null);
137 transferData.stgmedium = new STGMEDIUM(); 137 transferData.stgmedium = new STGMEDIUM();
138 transferData.stgmedium.tymed = COM.TYMED_HGLOBAL; 138 transferData.stgmedium.tymed = COM.TYMED_HGLOBAL;
139 transferData.stgmedium.unionField = lpMultiByteStr; 139 transferData.stgmedium.unionField = lpMultiByteStr;
140 transferData.stgmedium.pUnkForRelease = null; 140 transferData.stgmedium.pUnkForRelease = null;
163 data.Release(); 163 data.Release();
164 if (transferData.result !is COM.S_OK) return null; 164 if (transferData.result !is COM.S_OK) return null;
165 auto hMem = stgmedium.unionField; 165 auto hMem = stgmedium.unionField;
166 166
167 try { 167 try {
168 auto lpMultiByteStr = cast(char*) OS.GlobalLock(hMem); 168 auto lpMultiByteStr = cast(CHAR*) OS.GlobalLock(hMem);
169 if (lpMultiByteStr is null) return null; 169 if (lpMultiByteStr is null) return null;
170 try { 170 try {
171 /* NOTE: CF_HTML uses UTF-8 encoding. 171 /* NOTE: CF_HTML uses UTF-8 encoding.
172 * The MSDN documentation for MultiByteToWideChar states that dwFlags must be set to 0 for UTF-8. 172 * The MSDN documentation for MultiByteToWideChar states that dwFlags must be set to 0 for UTF-8.
173 * Otherwise, the function fails with ERROR_INVALID_FLAGS. */ 173 * Otherwise, the function fails with ERROR_INVALID_FLAGS. */