Skip to content

Commit c7a784b

Browse files
author
Russell Mora
committed
Added support for 32-bit node. To test just use 32-bit node.
1 parent eae9acf commit c7a784b

File tree

4 files changed

+12
-12
lines changed

4 files changed

+12
-12
lines changed

lib/native/adv_api.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ var advApi = ffi.Library('Advapi32', {
1212
_Out_ PHKEY phkResult
1313
);
1414
*/
15-
RegOpenCurrentUser: ['uint64', [types.REGSAM, types.PHKEY]],
15+
RegOpenCurrentUser: ['ulong', [types.REGSAM, types.PHKEY]],
1616
/*
1717
LONG WINAPI RegQueryValueEx(
1818
_In_ HKEY hKey,
@@ -23,7 +23,7 @@ var advApi = ffi.Library('Advapi32', {
2323
_Inout_opt_ LPDWORD lpcbDataRegOpenKeyExA
2424
);
2525
*/
26-
RegQueryValueExA: ['uint64', [types.HKEY, 'string', 'pointer', types.LPDWORD, types.LPBYTE, types.LPDWORD]],
26+
RegQueryValueExA: ['ulong', [types.HKEY, 'string', 'pointer', types.LPDWORD, types.LPBYTE, types.LPDWORD]],
2727
/*
2828
LONG WINAPI RegOpenKeyEx(
2929
_In_ HKEY hKey,
@@ -33,7 +33,7 @@ var advApi = ffi.Library('Advapi32', {
3333
_Out_ PHKEY phkResult
3434
);
3535
*/
36-
RegOpenKeyExA: ['uint64', ['uint64', 'string', types.DWORD, types.REGSAM, types.PHKEY]],
36+
RegOpenKeyExA: ['ulong', ['ulong', 'string', types.DWORD, types.REGSAM, types.PHKEY]],
3737
/*
3838
LONG WINAPI RegSetValueEx(
3939
_In_ HKEY hKey,
@@ -44,7 +44,7 @@ var advApi = ffi.Library('Advapi32', {
4444
_In_ DWORD cbData
4545
);
4646
*/
47-
RegSetValueExA: ['uint64', [types.HKEY, 'string', 'pointer', types.DWORD, types.LPBYTE, types.DWORD]],
47+
RegSetValueExA: ['ulong', [types.HKEY, 'string', 'pointer', types.DWORD, types.LPBYTE, types.DWORD]],
4848
/**
4949
* LONG WINAPI RegCreateKeyEx(
5050
_In_ HKEY hKey,
@@ -58,20 +58,20 @@ var advApi = ffi.Library('Advapi32', {
5858
_Out_opt_ LPDWORD lpdwDisposition
5959
);
6060
*/
61-
RegCreateKeyExA: ['uint64', [types.HKEY, 'string', 'pointer', 'pointer', types.DWORD, types.REGSAM, 'pointer', types.PHKEY, 'pointer']],
61+
RegCreateKeyExA: ['ulong', [types.HKEY, 'string', 'pointer', 'pointer', types.DWORD, types.REGSAM, 'pointer', types.PHKEY, 'pointer']],
6262
/*
6363
LONG WINAPI RegDeleteTree(
6464
_In_ HKEY hKey,
6565
_In_opt_ LPCTSTR lpSubKey
6666
);
6767
*/
68-
RegDeleteTreeA: ['uint64', [types.HKEY, 'string']],
68+
RegDeleteTreeA: ['ulong', [types.HKEY, 'string']],
6969
/*
7070
LONG WINAPI RegCloseKey(
7171
_In_ HKEY hKey
7272
);
7373
*/
74-
RegCloseKey: ['uint64', [types.HKEY]]
74+
RegCloseKey: ['ulong', [types.HKEY]]
7575
});
7676

7777
module.exports = advApi;

lib/registry.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ var api = {
3030

3131
// RegOpenKeyEx can also take an HKEY in addition to a predefined value
3232
var advApi2 = ffi.Library('Advapi32', {
33-
RegOpenKeyExA: ['uint64', [types.HKEY, 'string', types.DWORD, types.REGSAM, types.PHKEY]]
33+
RegOpenKeyExA: ['ulong', [types.HKEY, 'string', types.DWORD, types.REGSAM, types.PHKEY]]
3434
});
3535
var result = advApi2.RegOpenKeyExA(keyObject.handle.deref(), subKeyName, 0, accessLevel, pHkey);
3636

lib/types.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
var ref = require('ref');
22

33
var types = {
4-
REGSAM: ref.types.uint64,
4+
REGSAM: ref.types.ulong,
55
DWORD: ref.types.uint32,
6-
ULONG: ref.types.uint32,
6+
ULONG: ref.types.ulong,
77
HWND: ref.refType(ref.types.void),
88
BYTE: ref.types.uint8,
99
HKEY: ref.refType(ref.types.void),
@@ -12,7 +12,7 @@ var types = {
1212
HINSTANCE: ref.refType(ref.types.void),
1313
LPCTSTR: ref.refType(ref.types.CString),
1414
STRING: ref.types.CString,
15-
INT: ref.types.int32,
15+
INT: ref.types.int,
1616
LPVOID: ref.refType(ref.types.void)
1717
};
1818

test/utils.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ describe('File Association Test', () => {
1616

1717
describe('UAC elevate tests', () => {
1818
it('Should get results for elevate for a given file', (done) => {
19-
utils.elevate('C:\\Program Files\\nodejs\\node.exe', 'index.js', function (err, result) {
19+
utils.elevate(process.execPath, 'index.js', function (err, result) {
2020
assert.equal(err, null);
2121
assert.equal(result, true);
2222
done();

0 commit comments

Comments
 (0)