Ошибка компилятора - сбой операции метаданных - PullRequest
1 голос
/ 07 февраля 2012

Я получаю эту ошибку:

    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 голосов
/ 07 февраля 2012

GetVolumeInformation возвращает BOOL, который не отображается на Int64.

Кстати, когда вы вызываете ANSI-версию этой функции, у вас могут возникнуть проблемы. Когда Windows 7 создает системный зарезервированный раздел, установщик присваивает ему имя тома в соответствии с языком установщика, который не должен соответствовать среде, в которой вы будете выполняться. Было бы лучше назвать версию Unicode.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...