Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Есть ли в kernel'е аналоги функций GetShortPathName() and GetLongPathName() ? 29.05.02 22:57 Число просмотров: 1065
Автор: + <Mikhail> Статус: Elderman Отредактировано 29.05.02 23:35 Количество правок: 2
|
> > > > > > > >
> > > > 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.
Voobche to vsia rabota s filami delaetsia v kernel mode! (ring0)
I kogda ta function vyzyvaetsia proishodit perekluchenie v ring0 dlia kazdoi API raboty s failomi i tam vyzyvaetsi to chto nado , v dannom sluchae open file, query info, close.
P.S. Tak chto sozdai svoi functions GetShortfileName()/GetLongfileAme() i vnutri ih otkryvai file query info i t.d...
|
|
|