2015-09-02 180 views
0

我在窗口C#應用程序下運行一個dll。應用程序調用與系統的所有交易的dll api。 雖然我嘗試在C#應用程序級別創建目錄,但它創建成功,但調用失敗,權限被拒絕,如果dll調用createDirectory方法。進程具有完全控制權限。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

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

您嘗試創建目錄0x1324000(或任何您的in_name的地址)。

使用%S(注意大寫S)或%ws,具體取決於您鏈接的運行時間。如果您使用的是Visual Studio,請參閱this

相關問題