Something went wrong. Try again.
Reactos
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556/* * PROJECT: ReactOS Kernel * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later) * PURPOSE: Test for NtQueryInformationFile * COPYRIGHT: Copyright 2019 Thomas Faber (thomas.faber@reactos.org) */
#include "precomp.h"
#define ntv6(x) (LOBYTE(LOWORD(GetVersion())) >= 6 ? (x) : 0)
START_TEST(NtQueryInformationFile){ NTSTATUS Status;
Status = NtQueryInformationFile(NULL, NULL, NULL, 0, 0); ok(Status == STATUS_INVALID_INFO_CLASS || ntv6(Status == STATUS_NOT_IMPLEMENTED), "Status = %lx\n", Status);
Status = NtQueryInformationFile(NULL, NULL, NULL, 0, 0x80000000); ok(Status == STATUS_INVALID_INFO_CLASS || ntv6(Status == STATUS_NOT_IMPLEMENTED), "Status = %lx\n", Status);
/* Get the full path of the current executable */ CHAR Path[MAX_PATH]; DWORD Length = GetModuleFileNameA(NULL, Path, _countof(Path)); ok(Length != 0, "GetModuleFileNameA failed\n"); if (Length == 0) return;
/* Open the file */ HANDLE hFile = CreateFileA(Path, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); ok(hFile != INVALID_HANDLE_VALUE, "CreateFileA failed\n"); if (hFile == INVALID_HANDLE_VALUE) return;
/* Query FileEndOfFileInformation */ FILE_END_OF_FILE_INFORMATION EndOfFileInformation; EndOfFileInformation.EndOfFile.QuadPart = 0xdeaddead; Status = NtQueryInformationFile(hFile, NULL, &EndOfFileInformation, sizeof(EndOfFileInformation), FileEndOfFileInformation); ok_hex(Status, STATUS_INVALID_INFO_CLASS); ok(EndOfFileInformation.EndOfFile.QuadPart == 0xdeaddead, "EndOfFile is modified\n");
CloseHandle(hFile);}