* autoload.cc (LoadDLLfuncNt): New define to wrap NT native functions.
Use for NT native functions throughout. * dtable.cc (handle_to_fn): Treate return value of NtQueryObject as NTSTATUS value.
This commit is contained in:
parent
57001a7f10
commit
75c7893797
winsup/cygwin
@ -1,3 +1,10 @@
|
||||
2006-03-13 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* autoload.cc (LoadDLLfuncNt): New define to wrap NT native functions.
|
||||
Use for NT native functions throughout.
|
||||
* dtable.cc (handle_to_fn): Treate return value of NtQueryObject as
|
||||
NTSTATUS value.
|
||||
|
||||
2006-03-12 Christopher Faylor <cgf@timesys.com>
|
||||
|
||||
* cygtls.cc (_cygtls::remove): Reset initialized flag right away if we
|
||||
|
@ -378,30 +378,33 @@ LoadDLLfunc (NetUserGetGroups, 28, netapi32)
|
||||
LoadDLLfunc (NetUserGetInfo, 16, netapi32)
|
||||
LoadDLLfunc (NetWkstaUserGetInfo, 12, netapi32)
|
||||
|
||||
LoadDLLfuncEx (NtClose, 4, ntdll, 1)
|
||||
LoadDLLfuncEx (NtCreateFile, 44, ntdll, 1)
|
||||
LoadDLLfuncEx (NtCreateSection, 28, ntdll, 1)
|
||||
LoadDLLfuncEx (NtCreateToken, 52, ntdll, 1)
|
||||
LoadDLLfuncEx (NtLockVirtualMemory, 16, ntdll, 1)
|
||||
LoadDLLfuncEx (NtMapViewOfSection, 40, ntdll, 1)
|
||||
LoadDLLfuncEx (NtOpenDirectoryObject, 12, ntdll, 1)
|
||||
LoadDLLfuncEx (NtOpenFile, 24, ntdll, 1)
|
||||
LoadDLLfuncEx (NtOpenSection, 12, ntdll, 1)
|
||||
LoadDLLfuncEx (NtQueryDirectoryObject, 28, ntdll, 1)
|
||||
LoadDLLfuncEx2 (NtQueryDirectoryFile, 44, ntdll, 1, 1)
|
||||
LoadDLLfuncEx2 (NtQueryInformationFile, 20, ntdll, 1, 1)
|
||||
LoadDLLfuncEx (NtQueryInformationProcess, 20, ntdll, 1)
|
||||
LoadDLLfuncEx2 (NtQueryObject, 20, ntdll, 1, 1)
|
||||
LoadDLLfuncEx (NtQuerySystemInformation, 16, ntdll, 1)
|
||||
LoadDLLfuncEx (NtQuerySecurityObject, 20, ntdll, 1)
|
||||
LoadDLLfuncEx (NtQueryVirtualMemory, 24, ntdll, 1)
|
||||
LoadDLLfuncEx (NtQueryVolumeInformationFile, 20, ntdll, 1)
|
||||
LoadDLLfuncEx (NtSetSecurityObject, 12, ntdll, 1)
|
||||
LoadDLLfuncEx (NtUnlockVirtualMemory, 16, ntdll, 1)
|
||||
LoadDLLfuncEx (NtUnmapViewOfSection, 8, ntdll, 1)
|
||||
LoadDLLfuncEx (RtlInitUnicodeString, 8, ntdll, 1)
|
||||
LoadDLLfuncEx (RtlNtStatusToDosError, 4, ntdll, 1)
|
||||
LoadDLLfuncEx (RtlIsDosDeviceName_U, 4, ntdll, 1)
|
||||
/* 0xc000007a == STATUS_PROCEDURE_NOT_FOUND */
|
||||
#define LoadDLLfuncNt(name, n, dllname) \
|
||||
LoadDLLfuncEx2(name, n, dllname, 1, 0xc000007a)
|
||||
LoadDLLfuncNt (NtClose, 4, ntdll)
|
||||
LoadDLLfuncNt (NtCreateFile, 44, ntdll)
|
||||
LoadDLLfuncNt (NtCreateSection, 28, ntdll)
|
||||
LoadDLLfuncNt (NtCreateToken, 52, ntdll)
|
||||
LoadDLLfuncNt (NtLockVirtualMemory, 16, ntdll)
|
||||
LoadDLLfuncNt (NtMapViewOfSection, 40, ntdll)
|
||||
LoadDLLfuncNt (NtOpenDirectoryObject, 12, ntdll)
|
||||
LoadDLLfuncNt (NtOpenFile, 24, ntdll)
|
||||
LoadDLLfuncNt (NtOpenSection, 12, ntdll)
|
||||
LoadDLLfuncNt (NtQueryDirectoryObject, 28, ntdll)
|
||||
LoadDLLfuncNt (NtQueryDirectoryFile, 44, ntdll)
|
||||
LoadDLLfuncNt (NtQueryInformationFile, 20, ntdll)
|
||||
LoadDLLfuncNt (NtQueryInformationProcess, 20, ntdll)
|
||||
LoadDLLfuncNt (NtQueryObject, 20, ntdll)
|
||||
LoadDLLfuncNt (NtQuerySystemInformation, 16, ntdll)
|
||||
LoadDLLfuncNt (NtQuerySecurityObject, 20, ntdll)
|
||||
LoadDLLfuncNt (NtQueryVirtualMemory, 24, ntdll)
|
||||
LoadDLLfuncNt (NtQueryVolumeInformationFile, 20, ntdll)
|
||||
LoadDLLfuncNt (NtSetSecurityObject, 12, ntdll)
|
||||
LoadDLLfuncNt (NtUnlockVirtualMemory, 16, ntdll)
|
||||
LoadDLLfuncNt (NtUnmapViewOfSection, 8, ntdll)
|
||||
LoadDLLfuncNt (RtlInitUnicodeString, 8, ntdll)
|
||||
LoadDLLfuncNt (RtlIsDosDeviceName_U, 4, ntdll)
|
||||
LoadDLLfuncNt (RtlNtStatusToDosError, 4, ntdll)
|
||||
|
||||
LoadDLLfuncEx (EnumProcessModules, 16, psapi, 1)
|
||||
LoadDLLfuncEx (GetModuleFileNameExA, 16, psapi, 1)
|
||||
|
@ -829,9 +829,10 @@ handle_to_fn (HANDLE h, char *posix_fn)
|
||||
ntfn->Name.MaximumLength = sizeof (fnbuf) - sizeof (*ntfn);
|
||||
ntfn->Name.Buffer = (WCHAR *) (ntfn + 1);
|
||||
|
||||
DWORD res = NtQueryObject (h, ObjectNameInformation, ntfn, sizeof (fnbuf), NULL);
|
||||
NTSTATUS res = NtQueryObject (h, ObjectNameInformation, ntfn, sizeof (fnbuf),
|
||||
NULL);
|
||||
|
||||
if (res)
|
||||
if (NT_SUCCESS (res))
|
||||
{
|
||||
strcpy (posix_fn, unknown_file);
|
||||
debug_printf ("NtQueryObject failed");
|
||||
|
Loading…
x
Reference in New Issue
Block a user