windows-pr 0.9.8 → 0.9.9

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,3 +1,16 @@
1
+ = 0.9.9 - 1-Feb-2009
2
+ * Now explicitly checks for Win32::API::LoadLibraryError in the method
3
+ declarations instead of Windows::API::Error. The latter no longer exists,
4
+ and the former is a better way to check for methods that don't exist on
5
+ particular versions of Windows. This change requires windows-api 0.3.0
6
+ and win32-api 1.3.0.
7
+ * Added a few functions to the Windows::Security module.
8
+ * Added the NtQuerySystemInformation function to the Windows::NTFS::Winternl
9
+ module.
10
+ * Added tests for the Windows::NTFS::Winternl module.
11
+ * Declaration fix in Windows::Security module for Win2k.
12
+ * Fixed a directory test for Win2k.
13
+
1
14
  = 0.9.8 - 15-Dec-2008
2
15
  * Added many more functions and a few constants to the Windows::Security
3
16
  module.
data/MANIFEST CHANGED
@@ -54,7 +54,7 @@ lib/windows/network/management.rb
54
54
  lib/windows/network/snmp.rb
55
55
  lib/windows/network/winsock.rb
56
56
 
57
- lib/windows/ntfs/file.rb
57
+ lib/windows/ntfs/winternl.rb
58
58
 
59
59
  lib/windows/window/dialog.rb
60
60
  lib/windows/window/message.rb
data/lib/windows/com.rb CHANGED
@@ -161,11 +161,10 @@ module Windows
161
161
  API.new('StringFromGUID2', 'PPI', 'I', 'ole32')
162
162
  API.new('StringFromIID', 'PP', 'L', 'ole32')
163
163
 
164
- # Windows Vista
165
164
  begin
166
165
  API.new('CoDisconnectContext', 'L', 'L', 'ole32')
167
- rescue Windows::API::Error
168
- # Ignore - you must check for these methods via 'defined?'
166
+ rescue Win32::API::LoadLibraryError
167
+ # Windows Vista
169
168
  end
170
169
  end
171
170
  end
@@ -66,7 +66,8 @@ module Windows
66
66
  API.new('GetConsoleMode', 'LP', 'B')
67
67
  API.new('GetConsoleOutputCP', 'V', 'I')
68
68
  API.new('GetConsoleScreenBufferInfo', 'LP', 'B')
69
- API.new('GetConsoleTitle', 'PL', 'L')
69
+ API.new('GetConsoleTitle', 'PL', 'L')
70
+ API.new('GetConsoleWindow', 'V', 'L')
70
71
  API.new('GetLargestConsoleWindowSize', 'L', 'L')
71
72
  API.new('GetNumberOfConsoleInputEvents', 'LP', 'B')
72
73
  API.new('GetNumberOfConsoleMouseButtons', 'L', 'B')
@@ -96,7 +97,6 @@ module Windows
96
97
  API.new('WriteConsoleOutputAttribute', 'LPLLP', 'B')
97
98
  API.new('WriteConsoleOutputCharacter', 'LPLLP', 'B')
98
99
 
99
- # Windows XP or later
100
100
  begin
101
101
  API.new('AttachConsole', 'L', 'B')
102
102
  API.new('GetConsoleDisplayMode', 'P', 'L')
@@ -105,17 +105,8 @@ 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::Error
109
- # Do nothing - not supported on current platform. It's up to you to
110
- # check for the existence of the constant in your code.
111
- end
112
-
113
- # Windows 2000 or later
114
- begin
115
- API.new('GetConsoleWindow', 'V', 'L')
116
- rescue Windows::API::Error
117
- # Do nothing - not supported on current platform. It's up to you to
118
- # check for the existence of the constant in your code.
108
+ rescue Win32::API::LoadLibraryError
109
+ # Windows XP or later
119
110
  end
120
111
  end
121
112
  end
data/lib/windows/debug.rb CHANGED
@@ -21,15 +21,13 @@ module Windows
21
21
  API.new('WaitForDebugEvent', 'PL', 'B')
