Skip to content

Commit

Permalink
Added support for 32-bit node. To test just use 32-bit node.
Browse files Browse the repository at this point in the history
  • Loading branch information
Russell Mora committed Nov 8, 2016
1 parent eae9acf commit c7a784b
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 12 deletions.
14 changes: 7 additions & 7 deletions lib/native/adv_api.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ var advApi = ffi.Library('Advapi32', {
_Out_ PHKEY phkResult
);
*/
RegOpenCurrentUser: ['uint64', [types.REGSAM, types.PHKEY]],
RegOpenCurrentUser: ['ulong', [types.REGSAM, types.PHKEY]],
/*
LONG WINAPI RegQueryValueEx(
_In_ HKEY hKey,
Expand All @@ -23,7 +23,7 @@ var advApi = ffi.Library('Advapi32', {
_Inout_opt_ LPDWORD lpcbDataRegOpenKeyExA
);
*/
RegQueryValueExA: ['uint64', [types.HKEY, 'string', 'pointer', types.LPDWORD, types.LPBYTE, types.LPDWORD]],
RegQueryValueExA: ['ulong', [types.HKEY, 'string', 'pointer', types.LPDWORD, types.LPBYTE, types.LPDWORD]],
/*
LONG WINAPI RegOpenKeyEx(
_In_ HKEY hKey,
Expand All @@ -33,7 +33,7 @@ var advApi = ffi.Library('Advapi32', {
_Out_ PHKEY phkResult
);
*/
RegOpenKeyExA: ['uint64', ['uint64', 'string', types.DWORD, types.REGSAM, types.PHKEY]],
RegOpenKeyExA: ['ulong', ['ulong', 'string', types.DWORD, types.REGSAM, types.PHKEY]],
/*
LONG WINAPI RegSetValueEx(
_In_ HKEY hKey,
Expand All @@ -44,7 +44,7 @@ var advApi = ffi.Library('Advapi32', {
_In_ DWORD cbData
);
*/
RegSetValueExA: ['uint64', [types.HKEY, 'string', 'pointer', types.DWORD, types.LPBYTE, types.DWORD]],
RegSetValueExA: ['ulong', [types.HKEY, 'string', 'pointer', types.DWORD, types.LPBYTE, types.DWORD]],
/**
* LONG WINAPI RegCreateKeyEx(
_In_ HKEY hKey,
Expand All @@ -58,20 +58,20 @@ var advApi = ffi.Library('Advapi32', {
_Out_opt_ LPDWORD lpdwDisposition
);
*/
RegCreateKeyExA: ['uint64', [types.HKEY, 'string', 'pointer', 'pointer', types.DWORD, types.REGSAM, 'pointer', types.PHKEY, 'pointer']],
RegCreateKeyExA: ['ulong', [types.HKEY, 'string', 'pointer', 'pointer', types.DWORD, types.REGSAM, 'pointer', types.PHKEY, 'pointer']],
/*
LONG WINAPI RegDeleteTree(
_In_ HKEY hKey,
_In_opt_ LPCTSTR lpSubKey
);
*/
RegDeleteTreeA: ['uint64', [types.HKEY, 'string']],
RegDeleteTreeA: ['ulong', [types.HKEY, 'string']],
/*
LONG WINAPI RegCloseKey(
_In_ HKEY hKey
);
*/
RegCloseKey: ['uint64', [types.HKEY]]
RegCloseKey: ['ulong', [types.HKEY]]
});

module.exports = advApi;
2 changes: 1 addition & 1 deletion lib/registry.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ var api = {

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

Expand Down
6 changes: 3 additions & 3 deletions lib/types.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
var ref = require('ref');

var types = {
REGSAM: ref.types.uint64,
REGSAM: ref.types.ulong,
DWORD: ref.types.uint32,
ULONG: ref.types.uint32,
ULONG: ref.types.ulong,
HWND: ref.refType(ref.types.void),
BYTE: ref.types.uint8,
HKEY: ref.refType(ref.types.void),
Expand All @@ -12,7 +12,7 @@ var types = {
HINSTANCE: ref.refType(ref.types.void),
LPCTSTR: ref.refType(ref.types.CString),
STRING: ref.types.CString,
INT: ref.types.int32,
INT: ref.types.int,
LPVOID: ref.refType(ref.types.void)
};

Expand Down
2 changes: 1 addition & 1 deletion test/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ describe('File Association Test', () => {

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

0 comments on commit c7a784b

Please sign in to comment.