Skip to content

Commit 1a5f5cd

Browse files
committed
Native enumeration example (Windows)
1 parent 19517c9 commit 1a5f5cd

File tree

2 files changed

+349
-1
lines changed

2 files changed

+349
-1
lines changed

examples/enumerate_native/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Args = --enable-native-access=ALL-UNNAMED -H:ConfigurationFileDirectories=config
4747
```
4848

4949
Note the last word of the line. In this case, it is `macos`. Change this to
50-
`linux` or `windows` if needed. (Windows is yet to come.)
50+
`linux` or `windows` if needed.
5151

5252
In your own Maven project, you might also need to move the file or rather rename
5353
directory. It must be named according to the pattern
Lines changed: 348 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,348 @@
1+
{
2+
"foreign": {
3+
"upcalls": [
4+
{
5+
"returnType": "jlong",
6+
"parameterTypes": [
7+
"void*",
8+
"jint",
9+
"jlong",
10+
"jlong"
11+
]
12+
}
13+
],
14+
"downcalls": [
15+
{
16+
"returnType": "void*",
17+
"parameterTypes": [
18+
"void*",
19+
"void*",
20+
"jint"
21+
],
22+
"options": {
23+
"captureCallState": true
24+
}
25+
},
26+
{
27+
"returnType": "jint",
28+
"parameterTypes": [
29+
"jlong",
30+
"void*",
31+
"void*",
32+
"void*",
33+
"void*",
34+
"jint",
35+
"void*",
36+
"jint"
37+
],
38+
"options": {
39+
"captureCallState": true
40+
}
41+
},
42+
{
43+
"returnType": "jint",
44+
"parameterTypes": [
45+
"void*",
46+
"jbyte",
47+
"jint",
48+
"jint",
49+
"void*"
50+
],
51+
"options": {
52+
"captureCallState": true
53+
}
54+
},
55+
{
56+
"returnType": "jlong",
57+
"parameterTypes": [
58+
"void*",
59+
"jint",
60+
"jlong",
61+
"jlong"
62+
]
63+
},
64+
{
65+
"returnType": "jlong",
66+
"parameterTypes": [
67+
"void*",
68+
"void*",
69+
"void*",
70+
"jint"
71+
],
72+
"options": {
73+
"captureCallState": true
74+
}
75+
},
76+
{
77+
"returnType": "void*",
78+
"parameterTypes": [
79+
"void*",
80+
"void*",
81+
"jlong",
82+
"jint"
83+
],
84+
"options": {
85+
"captureCallState": true
86+
}
87+
},
88+
{
89+
"returnType": "jint",
90+
"parameterTypes": [
91+
"jlong",
92+
"void*",
93+
"void*",
94+
"jint",
95+
"void*"
96+
],
97+
"options": {
98+
"captureCallState": true
99+
}
100+
},
101+
{
102+
"returnType": "jint",
103+
"parameterTypes": [
104+
"void*",
105+
"jbyte"
106+
],
107+
"options": {
108+
"captureCallState": true
109+
}
110+
},
111+
{
112+
"returnType": "jint",
113+
"parameterTypes": [
114+
"jlong",
115+
"jint",
116+
"void*"
117+
],
118+
"options": {
119+
"captureCallState": true
120+
}
121+
},
122+
{
123+
"returnType": "jint",
124+
"parameterTypes": [
125+
"jlong"
126+
],
127+
"options": {
128+
"captureCallState": true
129+
}
130+
},
131+
{
132+
"returnType": "jint",
133+
"parameterTypes": [
134+
"void*",
135+
"struct(jbyte,jbyte,jshort,jshort,jshort)",
136+
"void*",
137+
"jint",
138+
"void*",
139+
"void*"
140+
],
141+
"options": {
142+
"captureCallState": true
143+
}
144+
},
145+
{
146+
"returnType": "jint",
147+
"parameterTypes": [
148+
"jlong",
149+
"void*"
150+
],
151+
"options": {
152+
"captureCallState": true
153+
}
154+
},
155+
{
156+
"returnType": "jint",
157+
"parameterTypes": [
158+
"void*",
159+
"void*",
160+
"jint",
161+
"jint"
162+
],
163+
"options": {
164+
"captureCallState": true
165+
}
166+
},
167+
{
168+
"returnType": "void*",
169+
"parameterTypes": [
170+
"void*"
171+
],
172+
"options": {
173+
"captureCallState": true
174+
}
175+
},
176+
{
177+
"returnType": "jint",
178+
"parameterTypes": [
179+
"void*",
180+
"void*"
181+
],
182+
"options": {
183+
"captureCallState": true
184+
}
185+
},
186+
{
187+
"returnType": "jint",
188+
"parameterTypes": [
189+
"void*",
190+
"jint",
191+
"void*",
192+
"jint",
193+
"void*",
194+
"jint",
195+
"void*",
196+
"void*"
197+
],
198+
"options": {
199+
"captureCallState": true
200+
}
201+
},
202+
{
203+
"returnType": "jint",
204+
"parameterTypes": [
205+
"void*"
206+
]
207+
},
208+
{
209+
"returnType": "void*",
210+
"parameterTypes": [
211+
"jint",
212+
"void*",
213+
"void*",
214+
"jint",
215+
"jint",
216+
"jint",
217+
"jint",
218+
"jint",
219+
"void*",
220+
"void*",
221+
"void*",
222+
"void*"
223+
],
224+
"options": {
225+
"captureCallState": true
226+
}
227+
},
228+
{
229+
"returnType": "void*",
230+
"parameterTypes": [
231+
"void*",
232+
"jint",
233+
"jint",
234+
"void*",
235+
"jint",
236+
"jint",
237+
"void*"
238+
],
239+
"options": {
240+
"captureCallState": true
241+
}
242+
},
243+
{
244+
"returnType": "jint",
245+
"parameterTypes": [
246+
"void*",
247+
"void*",
248+
"void*",
249+
"void*",
250+
"jint"
251+
],
252+
"options": {
253+
"captureCallState": true
254+
}
255+
},
256+
{
257+
"returnType": "jshort",
258+
"parameterTypes": [
259+
"void*"
260+
],
261+
"options": {
262+
"captureCallState": true
263+
}
264+
},
265+
{
266+
"returnType": "jint",
267+
"parameterTypes": [
268+
"jlong",
269+
"void*",
270+
"void*",
271+
"jint",
272+
"void*",
273+
"void*"
274+
],
275+
"options": {
276+
"captureCallState": true
277+
}
278+
},
279+
{
280+
"returnType": "jint",
281+
"parameterTypes": [
282+
"void*",
283+
"jbyte",
284+
"void*",
285+
"jint",
286+
"void*",
287+
"void*"
288+
],
289+
"options": {
290+
"captureCallState": true
291+
}
292+
},
293+
{
294+
"returnType": "jint",
295+
"parameterTypes": [
296+
"jint",
297+
"void*",
298+
"jint",
299+
"jint",
300+
"void*",
301+
"jint",
302+
"void*"
303+
],
304+
"options": {
305+
"captureCallState": true
306+
}
307+
},
308+
{
309+
"returnType": "jlong",
310+
"parameterTypes": [
311+
"void*",
312+
"void*"
313+
],
314+
"options": {
315+
"captureCallState": true
316+
}
317+
},
318+
{
319+
"returnType": "jint",
320+
"parameterTypes": [
321+
"void*",
322+
"void*",
323+
"jint",
324+
"void*"
325+
],
326+
"options": {
327+
"captureCallState": true
328+
}
329+
}
330+
]
331+
},
332+
"reflection": [
333+
{
334+
"type": "windows.win32.ui.windowsandmessaging.WNDPROC$Function",
335+
"methods": [
336+
{
337+
"name": "invoke",
338+
"parameterTypes": [
339+
"java.lang.foreign.MemorySegment",
340+
"int",
341+
"long",
342+
"long"
343+
]
344+
}
345+
]
346+
}
347+
]
348+
}

0 commit comments

Comments
 (0)