Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Есть ли в kernel'е аналоги функций GetShortPathName() and GetLongPathName() ? 29.05.02 22:33 Число просмотров: 994
Автор: vim Статус: Незарегистрированный пользователь
|
> > > > > >
> > > 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
> ---
Да, в принципе так она и должна работать.
Но проблема в том что это делается в user mode, а не в kernel.
|
|
|