Just a question, but the functions you used from WinAPIEx.au3 did you alter them in anyway, because the UDF has been tested on x64 thoroughly.
If you notice, I only took the one function from that UDF and it's ZwQuerySystemInformation, and since you got to error level 13 returned in the extended macro, then this means the function taken from winapiex works flawlessly, I don't have an x64 bit machine handy but maybe you could try commenting out this line~
What it's doing is making sure we're trying to look for the object handle types in our process only (
I.e., File = 28 on win xp and file = 25 on vista), but I doubt it will work, there must be something else at play here..
For an object of type file, the value bObjectType in SYSTEM_HANDLE is 28 in Windows XP, Windows 2000, and Window 7; 25 in Windows Vista; and 26 in Windows 2000.
If you comment out that line then maybe it will work? give it a try.
Or else just populate the $FileObject array yourself with the valid object type values depending on your system, read the link above.
On windows vista this would probably be right.
$aObject[$Ready][0] = DllStructGetData($tHandle, 2);return it so we can use it to find them
$aObject[$Ready][1] = DllStructGetData($tString, 1)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$aObject[$Ready][0] = 25
$aObject[$Ready][1] = "File"
Edited by ApudAngelorum, 06 April 2012 - 08:38 PM.