Как отобразить абсолютный путь с именем устройства открытого в данный момент файла

Первые две строки этого кода показывают имя файла, исключая имя устройства, например / Документ / темп но я хочу
чтобы показать также имя устройства, например, L «\ Device \ Harddisk0 \ DR0 \ Document \ temp. Я использую этот код для вызова процедуры ObQueryNameString, но он показывает NULL.

Пожалуйста, скажите мне, что не так с кодом. Я думаю, что память не выделяет
должным образом.

PFILE_OBJECT pFileObject = IoGetCurrentIrpStackLocation(Irp)->FileObject;
if (pFileObject)
{
DbgPrint("FileName : %wZ\n", pFileObject->FileName);
}

NTSTATUS status = STATUS_UNSUCCESSFUL;

OBJECT_NAME_INFORMATION objName = {0};
ULONG ReturnLength = 1024;

ObQueryNameString(DeviceObject, objName, sizeof(objName), ReturnLength);

DbgPrint("FileName : %wZ\n", &objName);

-1

Решение

Рассматривали ли вы использовать функцию GetFullPathName?
Ссылаться на http://msdn.microsoft.com/en-us/library/aa364963%28VS.85%29.aspx для более точного объяснения, что он делает.

-2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]