windows-pr 0.8.0 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +4 -0
- data/README +9 -8
- data/doc/conversion_guide.txt +5 -2
- data/lib/windows/process.rb +1 -1
- data/lib/windows/synchronize.rb +4 -0
- data/windows-pr.gemspec +1 -1
- metadata +2 -2
data/CHANGES
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
= 0.8.1 - ???
|
2
|
+
* Added waitable timer functions to the Windows::Synchronize module.
|
3
|
+
* Fixed params 3 and 4 in the CreateProcess function.
|
4
|
+
|
1
5
|
= 0.8.0 - 20-Jan-2008
|
2
6
|
* Added the Windows::COM::Automation module.
|
3
7
|
* Moved Windows::NetworkManagement to Windows::Network::Management.
|
data/README
CHANGED
@@ -86,11 +86,11 @@
|
|
86
86
|
|
87
87
|
== What's the point?
|
88
88
|
I became tired of redefining Windows functions over and over whenever I
|
89
|
-
wanted to use the Win32API
|
90
|
-
have them predefined for me in a
|
89
|
+
wanted to use the Win32API library. I thought it would be very handy to
|
90
|
+
have them predefined for me in a library with convenient wrapper methods
|
91
91
|
to boot.
|
92
92
|
|
93
|
-
While it's true that Moonwolf has a
|
93
|
+
While it's true that Moonwolf has a library on the RAA that includes many
|
94
94
|
of these functions defined already, there are a few issues with it. First,
|
95
95
|
it puts *every* function and constant in one or two files. That's a waste
|
96
96
|
of memory, hard to organize & maintain, and impossible to test. Second,
|
@@ -122,9 +122,9 @@
|
|
122
122
|
|
123
123
|
In other cases library functions are not exported by the dll. For example,
|
124
124
|
my version of shlwapi.dll does not export the PathIsHTMLFile() function,
|
125
|
-
despite being well past the minimum version for that DLL
|
126
|
-
|
127
|
-
|
125
|
+
despite being well past the minimum version for that DLL. There is nothing
|
126
|
+
you or I can do about it short of rebuilding the DLL file from scratch
|
127
|
+
and/or reporting the issue to Microsoft.
|
128
128
|
|
129
129
|
== Supported Platforms
|
130
130
|
I only support the Windows NT family of Windows, and then only Windows
|
@@ -142,5 +142,6 @@
|
|
142
142
|
(C) 2006-2008, Daniel J. Berger
|
143
143
|
All Rights Reserved
|
144
144
|
|
145
|
-
== Author
|
146
|
-
Daniel Berger
|
145
|
+
== Author(s)
|
146
|
+
Daniel Berger
|
147
|
+
Park Heesob
|
data/doc/conversion_guide.txt
CHANGED
@@ -6,7 +6,7 @@ Void: 'V'
|
|
6
6
|
Callback: 'K' # win32-api only
|
7
7
|
|
8
8
|
= Windows Data Types
|
9
|
-
BOOL => 'I'
|
9
|
+
BOOL => 'I' (or 'B', win32-api only)
|
10
10
|
DWORD => 'L'
|
11
11
|
HANDLE => 'L'
|
12
12
|
LPDWORD => 'P' (or 'L')
|
@@ -28,4 +28,7 @@ struct* => 'P'
|
|
28
28
|
|
29
29
|
In practice most LPVOID types should be designated as 'L' because this
|
30
30
|
usually means the function is looking for an address. Check the documentation
|
31
|
-
for details.
|
31
|
+
for details.
|
32
|
+
|
33
|
+
If using the win32-api library, you can use 'B' instead of 'I' for the return
|
34
|
+
type for functions that return a BOOL.
|
data/lib/windows/process.rb
CHANGED
@@ -62,7 +62,7 @@ module Windows
|
|
62
62
|
|
63
63
|
SHUTDOWN_NORETRY = 0x00000001
|
64
64
|
|
65
|
-
API.new('CreateProcess', '
|
65
|
+
API.new('CreateProcess', 'PPPPLLLPPP', 'B')
|
66
66
|
API.new('CreateProcessAsUser', 'LPPLLILPPPP', 'B', 'advapi32')
|
67
67
|
API.new('CreateProcessWithLogonW', 'PPPLPPLLPPP', 'B', 'advapi32')
|
68
68
|
API.new('EnumProcesses', 'PLP', 'B', 'psapi')
|
data/lib/windows/synchronize.rb
CHANGED
@@ -50,9 +50,11 @@ module Windows
|
|
50
50
|
SEMAPHORE_ALL_ACCESS = 0x1F0003
|
51
51
|
SEMAPHORE_MODIFY_STATE = 0x0002
|
52
52
|
|
53
|
+
API.new('CancelWaitableTimer', 'L', 'B')
|
53
54
|
API.new('CreateEvent', 'PIIP', 'L')
|
54
55
|
API.new('CreateMutex', 'PIP', 'L')
|
55
56
|
API.new('CreateSemaphore', 'PLLP', 'L')
|
57
|
+
API.new('CreateWaitableTimer', 'PIP', 'L')
|
56
58
|
API.new('DeleteCriticalSection', 'P', 'V')
|
57
59
|
API.new('EnterCriticalSection', 'P', 'V')
|
58
60
|
API.new('GetOverlappedResult', 'LPPI', 'I')
|
@@ -64,10 +66,12 @@ module Windows
|
|
64
66
|
API.new('OpenEvent', 'LIP', 'L')
|
65
67
|
API.new('OpenMutex', 'LIP', 'L')
|
66
68
|
API.new('OpenSemaphore', 'LIP', 'L')
|
69
|
+
API.new('OpenWaitableTimer', 'LIP', 'L')
|
67
70
|
API.new('ReleaseMutex', 'L', 'B')
|
68
71
|
API.new('ReleaseSemaphore', 'LLP', 'B')
|
69
72
|
API.new('ResetEvent', 'L', 'B')
|
70
73
|
API.new('SetCriticalSectionSpinCount', 'PL', 'V')
|
74
|
+
API.new('SetWaitableTimer', 'LPLKPI', 'B')
|
71
75
|
API.new('SetEvent', 'L', 'B')
|
72
76
|
API.new('TryEnterCriticalSection', 'P', 'B')
|
73
77
|
API.new('WaitForMultipleObjects', 'LPIL', 'L')
|
data/windows-pr.gemspec
CHANGED
@@ -2,7 +2,7 @@ require "rubygems"
|
|
2
2
|
|
3
3
|
spec = Gem::Specification.new do |gem|
|
4
4
|
gem.name = "windows-pr"
|
5
|
-
gem.version = "0.8.
|
5
|
+
gem.version = "0.8.1"
|
6
6
|
gem.author = "Daniel J. Berger"
|
7
7
|
gem.email = "djberg96@gmail.com"
|
8
8
|
gem.homepage = "http://www.rubyforge.org/projects/win32utils"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: windows-pr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel J. Berger
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-03-27 00:00:00 -06:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|