С Microsoft , UNICODE_STRING
- это структура, включающая длину широкой строки (Length
), память, выделенную для строки (MaximumLength
), и указатель на фактический широкий Сама строка (Buffer
). Поэтому я считаю, что вы можете сделать это:
if (fi.Length > 0)
{
PWSTR ptr = fi.Buffer;
ptr += fi.Length - 1;
// Scan backwards
int i;
while(*ptr != '\\' && ptr != fi.Buffer)
{
*ptr = '\0'; // Clear the filename
}
}
, чтобы манипулировать UNICODE_STRING
, чтобы он не содержал имя файла.