我在窗口C#应用程序下运行一个dll。 APP为系统的所有交易调用dll api。 当我尝试在C#app级别创建目录时,它会成功创建,但如果dll调用createDirectory方法,则调用将失败且权限被拒绝。流程具有完全控制权限。
................ 代码段 ................
int dlnaFileSystemNewDirPeer(char *in_name)
{
int len = dlna_strlen(in_name);
wchar_t sbuff[100];
swprintf(sbuff, len, L"%p", in_name);
int ret = CreateDirectory(sbuff, NULL);
int err = GetLastError();
if (err) {
printf("CreateDirectory fails with error:%d\n", err);
return err;
}
return ret;
}
答案 0 :(得分:0)
swprintf(sbuff, len, L"%p", in_name);
您尝试创建目录0x1324000
(或in_name
的任何地址)。
使用%S
(请注意大写S
)或%ws
,具体取决于您要链接的运行时。
如果您使用的是Visual Studio,请参阅this。