gpt4 book ai didi

windows - 获取文件基名

转载 作者:可可西里 更新时间:2023-11-01 10:27:51 27 4
gpt4 key购买 nike

我使用哪些 Windows 内核 API 从驱动程序获取路径的基本文件名? (我假设我不必在字符串中搜索最后一个 '\')

例如从c:\foo\bar.txt获取bar.txt

最佳答案

您可以考虑使用 FsRtlDissectName 构建循环直到剩余的路径参数为空。

这样的事情可能会做你想做的事(尽管你需要处理诸如 ADS 流名称之类的事情,以及添加适当的错误检查):

void FetchFileName( IN PUNICODE_STRING pSourceString, OUT PUNICODE_STRING pFileName )
{
UNICODE_STRING current = *pSourceString; // structure copy.
UNICODE_STRING remaining;
for(;;)
{
// Fetch the next path component.
FsRtlDissectName( current, pFileName, &remaining );
if( remaining.Length == 0 )
{
// Nothing left to parse. pFilename will
// contain the last filename found.
break;
}

// Advance down the string.
current = remaining; // structure copy.
}
}

关于windows - 获取文件基名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9253371/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com