windows-pr 0.9.4 → 0.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGES CHANGED
@@ -1,3 +1,10 @@
1
+ = 0.9.5 - 21-Oct-2008
2
+ * Fixed the rescue clauses for unsupported functions for the Windows::Console
3
+ and Windows::Debug modules. Thanks go to an anonymous user for the spot.
4
+ * Added a couple functions to the Windows::File and Windows::NIO modules.
5
+ * Removed the SetFilePointer and SetFilePointerEx functions from the
6
+ Windows::File module since they're already in the Windows::NIO module.
7
+
1
8
  = 0.9.4 - 27-Sep-2008
2
9
  * Added some macros from windef.h to the Windows::SystemInfo module.
3
10
  * Added the windows_2000?, windows_xp?, windows_2003? and windows_vista?
@@ -105,7 +105,7 @@ module Windows
105
105
  API.new('GetConsoleSelectionInfo', 'P', 'B')
106
106
  API.new('GetCurrentConsoleFont' , 'LIP', 'B')
107
107
  API.new('SetConsoleDisplayMode', 'LLP', 'B')
108
- rescue Windows::API::LoadError
108
+ rescue Windows::API::Error
109
109
  # Do nothing - not supported on current platform. It's up to you to
110
110
  # check for the existence of the constant in your code.
111
111
  end
@@ -113,7 +113,7 @@ module Windows
113
113
  # Windows 2000 or later
114
114
  begin
115
115
  API.new('GetConsoleWindow', 'V', 'L')
116
- rescue Windows::API::LoadError
116
+ rescue Windows::API::Error
117
117
  # Do nothing - not supported on current platform. It's up to you to
118
118
  # check for the existence of the constant in your code.
119
119
  end
data/lib/windows/debug.rb CHANGED
@@ -27,7 +27,7 @@ module Windows
27
27
  API.new('DebugActiveProcessStop', 'L', 'B')
28
28
  API.new('DebugBreakProcess', 'L', 'B')
29
29
  API.new('DebugSetProcessKillOnExit', 'I', 'B')
30
- rescue Windows::API::LoadError
30
+ rescue Windows::API::Error
31
31
  # Do nothing - not supported on current platform. It's up to you to
32
32
  # check for the existence of the constant in your code.
33
33
  end
data/lib/windows/file.rb CHANGED
@@ -170,6 +170,23 @@ module Windows
170
170
  MOVEFILE_CREATE_HARDLINK = 0x00000010
171
171
  MOVEFILE_FAIL_IF_NOT_TRACKABLE = 0x00000020
172
172
  SYMBOLIC_LINK_FLAG_DIRECTORY = 0x1
173
+
174
+ # FILE_INFO_BY_HANDLE_CLASS enum
175
+
176
+ FileBasicInfo = 0
177
+ FileStandardInfo = 1
178
+ FileNameInfo = 2
179
+ FileRenameInfo = 3
180
+ FileDispositionInfo = 4
181
+ FileAllocationInfo = 5
182
+ FileEndOfFileInfo = 6
183
+ FileStreamInfo = 7
184
+ FileCompressionInfo = 8
185
+ FileAttributeTagInfo = 9
186
+ FileIdBothDirectoryInfo = 10
187
+ FileIdBothDirectoryRestartInfo = 11
188
+ FileIoPriorityHintInfo = 12
189
+ MaximumFileInfoByHandleClass = 13
173
190
 
174
191
  API.new('CopyFile', 'PPI', 'B')
175
192
  API.new('CopyFileEx', 'PPKPPL', 'B')
@@ -186,6 +203,7 @@ module Windows
186
203
  API.new('GetBinaryType', 'PP', 'B')
187
204
  API.new('GetFileAttributes', 'P', 'L')
188
205
  API.new('GetFileAttributesEx', 'PPP', 'I')
206
+ API.new('GetFileInformationByHandle', 'LP', 'B')
189
207
  API.new('GetFileSize', 'LP', 'L')
190
208
  API.new('GetFileSizeEx', 'LP', 'B')
191
209
  API.new('GetFileType', 'L', 'L')
@@ -200,13 +218,19 @@ module Windows
200
218
  API.new('ReadFileEx', 'LPLPK', 'B')
201
219
  API.new('SetEndOfFile', 'L', 'B')
202
220
  API.new('SetFileAttributes', 'PL', 'B')
203
- API.new('SetFilePointer', 'LLPL', 'L')
204
- API.new('SetFilePointerEx', 'LLPL', 'B')
205
221
  API.new('UnlockFile', 'LLLLL', 'B')
206
222
  API.new('UnlockFileEx', 'LLLLL', 'B')
207
223
  API.new('WriteFile', 'LPLPP', 'B')
208
224
  API.new('WriteFileEx', 'LPLPK', 'B')
209
225
 
226
+ # XP or later
227
+ begin
228
+ API.new('SetFileShortName', 'LP', 'B')
229
+ API.new('SetFileValidData', 'LL', 'B')
230
+ rescue
231
+ # Do nothing. Not supported by your platform.
232
+ end
233
+
210
234
  # XP 64-bit and later
211
235
  begin
212
236
  API.new('Wow64DisableWow64FsRedirection', 'P', 'B')
@@ -220,8 +244,10 @@ module Windows
220
244
  begin
221
245
  API.new('CreateSymbolicLink', 'PPL', 'B')
222
246
  API.new('CreateSymbolicLinkTransacted', 'PPLL', 'B')
247
+ API.new('GetFileInformationByHandleEx', 'LLPL', 'B')
223
248
  API.new('GetFinalPathNameByHandle', 'LPLL', 'L')
224
- rescue
249
+ API.new('SetFileInformationByHandle', 'LLPL', 'B')
250
+ rescue Windows::API::Error
225
251
  # Do nothing - unsupported on your system
226
252
  end
227
253
  end
data/lib/windows/nio.rb CHANGED
@@ -34,7 +34,15 @@ module Windows
34
34
  API.new('ReadFileScatter', 'LPLPP', 'B')
35
35
  API.new('SetEndOfFile', 'L', 'B')
36
36
  API.new('SetFilePointer', 'LLPL', 'L')
37
- API.new('SetFilePointerEx', 'LLPL', 'L')
37
+ API.new('SetFilePointerEx', 'LLPL', 'B')
38
38
  API.new('WriteFileGather', 'LPLPP', 'B')
39
+
40
+ # Windows Vista or later
41
+ begin
42
+ API.new('CancelIoEx', 'LP', 'B')
43
+ API.new('CancelSynchronousIo', 'L', 'B')
44
+ rescue Windows::API::Error
45
+ # Do nothing. Not supported on your platform.
46
+ end
39
47
  end
40
48
  end
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.9.4"
5
+ gem.version = "0.9.5"
6
6
  gem.authors = ["Daniel J. Berger", "Park Heesob"]
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.9.4
4
+ version: 0.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel J. Berger
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2008-09-28 00:00:00 -06:00
13
+ date: 2008-10-24 00:00:00 -06:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency