--- a/Win32OperatingSystem.st Wed Nov 21 15:16:21 2012 +0100
+++ b/Win32OperatingSystem.st Wed Nov 21 17:34:54 2012 +0100
@@ -814,6 +814,7 @@
"Modified: 7.1.1997 / 19:36:11 / stefan"
! !
+
!Win32OperatingSystem class methodsFor:'OS signal constants'!
sigABRT
@@ -3962,14 +3963,6 @@
^ 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.
@@ -6905,26 +6898,31 @@
!
duplicateHandle:aHandle to:targetProcessHandle
- |hMe spaceForTargetHandle rslt|
-
- spaceForTargetHandle := ExternalLong new.
+ |hMe spaceForTargetHandle rslt addr|
+
+ spaceForTargetHandle := ExternalLong unprotectedNew.
hMe := self getCurrentProcess.
rslt := self
- primDuplicateHandle_hSourcProcessHandle:hMe
- hSourceHandle:aHandle
- hTargetProcesshandle:targetProcessHandle
- lpTargetHandle:spaceForTargetHandle
- dwDesiredAccess:0
- bInheritHandle:false
- dwOptions:2 "DUPLICATE_SAME_ACCESS".
+ primDuplicateHandle_hSourcProcessHandle:hMe
+ hSourceHandle:aHandle
+ hTargetProcesshandle:targetProcessHandle
+ lpTargetHandle:spaceForTargetHandle
+ dwDesiredAccess:0
+ bInheritHandle:false
+ dwOptions:2 "DUPLICATE_SAME_ACCESS".
rslt ifFalse:[
- self primitiveFailed.
- ^ nil
- ].
- ^ ExternalAddress newAddress:(spaceForTargetHandle value).
+ spaceForTargetHandle free.
+ self primitiveFailed.
+ ^ nil
+ ].
+
+ addr := spaceForTargetHandle value.
+ spaceForTargetHandle free.
+ ^ ExternalAddress newAddress:addr.
"Created: / 18-09-2007 / 16:34:25 / cg"
+ "Modified: / 21-11-2012 / 12:14:06 / anwild"
!
getAllProcesses
@@ -7120,24 +7118,6 @@
"
!
-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
@@ -7219,34 +7199,6 @@
"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
@@ -16500,11 +16452,11 @@
!Win32OperatingSystem class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.441 2012-11-21 14:16:21 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.442 2012-11-21 16:34:54 anwild Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.441 2012-11-21 14:16:21 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.442 2012-11-21 16:34:54 anwild Exp $'
!
version_SVN