Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
SL
Зарегистрирован: 06.05.2003 Сообщения: 14 Откуда: СПб
|
Добавлено: Чт Июн 27 2002 13:33 Заголовок сообщения: Как определить имя файла по handle? |
|
|
Как определить имя файла по handle? |
|
Вернуться к началу |
|
|
яяя Гость
|
Добавлено: Сб Июн 29 2002 06:46 Заголовок сообщения: в какой системе? если в NT - элементарно, могу рассказать если надо (-) |
|
|
- |
|
Вернуться к началу |
|
|
SL
Зарегистрирован: 06.05.2003 Сообщения: 14 Откуда: СПб
|
Добавлено: Сб Июн 29 2002 12:57 Заголовок сообщения: Надо, вообще-то хотелось бы не только в NT |
|
|
- |
|
Вернуться к началу |
|
|
яяя Гость
|
Добавлено: Сб Июн 29 2002 14:25 Заголовок сообщения: так |
|
|
typedef struct _FILE_NAME_INFORMATION { // Information Classes 9 and 21 ULONG FileNameLength; WCHAR FileName[1]; } FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION, FILE_ALTERNATE_NAME_INFORMATION, *PFILE_ALTERNATE_NAME_INFORMATION;
typedef struct _IO_STATUS_BLOCK { DWORD Status; ULONG Information; } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
NTSYSAPI NTSTATUS NTAPI ZwQueryInformationFil.. HANDLE FileHandle, OUT PIO_STATUS_BLOCK IoStatusBlock, OUT PVOID FileInformation, IN ULONG FileInformationLength, IN FILE_INFORMATION_CLASS FileInformationClass);
FileInformationClass надо брать равным 9. FileInformationLength - брать большим. FileNameLength - число байт. |
|
Вернуться к началу |
|
|
яяя Гость
|
Добавлено: Сб Июн 29 2002 14:31 Заголовок сообщения: еще |
|
|
То что заменилось точками:
ZwQueryInformationFile (HANDLE
еще можно так.
NTSYSAPI NTSTATUS NTAPI ZwQueryObject ( IN HANDLE ObjectHandle, IN OBJECT_INFORMATION_CLASS ObjectInformationClass, OUT PVOID ObjectInformation, IN ULONG ObjectInformationLength, OUT PULONG ReturnLength OPTIONAL);
ObjectInformationClass = 1
GENERIC_MAPPING это дворд
typedef struct _UNICODE_STRING { WORD Length; WORD MaximumLength; PWSTR Buffer; } UNICODE_STRING, *PUNICODE_STRING;
буфер такой
typedef struct _OBJECT_TYPE_INFORMATION { // Information Class 2 UNICODE_STRING Name; ULONG ObjectCount; ULONG HandleCount; ULONG Reserved1[4]; ULONG PeakObjectCount; ULONG PeakHandleCount; ULONG Reserved2[4]; ULONG InvalidAttributes; GENERIC_MAPPING GenericMapping; ULONG ValidAccess; UCHAR Unknown; BOOLEAN MaintainHandleDatabase; POOL_TYPE PoolType; ULONG PagedPoolUsage; ULONG NonPagedPoolUsage; } OBJECT_TYPE_INFORMATION, *POBJECT_TYPE_INFORMATION;
А вообще советую книгу Наббетта найти в инете. Там это есть все. |
|
Вернуться к началу |
|
|
SL
Зарегистрирован: 06.05.2003 Сообщения: 14 Откуда: СПб
|
Добавлено: Пн Июл 01 2002 11:49 Заголовок сообщения: Кто такой Наббетт? |
|
|
В русских ресурсах такого вообще не нашлось, в английских, непонятно как пишется Наббетт, Nubbett или Nabbett ??? тоже вобщем-то ничего похожего не нашел. |
|
Вернуться к началу |
|
|
|