Здравствуйте, Crag, Вы писали:
C>Извиняюсь за глупый вопрос...
C>Хочется получить имя для тома файловой системы вида \Device\HarddiskVolume0\
typedef struct _OBJECT_NAME_INFORMATION {
UNICODE_STRING Name;
} OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION;
NTKERNELAPI
NTSTATUS
ObQueryNameString (
IN PVOID Object, // pDeviceObject
OUT POBJECT_NAME_INFORMATION ObjectNameInfo, // buffer for receive object name
IN ULONG Length, // sizeof buffer
OUT PULONG ReturnLength
);
btw
естественно что вызывать надо на PASSIVE_LEVEL и помнить о рекурсии при запросе имен объектов расположенных во внешних пространствах имен (файлы, пайпы и прочее).
cb.