22
22
  API.new('WriteProcessMemory', 'LLPLP', 'B')
23
23
 
24
- # Windows XP or later
25
24
  begin
26
25
  API.new('CheckRemoteDebuggerPresent', 'LP', 'B')
27
26
  API.new('DebugActiveProcessStop', 'L', 'B')
28
27
  API.new('DebugBreakProcess', 'L', 'B')
29
28
  API.new('DebugSetProcessKillOnExit', 'I', 'B')
30
- rescue Windows::API::Error
31
- # Do nothing - not supported on current platform. It's up to you to
32
- # check for the existence of the constant in your code.
29
+ rescue Win32::API::LoadLibraryError
30
+ # Windows XP or later
33
31
  end
34
32
  end
35
33
  end
data/lib/windows/error.rb CHANGED
@@ -410,7 +410,7 @@ module Windows
410
410
 
411
411
  begin
412
412
  API.new('SetLastErrorEx', 'LL', 'V', 'user32')
413
- rescue Windows::API::Error
413
+ rescue Win32::API::LoadLibraryError
414
414
  # VC++ 7.0 or later
415
415
  end
416
416
 
@@ -35,7 +35,6 @@ module Windows
35
35
  API.new('RegisterEventSource', 'SS', 'L', 'advapi32')
36
36
  API.new('ReportEvent', 'LIILPILPP', 'B', 'advapi32')
37
37
 
38
- # Windows Vista or later
39
38
  begin
40
39
  API.new('EvtArchiveExportedLog', 'LPLL', 'B', 'wevtapi')
41
40
  API.new('EvtCancel', 'L', 'B', 'wevtapi')
@@ -72,8 +71,8 @@ module Windows
72
71
  API.new('EvtSetChannelConfigProperty', 'LLLP', 'B', 'wevtapi')
73
72
  API.new('EvtSubscribe', 'LLPPLPKL', 'L', 'wevtapi')
74
73
  API.new('EvtUpdateBookmark', 'LL', 'B', 'wevtapi')
75
- rescue Windows::API::Error
76
- # Do nothing. Not supported.
74
+ rescue Win32::API::LoadLibraryError
75
+ # Windows Vista or later
77
76
  end
78
77
  end
79
78
  end
data/lib/windows/file.rb CHANGED
@@ -233,32 +233,29 @@ module Windows
233
233
  API.new('WriteFile', 'LPLPP', 'B')
234
234
  API.new('WriteFileEx', 'LPLPK', 'B')
235
235
 
236
- # XP or later
237
236
  begin
238
237
  API.new('SetFileShortName', 'LP', 'B')
239
238
  API.new('SetFileValidData', 'LL', 'B')
240
- rescue
241
- # Do nothing. Not supported by your platform.
239
+ rescue Win32::API::LoadLibraryError
240
+ # Windows XP or later
242
241
  end
243
242
 
244
- # XP 64-bit and later
245
243
  begin
246
244
  API.new('Wow64DisableWow64FsRedirection', 'P', 'B')
247
245
  API.new('Wow64EnableWow64FsRedirection', 'I', 'I')
248
246
  API.new('Wow64RevertWow64FsRedirection', 'L', 'B')
249
- rescue Windows::API::Error
250
- # Do nothing - unsupported on your system
247
+ rescue Win32::API::LoadLibraryError
248
+ # Windows XP 64-bit and later
251
249
  end
252
250
 
253
- # Windows Vista
254
251
  begin
255
252
  API.new('CreateSymbolicLink', 'SSL', 'B')
256
253
  API.new('CreateSymbolicLinkTransacted', 'SSLL', 'B')
257
254
  API.new('GetFileInformationByHandleEx', 'LLPL', 'B')
258
255
  API.new('GetFinalPathNameByHandle', 'LPLL', 'L')
259
256
  API.new('SetFileInformationByHandle', 'LLPL', 'B')
260
- rescue Windows::API::Error
261
- # Do nothing - unsupported on your system
257
+ rescue Win32::API::LoadLibraryError
258
+ # Windows Vista
262
259
  end
263
260
  end
264
261
  end
