{
FILE_NETWORK_OPEN_INFORMATION FileInformation;
OBJECT_ATTRIBUTES ObjectAttributes;
- IO_STATUS_BLOCK IoStatusBlock;
UNICODE_STRING FileName;
- HANDLE FileHandle;
NTSTATUS Status;
WIN32_FILE_ATTRIBUTE_DATA* FileAttributeData;
NULL,
NULL);
- /* Open the file */
- Status = NtOpenFile (&FileHandle,
- SYNCHRONIZE | FILE_READ_ATTRIBUTES,
- &ObjectAttributes,
- &IoStatusBlock,
- 0,
- FILE_SYNCHRONOUS_IO_NONALERT);
- RtlFreeUnicodeString (&FileName);
- if (!NT_SUCCESS (Status))
- {
- DPRINT ("NtOpenFile() failed %x (Status %lx)\n", &ObjectAttributes, Status);
- SetLastErrorByStatus (Status);
- return FALSE;
- }
-
/* Get file attributes */
- Status = NtQueryInformationFile (FileHandle,
- &IoStatusBlock,
- &FileInformation,
- sizeof(FILE_NETWORK_OPEN_INFORMATION),
- FileNetworkOpenInformation);
- NtClose (FileHandle);
-
+ Status = NtQueryFullAttributesFile(&ObjectAttributes,
+ &FileInformation);
+
+ RtlFreeUnicodeString (&FileName);
if (!NT_SUCCESS (Status))
{
- DPRINT1 ("NtQueryInformationFile() failed (Status %lx)\n", Status);
+ DPRINT ("NtQueryFullAttributesFile() failed (Status %lx)\n", Status);
SetLastErrorByStatus (Status);
return FALSE;
}