【发布时间】:2023-04-09 07:25:01
【问题描述】:
给定
[DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
static extern int GetDllDirectory(int nBufferLength, StringBuilder lpPathName);
StringBuilder tmp = new StringBuilder(10240);
if (GetDllDirectory(10240, tmp) == 0)
{
int err = Marshal.GetLastWin32Error();
}
MSDN 声明that
如果函数成功,则返回值是复制到lpBuffer的字符串长度,以字符为单位。
我收到0,错误的是0。
这里有什么问题?
【问题讨论】:
-
0 不代表成功吗?
-
@spender, no, msdn.microsoft.com/en-us/library/windows/desktop/… - 如果函数成功,则返回值是复制到 lpBuffer 的字符串长度,以字符为单位。
-
@ScottChamberlain,返回值:false,tmp 为空