| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | 
							- #pragma once
 
- #include <windows.h>
 
- #ifdef __cplusplus
 
- extern "C"
 
- {
 
- #endif
 
- __inline int MultiByteToWideCharSZ(
 
- 	UINT CodePage,         // code page
 
-   DWORD dwFlags,         // character-type options
 
-   LPCSTR lpMultiByteStr, // string to map
 
-   int cbMultiByte,       // number of bytes in string
 
-   LPWSTR lpWideCharStr,  // wide-character buffer
 
-   int cchWideChar        // size of buffer
 
- )
 
- {
 
- 	int converted=0;
 
- 	if (cchWideChar == 0)
 
- 		return MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, lpWideCharStr, cchWideChar);
 
- 	converted = MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, lpWideCharStr, cchWideChar-1);
 
- 	if (!converted)
 
- 		return 0;
 
- 	lpWideCharStr[converted]=0;
 
- 	return converted+1;
 
- }
 
- __inline int WideCharToMultiByteSZ(
 
-   UINT CodePage,            // code page
 
-   DWORD dwFlags,            // performance and mapping flags
 
-   LPCWSTR lpWideCharStr,    // wide-character string
 
-   int cchWideChar,          // number of chars in string
 
-   LPSTR lpMultiByteStr,     // buffer for new string
 
-   int cbMultiByte,          // size of buffer
 
-   LPCSTR lpDefaultChar,     // default for unmappable chars
 
-   LPBOOL lpUsedDefaultChar  // set when default char used
 
- )
 
- {
 
- 	int converted=0;
 
- 	if (cbMultiByte == 0)
 
- 		return WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, lpMultiByteStr, cbMultiByte, lpDefaultChar, lpUsedDefaultChar);
 
- 	converted= WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, lpMultiByteStr, cbMultiByte-1, lpDefaultChar, lpUsedDefaultChar);
 
- 	if (!converted)
 
- 		return converted;
 
- 	lpMultiByteStr[converted]=0;
 
- 	return converted+1;
 
- }
 
- #ifdef __cplusplus
 
- }
 
- #endif
 
 
  |