windows-pr 1.1.2 → 1.1.3

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.
Files changed (115) hide show
  1. data/CHANGES +408 -404
  2. data/MANIFEST +65 -65
  3. data/README +149 -149
  4. data/Rakefile +52 -52
  5. data/doc/conversion_guide.txt +37 -37
  6. data/lib/windows/clipboard.rb +59 -59
  7. data/lib/windows/com.rb +190 -189
  8. data/lib/windows/com/automation.rb +147 -147
  9. data/lib/windows/com/variant.rb +22 -22
  10. data/lib/windows/console.rb +112 -112
  11. data/lib/windows/debug.rb +33 -33
  12. data/lib/windows/device_io.rb +246 -246
  13. data/lib/windows/directory.rb +25 -25
  14. data/lib/windows/error.rb +482 -482
  15. data/lib/windows/eventlog.rb +78 -78
  16. data/lib/windows/file.rb +262 -262
  17. data/lib/windows/file_mapping.rb +23 -23
  18. data/lib/windows/filesystem.rb +13 -13
  19. data/lib/windows/gdi/bitmap.rb +63 -63
  20. data/lib/windows/gdi/device_context.rb +44 -44
  21. data/lib/windows/gdi/metafile.rb +38 -38
  22. data/lib/windows/gdi/painting_drawing.rb +113 -113
  23. data/lib/windows/handle.rb +21 -21
  24. data/lib/windows/library.rb +42 -42
  25. data/lib/windows/limits.rb +31 -31
  26. data/lib/windows/mailslot.rb +22 -22
  27. data/lib/windows/memory.rb +126 -126
  28. data/lib/windows/msvcrt/buffer.rb +73 -73
  29. data/lib/windows/msvcrt/directory.rb +29 -29
  30. data/lib/windows/msvcrt/file.rb +45 -45
  31. data/lib/windows/msvcrt/io.rb +71 -71
  32. data/lib/windows/msvcrt/time.rb +167 -167
  33. data/lib/windows/national.rb +578 -578
  34. data/lib/windows/network/management.rb +523 -523
  35. data/lib/windows/network/snmp.rb +90 -90
  36. data/lib/windows/network/winsock.rb +126 -126
  37. data/lib/windows/nio.rb +48 -47
  38. data/lib/windows/ntfs/winternl.rb +96 -96
  39. data/lib/windows/path.rb +141 -141
  40. data/lib/windows/pipe.rb +40 -40
  41. data/lib/windows/process.rb +174 -174
  42. data/lib/windows/registry.rb +126 -126
  43. data/lib/windows/security.rb +477 -477
  44. data/lib/windows/security/authentication.rb +30 -30
  45. data/lib/windows/service.rb +140 -140
  46. data/lib/windows/shell.rb +169 -169
  47. data/lib/windows/sound.rb +37 -37
  48. data/lib/windows/synchronize.rb +131 -131
  49. data/lib/windows/system_info.rb +227 -222
  50. data/lib/windows/thread.rb +62 -62
  51. data/lib/windows/time.rb +46 -46
  52. data/lib/windows/tool_helper.rb +34 -34
  53. data/lib/windows/volume.rb +59 -59
  54. data/lib/windows/window.rb +79 -79
  55. data/lib/windows/window/classes.rb +57 -57
  56. data/lib/windows/window/dialog.rb +89 -89
  57. data/lib/windows/window/menu.rb +100 -100
  58. data/lib/windows/window/message.rb +295 -295
  59. data/lib/windows/window/properties.rb +18 -18
  60. data/lib/windows/window/timer.rb +17 -17
  61. data/test/tc_clipboard.rb +41 -41
  62. data/test/tc_com.rb +32 -32
  63. data/test/tc_com_automation.rb +15 -15
  64. data/test/tc_console.rb +108 -108
  65. data/test/tc_debug.rb +48 -48
  66. data/test/tc_device_io.rb +29 -29
  67. data/test/tc_directory.rb +25 -25
  68. data/test/tc_error.rb +49 -49
  69. data/test/tc_eventlog.rb +58 -58
  70. data/test/tc_file.rb +67 -67
  71. data/test/tc_file_mapping.rb +38 -38
  72. data/test/tc_filesystem.rb +27 -27
  73. data/test/tc_gdi_bitmap.rb +25 -25
  74. data/test/tc_gdi_metafile.rb +23 -23
  75. data/test/tc_handle.rb +36 -36
  76. data/test/tc_library.rb +37 -37
  77. data/test/tc_limits.rb +34 -34
  78. data/test/tc_mailslot.rb +22 -22
  79. data/test/tc_memory.rb +44 -44
  80. data/test/tc_msvcrt_buffer.rb +68 -68
  81. data/test/tc_msvcrt_directory.rb +98 -98
  82. data/test/tc_msvcrt_file.rb +80 -80
  83. data/test/tc_msvcrt_io.rb +48 -48
  84. data/test/tc_msvcrt_string.rb +93 -93
  85. data/test/tc_msvcrt_time.rb +29 -29
  86. data/test/tc_national.rb +38 -38
  87. data/test/tc_network_management.rb +32 -32
  88. data/test/tc_network_snmp.rb +31 -31
  89. data/test/tc_network_winsock.rb +34 -34
  90. data/test/tc_nio.rb +32 -32
  91. data/test/tc_ntfs_winternl.rb +29 -29
  92. data/test/tc_path.rb +90 -90
  93. data/test/tc_pipe.rb +53 -53
  94. data/test/tc_process.rb +24 -24
  95. data/test/tc_registry.rb +29 -29
  96. data/test/tc_security.rb +104 -104
  97. data/test/tc_security_authentication.rb +34 -34
  98. data/test/tc_service.rb +57 -57
  99. data/test/tc_shell.rb +34 -34
  100. data/test/tc_sound.rb +37 -37
  101. data/test/tc_synchronize.rb +75 -75
  102. data/test/tc_system_info.rb +43 -43
  103. data/test/tc_thread.rb +29 -29
  104. data/test/tc_time.rb +32 -32
  105. data/test/tc_tool_helper.rb +29 -29
  106. data/test/tc_volume.rb +47 -47
  107. data/test/tc_window.rb +45 -45
  108. data/test/tc_window_classes.rb +33 -33
  109. data/test/tc_window_dialog.rb +33 -33
  110. data/test/tc_window_menu.rb +29 -29
  111. data/test/tc_window_message.rb +33 -33
  112. data/test/tc_window_properties.rb +29 -29
  113. data/test/tc_window_timer.rb +29 -29
  114. data/windows-pr.gemspec +34 -34
  115. metadata +4 -4
