]> wimlib.net Git - wimlib/commitdiff
Load NtOpenFile() and NtClose()
authorEric Biggers <ebiggers3@gmail.com>
Tue, 13 May 2014 19:58:57 +0000 (14:58 -0500)
committerEric Biggers <ebiggers3@gmail.com>
Tue, 13 May 2014 19:58:57 +0000 (14:58 -0500)
include/wimlib/win32_common.h
src/win32_common.c

index dfc98e6e47958986fab9ff94423fcf2cad365ed1..3cc79e35b64f6bbed705d9cdf92ba852fd566641 100644 (file)
@@ -38,6 +38,13 @@ extern BOOL (WINAPI *func_CreateSymbolicLinkW)(const wchar_t *lpSymlinkFileName,
 
 /* ntdll functions  */
 
+extern NTSTATUS (WINAPI *func_NtOpenFile) (PHANDLE FileHandle,
+                                          ACCESS_MASK DesiredAccess,
+                                          POBJECT_ATTRIBUTES ObjectAttributes,
+                                          PIO_STATUS_BLOCK IoStatusBlock,
+                                          ULONG ShareAccess,
+                                          ULONG OpenOptions);
+
 extern NTSTATUS (WINAPI *func_NtQueryInformationFile)(HANDLE FileHandle,
                                                      PIO_STATUS_BLOCK IoStatusBlock,
                                                      PVOID FileInformation,
@@ -67,6 +74,8 @@ extern NTSTATUS (WINAPI *func_NtSetSecurityObject)(HANDLE Handle,
                                                   SECURITY_INFORMATION SecurityInformation,
                                                   PSECURITY_DESCRIPTOR SecurityDescriptor);
 
+extern NTSTATUS (WINAPI *func_NtClose) (HANDLE Handle);
+
 extern DWORD (WINAPI *func_RtlNtStatusToDosError)(NTSTATUS status);
 
 extern NTSTATUS (WINAPI *func_RtlCreateSystemVolumeInformationFolder)
index fa890c1c2b5cc4c09c4a205be5d6f35d67be3c34..93174cf064721401f5e8126b8cb7466afad3db4b 100644 (file)
@@ -517,7 +517,12 @@ BOOL (WINAPI *func_CreateSymbolicLinkW)(const wchar_t *lpSymlinkFileName,
 
 /* ntdll.dll  */
 
-DWORD (WINAPI *func_RtlNtStatusToDosError)(NTSTATUS status);
+NTSTATUS (WINAPI *func_NtOpenFile) (PHANDLE FileHandle,
+                                   ACCESS_MASK DesiredAccess,
+                                   POBJECT_ATTRIBUTES ObjectAttributes,
+                                   PIO_STATUS_BLOCK IoStatusBlock,
+                                   ULONG ShareAccess,
+                                   ULONG OpenOptions);
 
 NTSTATUS (WINAPI *func_NtQueryInformationFile)(HANDLE FileHandle,
                                               PIO_STATUS_BLOCK IoStatusBlock,
@@ -547,6 +552,10 @@ NTSTATUS (WINAPI *func_NtSetSecurityObject)(HANDLE Handle,
                                            SECURITY_INFORMATION SecurityInformation,
                                            PSECURITY_DESCRIPTOR SecurityDescriptor);
 
+NTSTATUS (WINAPI *func_NtClose) (HANDLE Handle);
+
+DWORD (WINAPI *func_RtlNtStatusToDosError)(NTSTATUS status);
+
 NTSTATUS (WINAPI *func_RtlCreateSystemVolumeInformationFolder)
                (PCUNICODE_STRING VolumeRootPath);
 
@@ -584,11 +593,13 @@ struct dll_spec {
 struct dll_spec ntdll_spec = {
        .name = L"ntdll.dll",
        .syms = {
-               DLL_SYM(RtlNtStatusToDosError, true),
+               DLL_SYM(NtOpenFile, true),
                DLL_SYM(NtQueryInformationFile, true),
                DLL_SYM(NtQuerySecurityObject, true),
                DLL_SYM(NtQueryDirectoryFile, true),
                DLL_SYM(NtSetSecurityObject, true),
+               DLL_SYM(NtClose, true),
+               DLL_SYM(RtlNtStatusToDosError, true),
                DLL_SYM(RtlCreateSystemVolumeInformationFolder, false),
                {NULL, NULL},
        },