@@ -31,14 +31,12 @@ module Windows
31
31
  API.new('LoadLibraryEx', 'PLL', 'L')
32
32
  API.new('LoadModule', 'PP', 'L')
33
33
 
34
- # Windows XP or later
35
34
  begin
36
35
  API.new('GetDllDirectory', 'LP', 'L')
37
36
  API.new('GetModuleHandleEx', 'LPP', 'I')
38
37
  API.new('SetDllDirectory', 'P', 'I')
39
- rescue Windows::API::Error
40
- # Do nothing - not supported on current platform. It's up to you to
41
- # check for the existence of the constant in your code.
38
+ rescue Win32::API::LoadLibraryError
39
+ # Windows XP or later
42
40
  end
43
41
  end
44
42
  end
@@ -119,7 +119,7 @@ module Windows
119
119
  begin
120
120
  API.new('HeapQueryInformation', 'LIPLL', 'B')
121
121
  API.new('HeapSetInformation', 'LIPL', 'B')
122
- rescue Windows::API::Error
122
+ rescue Win32::API::LoadLibraryError
123
123
  # Do nothing - you must check for their existence
124
124
  end
125
125
  end
@@ -37,7 +37,7 @@ module Windows
37
37
  API.new('_mktemp_s', 'PL', 'L', MSVCRT_DLL)
38
38
  API.new('_umask_s', 'IP', 'L', MSVCRT_DLL)
39
39
  API.new('_wmktemp_s', 'PL', 'L', MSVCRT_DLL)
40
- rescue Windows::API::Error
40
+ rescue Win32::API::LoadLibraryError
41
41
  # Ignore - you must check for it via 'defined?'
42
42
  end
43
43
  end
@@ -63,7 +63,7 @@ module Windows
63
63
  API.new('_sopen_s', 'PPIII', 'L', MSVCRT_DLL)
64
64
  API.new('_tmpfile_s', 'P', 'L', MSVCRT_DLL)
65
65
  API.new('_wsopen_s', 'PPIII', 'L', MSVCRT_DLL)
66
- rescue Windows::API::Error
66
+ rescue Win32::API::LoadLibraryError
67
67
  # Ignore - you must check for it via 'defined?'
68
68
  end
69
69
  end
@@ -33,7 +33,7 @@ module Windows
33
33
 
34
34
  begin
35
35
  Strtok_s = API.new('strtok_s', 'PPI', 'P', MSVCRT_DLL)
36
- rescue Windows::API::Error
36
+ rescue Win32::API::LoadLibraryError
37
37
  # Do nothing. Not supported on your system.
38
38
  end
39
39
 
@@ -190,7 +190,7 @@ module Windows
190
190
  begin
191
191
  API.new('GetNetScheduleAccountInformation', 'PLP', 'L', 'mstask')
192
192
  API.new('SetNetScheduleAccountInformation', 'PPP', 'L', 'netapi32')
193
- rescue Windows::API::Error
193
+ rescue Win32::API::LoadLibraryError
194
194
  # Do nothing. Not supported on current platform.
195
195
  end
196
196
 
@@ -515,7 +515,7 @@ module Windows
515
515
  def SetNetScheduleAccountInformation(server, account, password)
516
516
  SetNetScheduleAccountInformation.call(server, account, password) == NERR_Success
517
517
  end
518
- rescue Windows::API::Error
518
+ rescue Win32::API::LoadLibraryError
519
519
  # Do nothing. It's up to you to check for their existence.
520
520
  end
521
521
  end
@@ -82,7 +82,7 @@ module Windows
82
82
  API.new('SnmpCreateSession', 'LLKP', 'L', 'wsnmp32')
83
83
  API.new('SnmpCleanupEx', 'V', 'I', 'wsnmp32')
84
84
  API.new('SnmpStartupEx', 'PPPPP', 'L', 'wsnmp32')
85
- rescue Windows::API::Error
85
+ rescue Win32::API::LoadLibraryError
86
86
  # Do nothing. It's up to you to check for their existence.
87
87
  end
88
88
  end
