From 75c7893797b0ddf33eb8c50f9e04034b465bdb4b Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 13 Mar 2006 11:22:51 +0000 Subject: * 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. --- winsup/cygwin/autoload.cc | 51 +++++++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 24 deletions(-) (limited to 'winsup/cygwin/autoload.cc') diff --git a/winsup/cygwin/autoload.cc b/winsup/cygwin/autoload.cc index 6b889a946..c6ce11317 100644 --- a/winsup/cygwin/autoload.cc +++ b/winsup/cygwin/autoload.cc @@ -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) -- cgit v1.2.3