【发布时间】:2019-07-22 15:57:18
【问题描述】:
我正在尝试修改现有的 C 迷你过滤器驱动程序,但对 C 的经验非常有限。我的函数接收到文件系统上文件的两个 PUNICODE_STRING 的两个路径。
_In_ PUNICODE_STRING SourceFile,
_In_ PUNICODE_STRING TargetFile,
我需要创建一个新的 PUNICODE_STRING(称为 NewTargetFile),然后在 NewTargetFile 的末尾附加“.xy”,而不是覆盖 TargetFile。
我认为一个明智的方法是定义一个新的 PUNICODE_STRING 并将 TargetFile 复制到 NewTargetFile。然后将字符串附加到末尾。但我显然在这里超出了我的深度!因为我只是得到一个空白值。
PUNICODE_STRING NewTargetFile = { 0 };
NewTargetFile = TargetFile;
NT_IF_FAIL_LEAVE(RtlAppendUnicodeToString(NewTargetFile, (PCWSTR)'.ta'));
因此,简而言之,如果我的函数收到“filename.txt”的 TargetFile,我需要生成一个 PUNICODE_STRING,其值为“filename.txt.xy”
【问题讨论】:
-
(PCWSTR)'.ta'无效,请改用L".ta"。
标签: c unicode-string