我正在使用 SQL Server 的 Filestream 功能。当我尝试访问以下方法时:
[DllImport("sqlncli10.dll", SetLastError = true, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern SafeFileHandle OpenSqlFilestream(string path, uint access, uint options, byte[] txnToken, uint txnTokenLength, Sql64 allocationSize);
SafeFileHandle handle = OpenSqlFilestream(filePath, (uint)access, 0, txnToken, (uint)txnToken.Length, new Sql64(0));
是调用方法。
对 PInvoke OpenSqlFilestream 函数的调用使堆栈不平衡。这可能是因为托管 PInvoke 签名与非托管目标签名不匹配。检查 PInvoke 签名的调用约定和参数是否与目标非托管签名匹配。
可能是什么原因?
我正在使用 Visual Studio 2010