@@ -106,7 +106,7 @@ module Windows
106
106
  API.new('DisconnectEx', 'LPLL', 'B', 'mswsock')
107
107
  API.new('GetAddrInfoW', 'PPPP', 'I', 'mswsock')
108
108
  API.new('GetNameInfoW', 'PLPLPLI', 'I', 'ws2_32')
109
- rescue Windows::API::Error
109
+ rescue Win32::API::LoadLibraryError
110
110
  # Do nothing, not supported on your platform.
111
111
  end
112
112
 
@@ -118,7 +118,7 @@ module Windows
118
118
  API.new('WSAConnectByName', 'LPPPPPPP', 'B', 'ws2_32')
119
119
  API.new('WSADeleteSocketPeerTargetName', 'LPPPP', 'I', 'ws2_32')
120
120
  API.new('WSAPoll', 'PLI', 'I', 'ws2_32')
121
- rescue Windows::API::Error
121
+ rescue Win32::API::LoadLibraryError
122
122
  # Do nothing, not supported on your platform.
123
123
  end
124
124
  end
data/lib/windows/nio.rb CHANGED
@@ -37,12 +37,11 @@ module Windows
37
37
  API.new('SetFilePointerEx', 'LLPL', 'B')
38
38
  API.new('WriteFileGather', 'LPLPP', 'B')
39
39
 
40
- # Windows Vista or later
41
40
  begin
42
41
  API.new('CancelIoEx', 'LP', 'B')
43
42
  API.new('CancelSynchronousIo', 'L', 'B')
44
- rescue Windows::API::Error
45
- # Do nothing. Not supported on your platform.
43
+ rescue Win32::API::LoadLibraryError
44
+ # Windows Vista or later
46
45
  end
47
46
  end
48
47
  end
@@ -56,6 +56,7 @@ module Windows
56
56
 
57
57
  API.new('NtQueryInformationFile', 'LPPLL', 'L', 'ntdll')
58
58
  API.new('NtQueryObject', 'LLPLP', 'L', 'ntdll')
59
+ API.new('NtQuerySystemInformation', 'LPLP', 'L', 'ntdll')
59
60
 
60
61
  # Should work for Windows XP/2000
61
62
  unless defined? GetFinalPathNameByHandle
@@ -65,16 +66,16 @@ module Windows
65
66
 
66
67
  def GetFinalPathNameByHandle(file)
67
68
  begin
68
- MAX_PATH = 256
69
+ max_path = 256
69
70
  fh = File.open(file, 'r')
70
71
  handle = get_osfhandle(fh.fileno)
71
- object_name_information = 0.chr * (8 + (MAX_PATH*2))
72
+ object_name_information = 0.chr * (8 + (max_path*2))
72
73
 
73
74
  status = NtQueryObject(
74
75
  handle,
75
76
  ObjectNameInformation,
76
77
  object_name_information,
77
- object_name_information.size
78
+ object_name_information.size,
78
79
  0
79
80
  )
80
81
 
@@ -97,13 +97,11 @@ module Windows
97
97
  API.new('WaitForInputIdle', 'LL', 'L', 'user32')
98
98
  API.new('WTSEnumerateProcesses', 'LLLPP', 'B', 'wtsapi32')
99
99
 
100
- # Windows XP or later
101
100
  begin
102
101
  API.new('GetProcessId', 'L', 'L')
103
102
  API.new('GetProcessHandleCount', 'LP', 'B')
104
- rescue Windows::API::Error
105
- # Do nothing - not supported on current platform. It's up to you to
106
- # check for the existence of the constant in your code.
103
+ rescue Win32::API::LoadLibraryError
104
+ # Windows XP or later
107
105
  end
108
106
  end
109
107
  end
@@ -117,12 +117,10 @@ module Windows
117
117
  API.new('RegSetValueEx', 'LPLLPL', 'L', 'advapi32')
118
118
  API.new('RegUnLoadKey', 'LP', 'L', 'advapi32')
119
119
 
120
- # Windows XP or later
121
120
  begin
122
121
  API.new('RegSaveKeyEx', 'LPPL', 'L', 'advapi32')
