编译器错误 - 元数据操作失败

时间:2012-02-06 23:43:46

标签: c++ c++-cli

我收到此错误:

    Joke.obj : error LNK2022: metadata operation failed (80131187) : Inconsistent method declarations in duplicated types (types: SE.Crypt; methods: GetVolumeInformationA): (0x06000008).
    LINK : fatal error LNK1215: metadata operation failed (8013118A) :

以下是头文件中的代码:

    private:
            [System::Runtime::InteropServices::DllImport("kernel32.dll")]
            static Int64 GetVolumeInformation(String ^PathName, StringBuilder ^VolumeNameBuffer, UInt32 VolumeNameSize, UInt32 %VolumeSerialNumber, UInt32 %MaximumComponentLength, UInt32 %FileSystemFlags, StringBuilder ^FileSystemNameBuffer, UInt32 FileSystemNameSize);

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:0)

GetVolumeInformation返回未映射到Int64的BOOL。

顺便说一下,当您调用此函数的ANSI版本时,可能会遇到麻烦。当Windows 7创建系统保留分区时,安装程​​序会根据安装程序的语言为其提供卷名,该语言不必与您将要执行的环境相匹配。最好调用Unicode版本。 / p>