@@ -1,147 +1,147 @@
1
- require 'windows/api'
2
-
3
- module Windows
4
- module COM
5
- module Automation
6
- API.auto_namespace = 'Windows::COM::Automation'
7
- API.auto_constant = true
8
- API.auto_method = true
9
- API.auto_unicode = false
10
-
11
- REGKIND_DEFAULT = 0
12
- REGKIND_REGISTER = 1
13
- REGKIND_NONE = 2
14
-
15
- # VARKIND enum
16
-
17
- VAR_PERINSTANCE = 0
18
- VAR_STATIC = 1
19
- VAR_CONST = 2
20
- VAR_DISPATCH = 3
21
-
22
- # TYPEKIND enum
23
-
24
- TKIND_ENUM = 0
25
- TKIND_RECORD = 1
26
- TKIND_MODULE = 2
27
- TKIND_INTERFACE = 3
28
- TKIND_DISPATCH = 4
29
- TKIND_COCLASS = 5
30
- TKIND_ALIAS = 6
31
- TKIND_UNION = 7
32
- TKIND_MAX = 8
33
-
34
- # LIBFLAGS enum
35
-
36
- LIBFLAG_FRESTRICTED = 0x1
37
- LIBFLAG_FCONTROL = 0x2
38
- LIBFLAG_FHIDDEN = 0x4
39
- LIBFLAG_FHASDISKIMAGE = 0x8
40
-
41
- PARAMFLAG_NONE = 0
42
- PARAMFLAG_FIN = 0x1
43
- PARAMFLAG_FOUT = 0x2
44
- PARAMFLAG_FLCID = 0x4
45
- PARAMFLAG_FRETVAL = 0x8
46
- PARAMFLAG_FOPT = 0x10
47
- PARAMFLAG_FHASDEFAULT = 0x20
48
- PARAMFLAG_FHASCUSTDATA = 0x40
49
-
50
- # FUNCFLAGS enum
51
-
52
- FUNCFLAG_FRESTRICTED = 0x1
53
- FUNCFLAG_FSOURCE = 0x2
54
- FUNCFLAG_FBINDABLE = 0x4
55
- FUNCFLAG_FREQUESTEDIT = 0x8
56
- FUNCFLAG_FDISPLAYBIND = 0x10
57
- FUNCFLAG_FDEFAULTBIND = 0x20
58
- FUNCFLAG_FHIDDEN = 0x40
59
- FUNCFLAG_FUSESGETLASTERROR = 0x80
60
- FUNCFLAG_FDEFAULTCOLLELEM = 0x100
61
- FUNCFLAG_FUIDEFAULT = 0x200
62
- FUNCFLAG_FNONBROWSABLE = 0x400
63
- FUNCFLAG_FREPLACEABLE = 0x800
64
- FUNCFLAG_FIMMEDIATEBIND = 0x1000
65
-
66
- # TYPEFLAGS enum
67
-
68
- TYPEFLAG_FAPPOBJECT = 0x1
69
- TYPEFLAG_FCANCREATE = 0x2
70
- TYPEFLAG_FLICENSED = 0x4
71
- TYPEFLAG_FPREDECLID = 0x8
72
- TYPEFLAG_FHIDDEN = 0x10
73
- TYPEFLAG_FCONTROL = 0x20
74
- TYPEFLAG_FDUAL = 0x40
75
- TYPEFLAG_FNONEXTENSIBLE = 0x80
76
- TYPEFLAG_FOLEAUTOMATION = 0x100
77
- TYPEFLAG_FRESTRICTED = 0x200
78
- TYPEFLAG_FAGGREGATABLE = 0x400
79
- TYPEFLAG_FREPLACEABLE = 0x800
80
- TYPEFLAG_FDISPATCHABLE = 0x1000
81
- TYPEFLAG_FREVERSEBIND = 0x2000
82
- TYPEFLAG_FPROXY = 0x4000
83
-
84
- # VARFLAGS enum
85
-
86
- VARFLAG_FREADONLY = 0x1
87
- VARFLAG_FSOURCE = 0x2
88
- VARFLAG_FBINDABLE = 0x4
89
- VARFLAG_FREQUESTEDIT = 0x8
90
- VARFLAG_FDISPLAYBIND = 0x10
91
- VARFLAG_FDEFAULTBIND = 0x20
92
- VARFLAG_FHIDDEN = 0x40
93
- VARFLAG_FRESTRICTED = 0x80
94
- VARFLAG_FDEFAULTCOLLELEM = 0x100
95
- VARFLAG_FUIDEFAULT = 0x200
96
- VARFLAG_FNONBROWSABLE = 0x400
97
- VARFLAG_FREPLACEABLE = 0x800
98
- VARFLAG_FIMMEDIATEBIND = 0x1000
99
-
100
- API.new('BstrFromVector', 'PP', 'L', 'oleaut32')
101
- API.new('CreateErrorInfo', 'P', 'L', 'oleaut32')
102
- API.new('CreateTypeLib2', 'PPP', 'L', 'oleaut32')
103
- API.new('DispGetIDsOfNames', 'PPLP', 'L', 'oleaut32')
104
- API.new('DispGetParam', 'PLLPP', 'L', 'oleaut32')
105
- API.new('DispInvoke', 'PPPLPPPP', 'L', 'oleaut32')
106
- API.new('GetActiveObject', 'PPP', 'L', 'oleaut32')
107
- API.new('LoadRegTypeLib', 'PLLLP', 'L', 'oleaut32')
108
- API.new('LoadTypeLib', 'PP', 'L', 'oleaut32')
109
- API.new('LoadTypeLibEx', 'PLP', 'L', 'oleaut32')
110
- API.new('RegisterActiveObject', 'PPLP', 'L', 'oleaut32')
111
- API.new('RevokeActiveObject', 'LP', 'L', 'oleaut32')
112
- API.new('RegisterTypeLib', 'PPP', 'L', 'oleaut32')
113
- API.new('SafeArrayAccessData', 'PP', 'L', 'oleaut32')
114
- API.new('SafeArrayAllocData', 'P', 'L', 'oleaut32')
115
- API.new('SafeArrayAllocDescriptor', 'LP', 'L', 'oleaut32')
116
- API.new('SafeArrayCopy', 'PP', 'L', 'oleaut32')
117
- API.new('SafeArrayCopyData', 'PP', 'L', 'oleaut32')
118
- API.new('SafeArrayCreate', 'LLP', 'L', 'oleaut32')
119
- API.new('SafeArrayCreateVector', 'LLL', 'L', 'oleaut32')
120
- API.new('SafeArrayDestroy', 'P', 'L', 'oleaut32')
121
- API.new('SafeArrayDestroyData', 'P', 'L', 'oleaut32')
122
- API.new('SafeArrayDestroyDescriptor', 'P', 'L', 'oleaut32')
123
- API.new('SafeArrayGetDim', 'P', 'L', 'oleaut32')
124
- API.new('SafeArrayGetElement', 'PLP', 'L', 'oleaut32')
125
- API.new('SafeArrayGetElemsize', 'P', 'L', 'oleaut32')
126
- API.new('SafeArrayGetLBound', 'PLP', 'L', 'oleaut32')
127
- API.new('SafeArrayGetUBound', 'PLP', 'L', 'oleaut32')
128
- API.new('SafeArrayLock', 'P', 'L', 'oleaut32')
129
- API.new('SafeArrayPtrOfIndex', 'PPP', 'L', 'oleaut32')
130
- API.new('SafeArrayPutElement', 'PPP', 'L', 'oleaut32')
131
- API.new('SafeArrayRedim', 'PP', 'L', 'oleaut32')
132
- API.new('SafeArrayUnaccessData', 'P', 'L', 'oleaut32')
133
- API.new('SafeArrayUnlock', 'P', 'L', 'oleaut32')
134
- API.new('SetErrorInfo', 'LP', 'L', 'oleaut32')
135
- API.new('SysAllocString', 'P', 'L', 'oleaut32')
136
- API.new('SysAllocStringByteLen', 'PI', 'L', 'oleaut32')
137
- API.new('SysFreeString', 'P', 'V', 'oleaut32')
138
- API.new('SysReAllocString', 'PP', 'L', 'oleaut32')
139
- API.new('SysReAllocStringLen', 'PPI', 'L', 'oleaut32')
140
- API.new('SysStringByteLen', 'P', 'L', 'oleaut32')
141
- API.new('SysStringLen', 'P', 'L', 'oleaut32')
142
- API.new('SystemTimeToVariantTime', 'PP', 'I', 'oleaut32')
143
- API.new('UnRegisterTypeLib', 'PLLLL', 'I', 'oleaut32')
144
- API.new('VectorFromBstr', 'PP', 'L', 'oleaut32')
145
- end
146
- end
147
- end
1
+ require 'windows/api'
2
+
3
+ module Windows
4
+ module COM
5
+ module Automation
6
+ API.auto_namespace = 'Windows::COM::Automation'
7
+ API.auto_constant = true
8
+ API.auto_method = true
9
+ API.auto_unicode = false
10
+
11
+ REGKIND_DEFAULT = 0
12
+ REGKIND_REGISTER = 1
13
+ REGKIND_NONE = 2
14
+
15
+ # VARKIND enum
16
+
17
+ VAR_PERINSTANCE = 0
18
+ VAR_STATIC = 1
19
+ VAR_CONST = 2
20
+ VAR_DISPATCH = 3
21
+
22
+ # TYPEKIND enum
23
+
24
+ TKIND_ENUM = 0
25
+ TKIND_RECORD = 1
26
+ TKIND_MODULE = 2
27
+ TKIND_INTERFACE = 3
28
+ TKIND_DISPATCH = 4
29
+ TKIND_COCLASS = 5
30
+ TKIND_ALIAS = 6
31
+ TKIND_UNION = 7
32
+ TKIND_MAX = 8
33
+
34
+ # LIBFLAGS enum
35
+
36
+ LIBFLAG_FRESTRICTED = 0x1
37
+ LIBFLAG_FCONTROL = 0x2
38
+ LIBFLAG_FHIDDEN = 0x4
39
+ LIBFLAG_FHASDISKIMAGE = 0x8
40
+
41
+ PARAMFLAG_NONE = 0
42
+ PARAMFLAG_FIN = 0x1
43
+ PARAMFLAG_FOUT = 0x2
44
+ PARAMFLAG_FLCID = 0x4
45
+ PARAMFLAG_FRETVAL = 0x8
46
+ PARAMFLAG_FOPT = 0x10
47
+ PARAMFLAG_FHASDEFAULT = 0x20
48
+ PARAMFLAG_FHASCUSTDATA = 0x40
49
+
50
+ # FUNCFLAGS enum
51
+
52
+ FUNCFLAG_FRESTRICTED = 0x1
53
+ FUNCFLAG_FSOURCE = 0x2
54
+ FUNCFLAG_FBINDABLE = 0x4
55
+ FUNCFLAG_FREQUESTEDIT = 0x8
56
+ FUNCFLAG_FDISPLAYBIND = 0x10
57
+ FUNCFLAG_FDEFAULTBIND = 0x20
58
+ FUNCFLAG_FHIDDEN = 0x40
59
+ FUNCFLAG_FUSESGETLASTERROR = 0x80
60
+ FUNCFLAG_FDEFAULTCOLLELEM = 0x100
61
+ FUNCFLAG_FUIDEFAULT = 0x200
62
+ FUNCFLAG_FNONBROWSABLE = 0x400
63
+ FUNCFLAG_FREPLACEABLE = 0x800
64
+ FUNCFLAG_FIMMEDIATEBIND = 0x1000
65
+
66
+ # TYPEFLAGS enum
67
+
68
+ TYPEFLAG_FAPPOBJECT = 0x1
69
+ TYPEFLAG_FCANCREATE = 0x2
70
+ TYPEFLAG_FLICENSED = 0x4
71
+ TYPEFLAG_FPREDECLID = 0x8
72
+ TYPEFLAG_FHIDDEN = 0x10
73
+ TYPEFLAG_FCONTROL = 0x20
74
+ TYPEFLAG_FDUAL = 0x40
75
+ TYPEFLAG_FNONEXTENSIBLE = 0x80
76
+ TYPEFLAG_FOLEAUTOMATION = 0x100
77
+ TYPEFLAG_FRESTRICTED = 0x200
78
+ TYPEFLAG_FAGGREGATABLE = 0x400
79
+ TYPEFLAG_FREPLACEABLE = 0x800
80
+ TYPEFLAG_FDISPATCHABLE = 0x1000
81
+ TYPEFLAG_FREVERSEBIND = 0x2000
82
+ TYPEFLAG_FPROXY = 0x4000
83
+
84
+ # VARFLAGS enum
85
+
86
+ VARFLAG_FREADONLY = 0x1
87
+ VARFLAG_FSOURCE = 0x2
88
+ VARFLAG_FBINDABLE = 0x4
89
+ VARFLAG_FREQUESTEDIT = 0x8
90
+ VARFLAG_FDISPLAYBIND = 0x10
91
+ VARFLAG_FDEFAULTBIND = 0x20
92
+ VARFLAG_FHIDDEN = 0x40
93
+ VARFLAG_FRESTRICTED = 0x80
94
+ VARFLAG_FDEFAULTCOLLELEM = 0x100
95
+ VARFLAG_FUIDEFAULT = 0x200
96
+ VARFLAG_FNONBROWSABLE = 0x400
97
+ VARFLAG_FREPLACEABLE = 0x800
98
+ VARFLAG_FIMMEDIATEBIND = 0x1000
99
+
100
+ API.new('BstrFromVector', 'PP', 'L', 'oleaut32')
101
+ API.new('CreateErrorInfo', 'P', 'L', 'oleaut32')
102
+ API.new('CreateTypeLib2', 'PPP', 'L', 'oleaut32')
103
+ API.new('DispGetIDsOfNames', 'PPLP', 'L', 'oleaut32')
104
+ API.new('DispGetParam', 'PLLPP', 'L', 'oleaut32')
105
+ API.new('DispInvoke', 'PPPLPPPP', 'L', 'oleaut32')
106
+ API.new('GetActiveObject', 'PPP', 'L', 'oleaut32')
107
+ API.new('LoadRegTypeLib', 'PLLLP', 'L', 'oleaut32')
108
+ API.new('LoadTypeLib', 'PP', 'L', 'oleaut32')
109
+ API.new('LoadTypeLibEx', 'PLP', 'L', 'oleaut32')
110
+ API.new('RegisterActiveObject', 'PPLP', 'L', 'oleaut32')
111
+ API.new('RevokeActiveObject', 'LP', 'L', 'oleaut32')
112
+ API.new('RegisterTypeLib', 'PPP', 'L', 'oleaut32')
113
+ API.new('SafeArrayAccessData', 'PP', 'L', 'oleaut32')
114
+ API.new('SafeArrayAllocData', 'P', 'L', 'oleaut32')
115
+ API.new('SafeArrayAllocDescriptor', 'LP', 'L', 'oleaut32')
116
+ API.new('SafeArrayCopy', 'PP', 'L', 'oleaut32')
117
+ API.new('SafeArrayCopyData', 'PP', 'L', 'oleaut32')
118
+ API.new('SafeArrayCreate', 'LLP', 'L', 'oleaut32')
119
+ API.new('SafeArrayCreateVector', 'LLL', 'L', 'oleaut32')
120
+ API.new('SafeArrayDestroy', 'P', 'L', 'oleaut32')
121
+ API.new('SafeArrayDestroyData', 'P', 'L', 'oleaut32')
122
+ API.new('SafeArrayDestroyDescriptor', 'P', 'L', 'oleaut32')
123
+ API.new('SafeArrayGetDim', 'P', 'L', 'oleaut32')
124
+ API.new('SafeArrayGetElement', 'PLP', 'L', 'oleaut32')
125
+ API.new('SafeArrayGetElemsize', 'P', 'L', 'oleaut32')
126
+ API.new('SafeArrayGetLBound', 'PLP', 'L', 'oleaut32')
127
+ API.new('SafeArrayGetUBound', 'PLP', 'L', 'oleaut32')
128
+ API.new('SafeArrayLock', 'P', 'L', 'oleaut32')
129
+ API.new('SafeArrayPtrOfIndex', 'PPP', 'L', 'oleaut32')
130
+ API.new('SafeArrayPutElement', 'PPP', 'L', 'oleaut32')
131
+ API.new('SafeArrayRedim', 'PP', 'L', 'oleaut32')
132
+ API.new('SafeArrayUnaccessData', 'P', 'L', 'oleaut32')
133
+ API.new('SafeArrayUnlock', 'P', 'L', 'oleaut32')
134
+ API.new('SetErrorInfo', 'LP', 'L', 'oleaut32')
135
+ API.new('SysAllocString', 'P', 'L', 'oleaut32')
136
+ API.new('SysAllocStringByteLen', 'PI', 'L', 'oleaut32')
137
+ API.new('SysFreeString', 'P', 'V', 'oleaut32')
138
+ API.new('SysReAllocString', 'PP', 'L', 'oleaut32')
139
+ API.new('SysReAllocStringLen', 'PPI', 'L', 'oleaut32')
140
+ API.new('SysStringByteLen', 'P', 'L', 'oleaut32')
141
+ API.new('SysStringLen', 'P', 'L', 'oleaut32')
142
+ API.new('SystemTimeToVariantTime', 'PP', 'I', 'oleaut32')
143
+ API.new('UnRegisterTypeLib', 'PLLLL', 'I', 'oleaut32')
144
+ API.new('VectorFromBstr', 'PP', 'L', 'oleaut32')
145
+ end
146
+ end
147
+ end
@@ -1,22 +1,22 @@
1
- require 'windows/api'
2
-
3
- module Windows
4
- module COM
5
- module Variant
6
- API.auto_namespace = 'Windows::COM::Variant'
7
- API.auto_constant = true
8
- API.auto_method = true
9
- API.auto_unicode = false
10
-
11
- VARIANT_TRUE = -1
12
- VARIANT_FALSE = 0
13
-
14
- API.new('VariantChangeType', 'PPIL', 'L', 'oleaut32')
15
- API.new('VariantChangeTypeEx', 'PPLLL', 'L', 'oleaut32')
16
- API.new('VariantClear', 'P', 'L', 'oleaut32')
17
- API.new('VariantCopy', 'PP', 'L', 'oleaut32')
18
- API.new('VariantCopyInd', 'PP', 'L', 'oleaut32')
19
- API.new('VariantInit', 'P', 'V', 'oleaut32')
20
- end
21
- end
22
- end
1
+ require 'windows/api'
2
+
3
+ module Windows
4
+ module COM
5
+ module Variant
6
+ API.auto_namespace = 'Windows::COM::Variant'
7
+ API.auto_constant = true
8
+ API.auto_method = true
9
+ API.auto_unicode = false
10
+
11
+ VARIANT_TRUE = -1
12
+ VARIANT_FALSE = 0
13
+
14
+ API.new('VariantChangeType', 'PPIL', 'L', 'oleaut32')
15
+ API.new('VariantChangeTypeEx', 'PPLLL', 'L', 'oleaut32')
16
+ API.new('VariantClear', 'P', 'L', 'oleaut32')
17
+ API.new('VariantCopy', 'PP', 'L', 'oleaut32')
18
+ API.new('VariantCopyInd', 'PP', 'L', 'oleaut32')
19
+ API.new('VariantInit', 'P', 'V', 'oleaut32')
20
+ end
21
+ end
22
+ end
@@ -1,112 +1,112 @@
1
- require 'windows/api'
2
-
3
- module Windows
4
- module Console
5
- API.auto_namespace = 'Windows::Console'
6
- API.auto_constant = true
7
- API.auto_method = true
8
- API.auto_unicode = true
9
-
10
- CTRL_C_EVENT = 0
11
- CTRL_BREAK_EVENT = 1
12
- CTRL_CLOSE_EVENT = 2
13
- CTRL_LOGOFF_EVENT = 5
14
- CTRL_SHUTDOWN_EVENT = 6
15
-
16
- ENABLE_PROCESSED_INPUT = 0x0001
17
- ENABLE_LINE_INPUT = 0x0002
18
- ENABLE_WRAP_AT_EOL_OUTPUT = 0x0002
19
- ENABLE_ECHO_INPUT = 0x0004
20
- ENABLE_WINDOW_INPUT = 0x0008
21
- ENABLE_MOUSE_INPUT = 0x0010
22
- ENABLE_INSERT_MODE = 0x0020
23
- ENABLE_QUICK_EDIT_MODE = 0x0040
24
-
25
- STD_INPUT_HANDLE = -10
26
- STD_OUTPUT_HANDLE = -11
27
- STD_ERROR_HANDLE = -12
28
-
29
- # Console window constants
30
- FOREGROUND_BLUE = 0x0001
31
- FOREGROUND_GREEN = 0x0002
32
- FOREGROUND_RED = 0x0004
33
- FOREGROUND_INTENSITY = 0x0008
34
- BACKGROUND_BLUE = 0x0010
35
- BACKGROUND_GREEN = 0x0020
36
- BACKGROUND_RED = 0x0040
37
- BACKGROUND_INTENSITY = 0x0080
38
- COMMON_LVB_LEADING_BYTE = 0x0100
39
- COMMON_LVB_TRAILING_BYTE = 0x0200
40
- COMMON_LVB_GRID_HORIZONTAL = 0x0400
41
- COMMON_LVB_GRID_LVERTICAL = 0x0800
42
- COMMON_LVB_GRID_RVERTICAL = 0x1000
43
- COMMON_LVB_REVERSE_VIDEO = 0x4000
44
- COMMON_LVB_UNDERSCORE = 0x8000
45
- COMMON_LVB_SBCSDBCS = 0x0300
46
-
47
- CONSOLE_FULLSCREEN = 1
48
- CONSOLE_OVERSTRIKE = 1
49
- CONSOLE_FULLSCREEN_HARDWARE = 2
50
-
51
- API.new('AddConsoleAlias', 'PPP', 'B')
52
- API.new('AllocConsole', 'V', 'B')
53
- API.new('CreateConsoleScreenBuffer', 'LLPLP', 'L')
54
- API.new('FillConsoleOutputAttribute', 'LILLP', 'B')
55
- API.new('FillConsoleOutputCharacter', 'LILLP', 'B')
56
- API.new('FlushConsoleInputBuffer', 'L', 'B')
57
- API.new('FreeConsole', 'V', 'B')
58
- API.new('GenerateConsoleCtrlEvent', 'LL', 'B')
59
- API.new('GetConsoleAlias', 'PPLP', 'L')
60
- API.new('GetConsoleAliases', 'PLP', 'L')
61
- API.new('GetConsoleAliasesLength', 'P', 'L')
62
- API.new('GetConsoleAliasExes', 'PL', 'L')
63
- API.new('GetConsoleAliasExesLength', 'V', 'L')
64
- API.new('GetConsoleCP', 'V', 'I')
65
- API.new('GetConsoleCursorInfo', 'LP', 'B')
66
- API.new('GetConsoleMode', 'LP', 'B')
67
- API.new('GetConsoleOutputCP', 'V', 'I')
68
- API.new('GetConsoleScreenBufferInfo', 'LP', 'B')
69
- API.new('GetConsoleTitle', 'PL', 'L')
70
- API.new('GetConsoleWindow', 'V', 'L')
71
- API.new('GetLargestConsoleWindowSize', 'L', 'L')
72
- API.new('GetNumberOfConsoleInputEvents', 'LP', 'B')
73
- API.new('GetNumberOfConsoleMouseButtons', 'L', 'B')
74
- API.new('GetStdHandle', 'L', 'L')
75
- API.new('PeekConsoleInput', 'LPLP', 'B')
76
- API.new('ReadConsole', 'LPLPP', 'B')
77
- API.new('ReadConsoleInput', 'LPLP', 'B')
78
- API.new('ReadConsoleOutput', 'LPLLP', 'B')
79
- API.new('ReadConsoleOutputAttribute', 'LPLLP', 'B')
80
- API.new('ReadConsoleOutputCharacter', 'LPLLP', 'B')
81
- API.new('ScrollConsoleScreenBuffer', 'LPPLP', 'B')
82
- API.new('SetConsoleActiveScreenBuffer', 'L', 'B')
83
- API.new('SetConsoleCP', 'L', 'B')
84
- API.new('SetConsoleCtrlHandler', 'KI', 'B')
85
- API.new('SetConsoleCursorInfo', 'LP', 'B')
86
- API.new('SetConsoleCursorPosition', 'LP', 'B')
87
- API.new('SetConsoleMode', 'LL', 'B')
88
- API.new('SetConsoleOutputCP', 'I', 'B')
89
- API.new('SetConsoleScreenBufferSize', 'LL', 'B')
90
- API.new('SetConsoleTextAttribute', 'LL', 'B')
91
- API.new('SetConsoleTitle', 'P', 'B')
92
- API.new('SetConsoleWindowInfo', 'LIP', 'B')
93
- API.new('SetStdHandle', 'LL', 'B')
94
- API.new('WriteConsole', 'LPLPP', 'B')
95
- API.new('WriteConsoleInput', 'LPLP', 'B')
96
- API.new('WriteConsoleOutput', 'LPLLP', 'B')
97
- API.new('WriteConsoleOutputAttribute', 'LPLLP', 'B')
98
- API.new('WriteConsoleOutputCharacter', 'LPLLP', 'B')
99
-
100
- begin
101
- API.new('AttachConsole', 'L', 'B')
102
- API.new('GetConsoleDisplayMode', 'P', 'L')
103
- API.new('GetConsoleFontSize', 'LL', 'L')
104
- API.new('GetConsoleProcessList', 'PL', 'L')
105
- API.new('GetConsoleSelectionInfo', 'P', 'B')
106
- API.new('GetCurrentConsoleFont' , 'LIP', 'B')
107
- API.new('SetConsoleDisplayMode', 'LLP', 'B')
108
- rescue Win32::API::LoadLibraryError
109
- # Windows XP or later
110
- end
111
- end
112
- end
1
+ require 'windows/api'
2
+
3
+ module Windows
4
+ module Console
5
+ API.auto_namespace = 'Windows::Console'
6
+ API.auto_constant = true
7
+ API.auto_method = true
8
+ API.auto_unicode = true
9
+
10
+ CTRL_C_EVENT = 0
11
+ CTRL_BREAK_EVENT = 1
12
+ CTRL_CLOSE_EVENT = 2
13
+ CTRL_LOGOFF_EVENT = 5
14
+ CTRL_SHUTDOWN_EVENT = 6
15
+
16
+ ENABLE_PROCESSED_INPUT = 0x0001
17
+ ENABLE_LINE_INPUT = 0x0002
18
+ ENABLE_WRAP_AT_EOL_OUTPUT = 0x0002
19
+ ENABLE_ECHO_INPUT = 0x0004
20
+ ENABLE_WINDOW_INPUT = 0x0008
21
+ ENABLE_MOUSE_INPUT = 0x0010
22
+ ENABLE_INSERT_MODE = 0x0020
23
+ ENABLE_QUICK_EDIT_MODE = 0x0040
24
+
25
+ STD_INPUT_HANDLE = -10
26
+ STD_OUTPUT_HANDLE = -11
27
+ STD_ERROR_HANDLE = -12
28
+
29
+ # Console window constants
30
+ FOREGROUND_BLUE = 0x0001
31
+ FOREGROUND_GREEN = 0x0002
32
+ FOREGROUND_RED = 0x0004
33
+ FOREGROUND_INTENSITY = 0x0008
34
+ BACKGROUND_BLUE = 0x0010
35
+ BACKGROUND_GREEN = 0x0020
36
+ BACKGROUND_RED = 0x0040
37
+ BACKGROUND_INTENSITY = 0x0080
38
+ COMMON_LVB_LEADING_BYTE = 0x0100
39
+ COMMON_LVB_TRAILING_BYTE = 0x0200
40
+ COMMON_LVB_GRID_HORIZONTAL = 0x0400
41
+ COMMON_LVB_GRID_LVERTICAL = 0x0800
42
+ COMMON_LVB_GRID_RVERTICAL = 0x1000
43
+ COMMON_LVB_REVERSE_VIDEO = 0x4000
44
+ COMMON_LVB_UNDERSCORE = 0x8000
45
+ COMMON_LVB_SBCSDBCS = 0x0300
46
+
47
+ CONSOLE_FULLSCREEN = 1
48
+ CONSOLE_OVERSTRIKE = 1
49
+ CONSOLE_FULLSCREEN_HARDWARE = 2
50
+
51
+ API.new('AddConsoleAlias', 'PPP', 'B')
52
+ API.new('AllocConsole', 'V', 'B')
53
+ API.new('CreateConsoleScreenBuffer', 'LLPLP', 'L')
54
+ API.new('FillConsoleOutputAttribute', 'LILLP', 'B')
55
+ API.new('FillConsoleOutputCharacter', 'LILLP', 'B')
56
+ API.new('FlushConsoleInputBuffer', 'L', 'B')
57
+ API.new('FreeConsole', 'V', 'B')
58
+ API.new('GenerateConsoleCtrlEvent', 'LL', 'B')
59
+ API.new('GetConsoleAlias', 'PPLP', 'L')
60
+ API.new('GetConsoleAliases', 'PLP', 'L')
61
+ API.new('GetConsoleAliasesLength', 'P', 'L')
62
+ API.new('GetConsoleAliasExes', 'PL', 'L')
63
+ API.new('GetConsoleAliasExesLength', 'V', 'L')
64
+ API.new('GetConsoleCP', 'V', 'I')
65
+ API.new('GetConsoleCursorInfo', 'LP', 'B')
66
+ API.new('GetConsoleMode', 'LP', 'B')
67
+ API.new('GetConsoleOutputCP', 'V', 'I')
68
+ API.new('GetConsoleScreenBufferInfo', 'LP', 'B')
69
+ API.new('GetConsoleTitle', 'PL', 'L')
70
+ API.new('GetConsoleWindow', 'V', 'L')
71
+ API.new('GetLargestConsoleWindowSize', 'L', 'L')
72
+ API.new('GetNumberOfConsoleInputEvents', 'LP', 'B')
73
+ API.new('GetNumberOfConsoleMouseButtons', 'L', 'B')
74
+ API.new('GetStdHandle', 'L', 'L')
75
+ API.new('PeekConsoleInput', 'LPLP', 'B')
76
+ API.new('ReadConsole', 'LPLPP', 'B')
77
+ API.new('ReadConsoleInput', 'LPLP', 'B')
78
+ API.new('ReadConsoleOutput', 'LPLLP', 'B')
79
+ API.new('ReadConsoleOutputAttribute', 'LPLLP', 'B')
80
+ API.new('ReadConsoleOutputCharacter', 'LPLLP', 'B')
81
+ API.new('ScrollConsoleScreenBuffer', 'LPPLP', 'B')
82
+ API.new('SetConsoleActiveScreenBuffer', 'L', 'B')
83
+ API.new('SetConsoleCP', 'L', 'B')
84
+ API.new('SetConsoleCtrlHandler', 'KI', 'B')
85
+ API.new('SetConsoleCursorInfo', 'LP', 'B')
86
+ API.new('SetConsoleCursorPosition', 'LP', 'B')
87
+ API.new('SetConsoleMode', 'LL', 'B')
88
+ API.new('SetConsoleOutputCP', 'I', 'B')
89
+ API.new('SetConsoleScreenBufferSize', 'LL', 'B')
90
+ API.new('SetConsoleTextAttribute', 'LL', 'B')
91
+ API.new('SetConsoleTitle', 'P', 'B')
92
+ API.new('SetConsoleWindowInfo', 'LIP', 'B')
93
+ API.new('SetStdHandle', 'LL', 'B')
94
+ API.new('WriteConsole', 'LPLPP', 'B')
95
+ API.new('WriteConsoleInput', 'LPLP', 'B')
96
+ API.new('WriteConsoleOutput', 'LPLLP', 'B')
97
+ API.new('WriteConsoleOutputAttribute', 'LPLLP', 'B')
98
+ API.new('WriteConsoleOutputCharacter', 'LPLLP', 'B')
99
+
100
+ begin
101
+ API.new('AttachConsole', 'L', 'B')
102
+ API.new('GetConsoleDisplayMode', 'P', 'L')
103
+ API.new('GetConsoleFontSize', 'LL', 'L')
104
+ API.new('GetConsoleProcessList', 'PL', 'L')
105
+ API.new('GetConsoleSelectionInfo', 'P', 'B')
106
+ API.new('GetCurrentConsoleFont' , 'LIP', 'B')
107
+ API.new('SetConsoleDisplayMode', 'LLP', 'B')
108
+ rescue Win32::API::LoadLibraryError
109
+ # Windows XP or later
110
+ end
111
+ end
112
+ end