123
- rescue Windows::API::Error
124
- # Do nothing - not supported on current platform. It's up to you to
125
- # check for the existence of the constant in your code.
122
+ rescue Win32::API::LoadLibraryError
123
+ # Windows XP or later
126
124
  end
127
125
  end
128
126
  end
@@ -400,18 +400,15 @@ module Windows
400
400
  API.new('DeleteAce', 'PL', 'B', 'advapi32')
401
401
  API.new('DuplicateToken', 'LPP', 'B', 'advapi32')
402
402
  API.new('DuplicateTokenEx', 'LLPLLP', 'B', 'advapi32')
403
- API.new('EqualDomainSid', 'PPP', 'B', 'advapi32')
404
403
  API.new('EqualPrefixSid', 'PP', 'B', 'advapi32')
405
404
  API.new('EqualSid', 'PP', 'B', 'advapi32')
406
405
  API.new('FindFirstFreeAce', 'PP', 'B', 'advapi32')
407
- API.new('FreeInheritedFromArray', 'PIP', 'B', 'advapi32')
408
406
  API.new('FreeSid', 'P', 'L', 'advapi32')
409
407
  API.new('GetAce', 'LLP', 'B', 'advapi32')
410
408
  API.new('GetAclInformation', 'PPLI', 'B', 'advapi32')
411
409
  API.new('GetFileSecurity', 'PLPLP', 'B', 'advapi32')
412
410
  API.new('GetFileSecurityA', 'PLPLP', 'B', 'advapi32')
413
411
  API.new('GetFileSecurityW', 'PLPLP', 'B', 'advapi32')
414
- API.new('GetInheritanceSource', 'PLLIPLPPLP', 'L', 'advapi32')
415
412
  API.new('GetLengthSid', 'P', 'L', 'advapi32')
416
413
  API.new('GetSecurityDescriptorControl', 'PPP', 'B', 'advapi32')
417
414
  API.new('GetSecurityDescriptorDacl', 'PPPP', 'B', 'advapi32')
@@ -435,7 +432,6 @@ module Windows
435
432
  API.new('IsValidAcl', 'P', 'B', 'advapi32')
436
433
  API.new('IsValidSecurityDescriptor', 'P', 'B', 'advapi32')
437
434
  API.new('IsValidSid', 'P', 'B', 'advapi32')
438
- API.new('IsWellKnownSid', 'PI', 'B', 'advapi32')
439
435
  API.new('LookupAccountName', 'PPPPPPP', 'B', 'advapi32')
440
436
  API.new('LookupAccountSid', 'PLPPPPP', 'B', 'advapi32')
441
437
  API.new('LookupPrivilegeDisplayName', 'PPPPP', 'B', 'advapi32')
@@ -461,7 +457,11 @@ module Windows
461
457
  begin
462
458
  API.new('CreateWellKnownSid', 'IPPP', 'B', 'advapi32')
463
459
  API.new('AddMandatoryAce', 'PLLLP', 'B', 'advapi32')
464
- rescue Windows::API::Error
460
+ API.new('EqualDomainSid', 'PPP', 'B', 'advapi32')
461
+ API.new('FreeInheritedFromArray', 'PIP', 'B', 'advapi32')
462
+ API.new('GetInheritanceSource', 'PLLIPLPPLP', 'L', 'advapi32')
463
+ API.new('IsWellKnownSid', 'PI', 'B', 'advapi32')
464
+ rescue Win32::API::LoadLibraryError
465
465
  # Windows XP or later
466
466
  end
467
467
 
@@ -470,7 +470,7 @@ module Windows
470
470
  API.new('AuditComputeEffectivePolicyByToken', 'LPLP', 'B', 'advapi32')
471
471
  API.new('AuditEnumerateCategories', 'PP', 'B', 'advapi32')
472
472
  API.new('AuditEnumeratePerUserPolicy', 'P', 'B', 'advapi32')
473
- rescue Windows::API::Error
473
+ rescue Win32::API::LoadLibraryError
474
474
  # Windows Vista or later
475
475
  end
476
476
  end
