Win32OperatingSystem.st
branchjv
changeset 17849 30004e7fe0ae
parent 17847 62aa54f44969
child 17859 cc167a69671c
--- a/Win32OperatingSystem.st	Fri Aug 12 13:58:52 2011 +0100
+++ b/Win32OperatingSystem.st	Thu Aug 18 10:37:43 2011 +0100
@@ -3928,6 +3928,14 @@
     ^ self primitiveFailed.
 !
 
+closeHandle: handle
+    "low level handle close"
+
+    <apicall: ulongReturn "CloseHandle" ( handle ) module: "kernel32.dll" >
+
+    "Modified (comment): / 12-08-2011 / 16:37:35 / cg"
+!
+
 createDirectory:aPathName
     "create a new directory with name 'aPathName', which may be an absolute
      path, or relative to the current directory.
@@ -7071,6 +7079,24 @@
     "
 !
 
+multiByteToWideCharCp: cp flags: flags lpstr: lpstr cchstr: cchstr lpwstr: lpwstr cchwstr: cchwstr
+    "Convert the multi-byte string encoding in <lpstr> to a Unicode encoding in <lpwstr>."
+
+    " int MultiByteToWideChar(
+        UINT  CodePage,    // code page
+        DWORD  dwFlags,    // character-type options
+        LPCSTR  lpMultiByteStr,    // address of string to map
+        int  cchMultiByte,    // number of characters in string
+        LPWSTR  lpWideCharStr,    // address of wide-character buffer
+        int  cchWideChar     // size of buffer
+        );"
+
+    <apicall: ulongReturn "MultiByteToWideChar" ( uint32 uint32 structIn int32 structOut int32) module: "kernel32.dll" >
+    ^self primitiveFailed
+
+    "Modified (comment): / 12-08-2011 / 16:37:06 / cg"
+!
+
 playSound:fileName
     self playSound:fileName mode:1
 
@@ -7152,6 +7178,34 @@
     "Created: / 18-12-2006 / 13:01:41 / User"
 !
 
+wideCharToMultiByteCp: codePage
+    flags: dwFlags
+    lpwstr: lpWideCharStr
+    cchwstr: cchwstr
+    lpstr: lpstr
+    cchlpstr: cchlpstr
+    default: default
+    defaultUsed: defaultUsed
+
+    "Convert the Unicode encoding in <lpWideCharStr> to a multi-byte string encoding in <lpstr>."
+
+    "int WideCharToMultiByte(
+        UINT  CodePage,    // code page
+        DWORD  dwFlags,    // performance and mapping flags
+        LPCWSTR  lpWideCharStr,    // address of wide-character string
+        int  cchWideChar,    // number of characters in string
+        LPSTR  lpMultiByteStr,    // address of buffer for new string
+        int  cchMultiByte,    // size of buffer
+        LPCSTR  lpDefaultChar,    // address of default for unmappable characters
+        LPBOOL  lpUsedDefaultChar     // address of flag set when default char. used
+        );"
+
+    <apicall: ulongReturn "MultiByteToWideChar" ( uint32 uint32 structIn int32 structOut int32 structIn structOut) module: "kernel32.dll" >
+    ^self primitiveFailed
+
+    "Modified (comment): / 12-08-2011 / 16:37:14 / cg"
+!
+
 writePrivateProfileString: appName keyName: keyName profileString: profString fileName: aString
 
    ^self primWritePrivateProfileString: appName keyName: keyName profileString: profString fileName: aString
@@ -16345,14 +16399,15 @@
 !Win32OperatingSystem class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Win32OperatingSystem.st 10665 2011-08-10 14:59:08Z vranyj1 $'
+    ^ '$Id: Win32OperatingSystem.st 10669 2011-08-18 09:37:43Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.423 2011/07/30 16:37:37 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.424 2011/08/12 14:38:11 cg Exp §'
 ! !
 
 Win32OperatingSystem initialize!
 Win32OperatingSystem::PerformanceData initialize!
 Win32OperatingSystem::RegistryEntry initialize!
 
+