> > > >
> > NTSYSAPI
> > NTSTATUS
> > NTAPI
> > ZwQueryInformationFile(
> > IN HANDLE FileHandle,
> > OUT PIO_STATUS_BLOCK IoStatusBlock,
> > OUT PVOID FileInformation,
> > IN ULONG Length,
> > IN FILE_INFORMATION_CLASS FileInformationClass
> > );
> > ---
> > Не, это я знаю. Не подходит. Для этой функции нужен > FileHandle, т.е. файл предварительно должен быть открыт. А > мне наоборот, по имени файла нужно решить разрешать ли его > открывать или нет. > > Исходные данные - это строка текста с именем файла. > Из-за того, что у файла может быть два имени - длинное и > короткое, их оба нужно проверить. В этом вся проблема. Voobche to GetShortFielNAme()/GetLongFileNAme() otkryvet file, queryinfo, zakryvaet file, tak chto drugogo puti net
FILEMONITOR TRACE dlia:
char sz[200];
::GetShortPathName("c:\\Program Files",sz, 200);
---
10:25:20 AM temp.exe:245 IRP_MJ_CREATE C:\Program Files SUCCESS Attributes: Any Options: Open
10:25:20 AM temp.exe:245 IRP_MJ_QUERY_INFORMATION C:\Program Files SUCCESS FileAlternateNameInformation
10:25:20 AM temp.exe:245 IRP_MJ_CLEANUP C:\Program Files SUCCESS
10:25:20 AM temp.exe:245 IRP_MJ_CLOSE C:\Program Files SUCCESS
---
|