win32-api 1.9.0-universal-mingw32 → 1.9.1-universal-mingw32
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.
- checksums.yaml +4 -4
- data/CHANGES +3 -0
- data/MANIFEST +1 -1
- data/{README → README.md} +21 -16
- data/ext/win32/api.c +11 -1
- data/lib/win32/ruby21_32/win32/api.so +0 -0
- data/lib/win32/ruby21_64/win32/api.so +0 -0
- data/lib/win32/ruby22_32/win32/api.so +0 -0
- data/lib/win32/ruby22_64/win32/api.so +0 -0
- data/lib/win32/ruby23_32/win32/api.so +0 -0
- data/lib/win32/ruby23_64/win32/api.so +0 -0
- data/lib/win32/ruby24_32/win32/api.so +0 -0
- data/lib/win32/ruby24_64/win32/api.so +0 -0
- data/lib/win32/ruby25_32/win32/api.so +0 -0
- data/lib/win32/ruby25_64/win32/api.so +0 -0
- data/lib/win32/ruby26_32/win32/api.so +0 -0
- data/lib/win32/ruby26_64/win32/api.so +0 -0
- data/lib/win32/ruby27_32/win32/api.so +0 -0
- data/lib/win32/ruby27_64/win32/api.so +0 -0
- data/lib/win32/ruby28_64/win32/api.so +0 -0
- data/lib/win32/ruby2_32/win32/api.so +0 -0
- data/lib/win32/ruby2_64/win32/api.so +0 -0
- data/test/test_win32_api.rb +1 -1
- data/win32-api.gemspec +2 -2
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50f2020c700c00a8f72649d59a580d017a3418c42db26dc79cd6d379ba589239
|
4
|
+
data.tar.gz: d591539fa8826a781bb96131f7a79cc018e2bf4f8bb38b132bdc3d93d1236c86
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f2db91230d8b7a4c360fb698d75a2e30106aa7786b63d9d0536b87d938f1c9771a5d6d8516002ac3ddc0b03086c72b15780ab8ffbc2ca3d28bee8be3dad5fbb
|
7
|
+
data.tar.gz: 879067f098f0f684925eaa592009c77e638447ad738935106775f857a81aefe4afc9b2500e5108645fc7e3dbb73866473d8112df00af9628f149f6559b165f56
|
data/CHANGES
CHANGED
data/MANIFEST
CHANGED
data/{README → README.md}
RENAMED
@@ -1,8 +1,10 @@
|
|
1
|
-
|
1
|
+
# Description
|
2
2
|
This is a drop-in replacement for the Win32API library currently part of
|
3
3
|
Ruby's standard library.
|
4
4
|
|
5
|
-
|
5
|
+
# Synopsis
|
6
|
+
|
7
|
+
```ruby
|
6
8
|
require 'win32/api'
|
7
9
|
include Win32
|
8
10
|
|
@@ -35,8 +37,9 @@
|
|
35
37
|
addr = GetProcAddress.call(hlib, 'MessageBeep')
|
36
38
|
func = Win32::API::Function.new(addr, 'L', 'L')
|
37
39
|
func.call(0)
|
40
|
+
```
|
38
41
|
|
39
|
-
|
42
|
+
# Differences between win32-api and Win32API
|
40
43
|
* This library has callback support
|
41
44
|
* This library supports raw function pointers.
|
42
45
|
* This library supports a separate string type for const char* (S).
|
@@ -48,9 +51,9 @@
|
|
48
51
|
* Removed the support for lower case prototype and return types. Always
|
49
52
|
use capital letters.
|
50
53
|
|
51
|
-
|
52
|
-
|
53
|
-
motivation at the time the project was originally created
|
54
|
+
# Developer's Notes
|
55
|
+
NOTE: **Some of the information below is now out of date, but explains my
|
56
|
+
motivation at the time the project was originally created.**
|
54
57
|
|
55
58
|
The current Win32API library that ships with the standard library has been
|
56
59
|
slated for removal from Ruby 2.0 and it will not receive any updates in the
|
@@ -76,7 +79,7 @@
|
|
76
79
|
Most importantly, we can now add, modify and fix any features that we feel
|
77
80
|
best benefit our end users.
|
78
81
|
|
79
|
-
|
82
|
+
# Multiple Binaries
|
80
83
|
As of win32-api 1.4.8 a binary gem is shipped that contains binaries for
|
81
84
|
both Ruby 1.8, Ruby 1.9, and 2.x. For Ruby 2.x, both 32 and 64 bit binaries
|
82
85
|
are included as of release 1.5.0.
|
@@ -84,29 +87,29 @@
|
|
84
87
|
The file under lib/win32 dynamically requires the correct binary based on
|
85
88
|
your version of Ruby.
|
86
89
|
|
87
|
-
|
90
|
+
# Documentation
|
88
91
|
The source file contains inline RDoc documentation. If you installed
|
89
92
|
this file as a gem, then you have the docs. Run "gem server" and point
|
90
93
|
your browser at http://localhost:8808 to see them.
|
91
94
|
|
92
|
-
|
95
|
+
# Warranty
|
93
96
|
This package is provided "as is" and without any express or
|
94
97
|
implied warranties, including, without limitation, the implied
|
95
98
|
warranties of merchantability and fitness for a particular purpose.
|
96
99
|
|
97
|
-
|
100
|
+
# Known Issues
|
98
101
|
Possible callback issues when dealing with multi-threaded applications.
|
99
102
|
|
100
103
|
Please submit any bug reports to the project page at
|
101
104
|
https://github.com/cosmo0920/win32-api
|
102
105
|
|
103
|
-
|
106
|
+
## Contributions
|
104
107
|
Although this library is free, please consider having your company
|
105
108
|
setup a gittip if used by your company professionally.
|
106
109
|
|
107
110
|
http://www.gittip.com/djberg96/
|
108
111
|
|
109
|
-
|
112
|
+
# Future Plans
|
110
113
|
I really don't have future plans for this library since you should use FFI
|
111
114
|
as your preferred C interface going forward. All of my own projects have
|
112
115
|
since been converted to either use FFI or an analogous OLE interface.
|
@@ -115,15 +118,17 @@
|
|
115
118
|
there who are still using it, but I strongly encourage you to convert
|
116
119
|
your projects to FFI when possible.
|
117
120
|
|
118
|
-
|
121
|
+
# Copyright
|
119
122
|
(C) 2003-2015 Daniel J. Berger
|
120
|
-
|
123
|
+
|
124
|
+
(C) 2016-2020 Hiroshi Hatake
|
125
|
+
|
121
126
|
All Rights Reserved
|
122
127
|
|
123
|
-
|
128
|
+
# License
|
124
129
|
Artistic 2.0
|
125
130
|
|
126
|
-
|
131
|
+
# Authors
|
127
132
|
Daniel J. Berger
|
128
133
|
Park Heesob
|
129
134
|
Hiroshi Hatake
|
data/ext/win32/api.c
CHANGED
@@ -37,7 +37,7 @@
|
|
37
37
|
|
38
38
|
|
39
39
|
#define MAX_BUF 1024
|
40
|
-
#define WINDOWS_API_VERSION "1.9.
|
40
|
+
#define WINDOWS_API_VERSION "1.9.1"
|
41
41
|
|
42
42
|
#define _T_VOID 0
|
43
43
|
#define _T_LONG 1
|
@@ -288,8 +288,10 @@ static VALUE api_init(int argc, VALUE* argv, VALUE self)
|
|
288
288
|
if(NIL_P(v_return))
|
289
289
|
v_return = rb_str_new2("L");
|
290
290
|
|
291
|
+
#if defined TAINTING_SUPPORT
|
291
292
|
SafeStringValue(v_dll);
|
292
293
|
SafeStringValue(v_proc);
|
294
|
+
#endif
|
293
295
|
|
294
296
|
hLibrary = LoadLibrary(TEXT(RSTRING_PTR(v_dll)));
|
295
297
|
|
@@ -356,7 +358,9 @@ static VALUE api_init(int argc, VALUE* argv, VALUE self)
|
|
356
358
|
// Push the numeric prototypes onto our int array for later use.
|
357
359
|
|
358
360
|
for(i = 0; i < RARRAY_LEN(v_proto); i++){
|
361
|
+
#if defined TAINTING_SUPPORT
|
359
362
|
SafeStringValue(RARRAY_PTR(v_proto)[i]);
|
363
|
+
#endif
|
360
364
|
switch(*(TCHAR*)StringValuePtr(RARRAY_PTR(v_proto)[i])){
|
361
365
|
case 'L':
|
362
366
|
ptr->prototype[i] = _T_LONG;
|
@@ -391,7 +395,9 @@ static VALUE api_init(int argc, VALUE* argv, VALUE self)
|
|
391
395
|
ptr->return_type = _T_VOID;
|
392
396
|
}
|
393
397
|
else{
|
398
|
+
#if defined TAINTING_SUPPORT
|
394
399
|
SafeStringValue(v_return);
|
400
|
+
#endif
|
395
401
|
switch(*RSTRING_PTR(v_return)){
|
396
402
|
case 'L':
|
397
403
|
ptr->return_type = _T_LONG;
|
@@ -482,7 +488,9 @@ static VALUE func_init(int argc, VALUE* argv, VALUE self){
|
|
482
488
|
// Push the numeric prototypes onto our int array for later use.
|
483
489
|
|
484
490
|
for(i = 0; i < RARRAY_LEN(v_proto); i++){
|
491
|
+
#if defined TAINTING_SUPPORT
|
485
492
|
SafeStringValue(RARRAY_PTR(v_proto)[i]);
|
493
|
+
#endif
|
486
494
|
switch(*(char*)StringValuePtr(RARRAY_PTR(v_proto)[i])){
|
487
495
|
case 'L':
|
488
496
|
ptr->prototype[i] = _T_LONG;
|
@@ -517,7 +525,9 @@ static VALUE func_init(int argc, VALUE* argv, VALUE self){
|
|
517
525
|
ptr->return_type = _T_VOID;
|
518
526
|
}
|
519
527
|
else{
|
528
|
+
#if defined TAINTING_SUPPORT
|
520
529
|
SafeStringValue(v_return);
|
530
|
+
#endif
|
521
531
|
switch(*RSTRING_PTR(v_return)){
|
522
532
|
case 'L':
|
523
533
|
ptr->return_type = _T_LONG;
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/test/test_win32_api.rb
CHANGED
data/win32-api.gemspec
CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = 'win32-api'
|
5
|
-
spec.version = '1.9.
|
5
|
+
spec.version = '1.9.1'
|
6
6
|
spec.authors = ['Daniel J. Berger', 'Park Heesob', 'Hiroshi Hatake']
|
7
7
|
spec.license = 'Artistic-2.0'
|
8
8
|
spec.email = 'djberg96@gmail.com'
|
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.files = Dir['**/*'].reject{ |f| f.include?('git') }
|
14
14
|
|
15
15
|
spec.required_ruby_version = '>= 1.8.2'
|
16
|
-
spec.extra_rdoc_files = ['
|
16
|
+
spec.extra_rdoc_files = ['CHANGES', 'MANIFEST', 'ext/win32/api.c']
|
17
17
|
|
18
18
|
spec.add_development_dependency('test-unit', '>= 2.5.0')
|
19
19
|
spec.add_development_dependency('rake')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: win32-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.9.
|
4
|
+
version: 1.9.1
|
5
5
|
platform: universal-mingw32
|
6
6
|
authors:
|
7
7
|
- Daniel J. Berger
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2020-07-
|
13
|
+
date: 2020-07-14 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: test-unit
|
@@ -49,7 +49,6 @@ email: djberg96@gmail.com
|
|
49
49
|
executables: []
|
50
50
|
extensions: []
|
51
51
|
extra_rdoc_files:
|
52
|
-
- README
|
53
52
|
- CHANGES
|
54
53
|
- MANIFEST
|
55
54
|
- ext/win32/api.c
|
@@ -59,7 +58,7 @@ files:
|
|
59
58
|
- Dockerfile.trunk
|
60
59
|
- Gemfile
|
61
60
|
- MANIFEST
|
62
|
-
- README
|
61
|
+
- README.md
|
63
62
|
- RELEASE.md
|
64
63
|
- Rakefile
|
65
64
|
- appveyor.yml
|