data/lib/windows/shell.rb CHANGED
@@ -158,13 +158,12 @@ module Windows
158
158
  API.new('SHGetSpecialFolderLocation', 'LIP', 'L', 'shell32')
159
159
  API.new('SHGetSpecialFolderPath', 'LPLL','L', 'shell32')
160
160
 
161
- # Windows Vista
162
161
  begin
163
162
  API.new('SHGetKnownFolderPath', 'LLLP', 'L', 'shell32')
164
163
  API.new('SHGetKnownFolderIDList', 'LLLP', 'L', 'shell32')
165
164
  API.new('SHGetNameFromIDList', 'PLP', 'L', 'shell32')
166
- rescue Windows::API::Error
167
- # Not supported on your platform
165
+ rescue Win32::API::LoadLibraryError
166
+ # Windows Vista or later
168
167
  end
169
168
  end
170
169
  end
@@ -80,11 +80,10 @@ module Windows
80
80
  API.new('GetVersionEx', 'P', 'B')
81
81
  API.new('GetWindowsDirectory', 'PI', 'I')
82
82
 
83
- # XP or later
84
83
  begin
85
84
  API.new('GetSystemWow64Directory', 'PI', 'I')
86
- rescue Windows::API::Error
87
- # Do nothing. Users must check for function.
85
+ rescue Win32::API::LoadLibraryError
86
+ # XP or later
88
87
  end
89
88
 
90
89
  # These macros are from windef.h, but I've put them here for now
@@ -52,12 +52,11 @@ module Windows
52
52
  API.new('TlsGetValue', 'L', 'L')
53
53
  API.new('TlsSetValue', 'LL', 'B')
54
54
 
55
- # Windows XP or later
56
55
  begin
57
56
  API.new('AttachThreadInput', 'LLI', 'B')
58
57
  API.new('GetThreadIOPendingFlag', 'LP', 'B')
59
- rescue Windows::API::Error
60
- # Do nothing. It's up to you to check for its existence.
58
+ rescue Win32::API::LoadLibraryError
59
+ # Windows XP or later
61
60
  end
62
61
  end
63
62
  end
data/lib/windows/time.rb CHANGED
@@ -36,12 +36,11 @@ module Windows
36
36
  API.new('SystemTimeToFileTime', 'PP', 'B')
37
37
  API.new('SystemTimeToTzSpecificLocalTime', 'PPP', 'B')
38
38
 
39
- # Windows XP or later
40
39
  begin
41
40
  API.new('GetSystemTimes', 'PPP', 'B')
42
41
  API.new('TzSpecificLocalTimeToSystemTime', 'PPP', 'B')
43
- rescue Windows::API::Error
44
- # Do nothing. It's up to you to check your platform.
42
+ rescue Win32::API::LoadLibraryError
43
+ # Windows XP or later
45
44
  end
46
45
  end
47
46
  end
@@ -33,18 +33,16 @@ module Windows
33
33
  API.new('SetVolumeLabel', 'SS', 'B')
34
34
  API.new('SetVolumeMountPoint', 'SS', 'B')
35
35
 
36
- # Windows XP or later
37
36
  begin
38
37
  API.new('GetVolumePathNamesForVolumeName', 'SPLL', 'B')
39
- rescue Windows::API::Error
40
- # Do nothing. Not supported on current platform.
38
+ rescue Win32::API::LoadLibraryError
39
+ # Windows XP or later
41
40
  end
42
41
 
43
- # Windows Vista or later
44
42
  begin
45
43
  API.new('GetVolumeInformationByHandleW', 'LPLPPPPL', 'B')
46
- rescue
47
- # Do nothing. Not supported on your platform.
44
+ rescue Win32::API::LoadLibraryError
45
+ # Windows Vista or later
48
46
  end
49
47
  end
50
48
  end
@@ -50,12 +50,10 @@ module Windows
50
50
  API.new('GetWindowTextLength', 'L', 'I', 'user32')
51
51
  API.new('GetWindowThreadProcessId', 'LP', 'L', 'user32')
52
52
 
