]> wimlib.net Git - wimlib/blobdiff - src/win32_common.c
Load NtOpenFile() and NtClose()
[wimlib] / src / win32_common.c
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},
        },