CreateDirectory失败,权限被拒绝

时间:2015-09-02 12:34:44

标签: c

我在窗口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;
}

1 个答案:

答案 0 :(得分:0)

swprintf(sbuff, len, L"%p", in_name);

您尝试创建目录0x1324000(或in_name的任何地址)。

使用%S(请注意大写S)或%ws,具体取决于您要链接的运行时。

如果您使用的是Visual Studio,请参阅this