53
- # Windows XP or later
54
53
  begin
55
54
  API.new('GetLayeredWindowAttributes', 'LPBL', 'B', 'user32')
56
- rescue Windows::API::Error
57
- # Do nothing - not supported on current platform. It's up to you
58
- # to check for the existence of the constant in your code.
55
+ rescue Win32::API::LoadLibraryError
56
+ # Windows XP or later
59
57
  end
60
58
  end
61
59
  end
@@ -81,7 +81,8 @@ class TC_Windows_MSVCRT_Directory < Test::Unit::TestCase
81
81
  def test_searchenv
82
82
  possible = [
83
83
  "c:\\winnt\\system32\\notepad.exe",
84
- "c:\\windows\\system32\\notepad.exe"
84
+ "c:\\windows\\system32\\notepad.exe",
85
+ "c:\\windows\\notepad.exe"
85
86
  ]
86
87
  assert_respond_to(self, :searchenv)
87
88
  assert_nothing_raised{ searchenv("notepad.exe", "PATH", @buf) }
@@ -0,0 +1,29 @@
1
+ #####################################################################
2
+ # test_ntfs_winternl.rb
3
+ #
4
+ # Test case for the Windows::NTFS::Winternl module.
5
+ #####################################################################
6
+ require "windows/ntfs/winternl"
7
+ require "test/unit"
8
+
9
+ class WinternlFoo
10
+ include Windows::NTFS::Winternl
11
+ end
12
+
13
+ class TC_Windows_NTFS_Winternl < Test::Unit::TestCase
14
+ def setup
15
+ @foo = WinternlFoo.new
16
+ end
17
+
18
+ def test_numeric_constants
19
+ assert_equal(8, WinternlFoo::FileAccessInformation)
20
+ end
21
+
22
+ def test_method_constants
23
+ assert_not_nil(WinternlFoo::NtQueryInformationFile)
24
+ end
25
+
26
+ def teardown
27
+ @foo = nil
28
+ end
29
+ 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.8'
5
+ gem.version = '0.9.9'
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'
@@ -17,8 +17,8 @@ spec = Gem::Specification.new do |gem|
17
17
  gem.files.reject! { |fn| fn.include? "CVS" }
18
18
  gem.require_path = "lib"
19
19
  gem.extra_rdoc_files = ['MANIFEST', 'README', 'CHANGES']
20
- gem.add_dependency('windows-api', '>= 0.2.4')
21
- gem.add_dependency('win32-api', '>= 1.2.2')
20
+ gem.add_dependency('windows-api', '>= 0.3.0')
21
+ gem.add_dependency('win32-api', '>= 1.3.0')
22
22
  end
23
23
 
24
24
  if $0 == __FILE__
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.8
4
+ version: 0.9.9
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-12-16 00:00:00 -07:00
13
+ date: 2009-02-01 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -21,7 +21,7 @@ dependencies:
21
21
  requirements:
22
22
  - - ">="
23
23
  - !ruby/object:Gem::Version
24
- version: 0.2.4
24
+ version: 0.3.0
25
25
  version:
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: win32-api
@@ -31,7 +31,7 @@ dependencies:
31
31
  requirements:
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: 1.2.2
34
+ version: 1.3.0
35
35
  version:
36
36
  description: Windows functions and constants bundled via Win32::API
37
37
  email: djberg96@gmail.com
@@ -121,6 +121,7 @@ files:
121
121
  - test/tc_network_management.rb
122
122
  - test/tc_network_snmp.rb
123
123
  - test/tc_nio.rb
124
+ - test/tc_ntfs_winternl.rb
124
125
  - test/tc_path.rb
125
126
  - test/tc_pipe.rb
126
127
  - test/tc_process.rb
@@ -197,6 +198,7 @@ test_files:
197
198
  - test/tc_network_management.rb
198
199
  - test/tc_network_snmp.rb
199
200
  - test/tc_nio.rb
201
+ - test/tc_ntfs_winternl.rb
200
202
  - test/tc_path.rb
201
203
  - test/tc_pipe.rb
202
204
  - test/tc_process.rb