-
MIDL2000
|
-
необходимо указать /c_ext для абстрактных деклараторов
- Абстрактные деклараторы представляют собой расширение Майкрософт для RPC и не определены в DCE RPC. Поэтому, если файл содержит абстрактные деклараторы, компиляция с параметром /osf невозможна, который обеспечивает строгую совместимость DCE. В MIDL версии 3.0 и более поздних используется параметр /c_ext в качестве параметра по умолчанию; параметр /osf отключает параметр /c_ext . Сведения об абстрактных деклараторах см. в разделе Текст ACF.
|
-
MIDL2001
|
-
Создание экземпляра данных является недопустимым; Необходимо использовать "extern" или "static"
- Объявление и инициализация в IDL-файле несовместимы с DCE RPC. Эта функция является расширением Майкрософт, которое недоступно при компиляции в режиме совместимости DCE (/osf).
|
-
MIDL2002
|
-
переполнение стека компилятора
- Во время обработки IDL-файла компилятору не хнуло места в стеке. Эта проблема может возникать, когда компилятор обрабатывает сложное объявление или выражение. Чтобы решить эту проблему, упростите сложное объявление или выражение.
|
-
MIDL2003
|
-
Переопределение
- Это сообщение об ошибке может появиться в следующих случаях: тип был переопределен; прототип процедуры был переопределен; элемент структуры или объединения с тем же именем уже существует; Параметр с тем же именем уже существует в прототипе.
|
-
MIDL2004
|
-
Будет использоваться привязка [auto_handle]
- Тип дескриптора не определен как тип дескриптора по умолчанию. Компилятор предполагает, что в качестве дескриптора привязки для указанной процедуры будет использоваться автоматический дескриптор.
|
-
MIDL2005
|
-
нехватка памяти
- Во время компиляции у компилятора закончилась память. Уменьшите размер или сложность IDL-файла или выделите больше памяти для процесса.
|
-
MIDL2006
|
-
рекурсивное определение
- Рекурсивно определена структура или объединение. Эта ошибка может возникать, если отсутствует спецификация указателя в определении вложенной структуры.
|
-
MIDL2007
|
-
импорт игнорируется; файл уже импортирован
- Импорт IDL-файла является идемпотентной операцией. Включение его более одного раза не оказывает никакого влияния. Все операции импорта, кроме первой, игнорируются.
|
-
MIDL2008
|
-
Для разреженных перечислений требуется /c_ext или /ms_ext
- Назначение значений констант перечисления несовместимо с DCE RPC. Если вы хотите использовать расширения Майкрософт для MIDL, которые позволяют присваивать значения констант перечисления, компиляцию с параметром /osf , который обеспечивает строгую совместимость DCE, нельзя. В MIDL версии 3.0 и более поздних используются параметры /c_ext и /ms_ext по умолчанию; Параметр /osf отключает эти параметры расширения.
|
-
MIDL2009
|
-
неопределенный символ
- В выражении используется неопределенный символ. Эта ошибка может возникать при использовании неопределенного перечислимого значения.
|
-
MIDL2010
|
-
Тип, используемый в файле ACF, не определенный в IDL-файле
- Используется неопределенный тип.
|
-
MIDL2011
|
-
Объявление неразрешенного типа
- Тип, указанный в дополнительном поле сведений об ошибке, не определен в другом месте IDL-файла.
|
-
MIDL2012
|
-
Для использования констант расширенных символов требуется /ms_ext или /c_ext
- Константы расширенных символов — это расширение Майкрософт для DCE IDL. Чтобы использовать тип данных wchar_t, нельзя выполнить компиляцию с параметром /osf , который переопределяет параметры компилятора MIDL по умолчанию /ms_ext и /c_ext.
|
-
MIDL2013
|
-
Для использования строк расширенных символов требуется /ms_ext или /c_ext
- Строковые константы с расширенными символами — это расширение Майкрософт для DCE IDL. Чтобы использовать тип данных wchar_t, нельзя выполнить компиляцию с параметром /osf , который переопределяет параметры компилятора MIDL по умолчанию /ms_ext и /c_ext.
|
-
MIDL2014
|
-
несогласованное переопределение типа wchar_t
- Тип wchar_t переопределен как тип, который не эквивалентен неподписанным коротким DOS *.
|
-
MIDL2015
|
-
Importlib не найден
- Компилятору не удалось найти библиотеку типов, указанную директивой [ importlib]. Проверьте правильность пути и имени библиотеки.
|
-
MIDL2016
|
-
два блока библиотеки
- Два блока библиотеки (даже с разными именами) в одном исходном файле являются недопустимыми. Объедините все элементы в один блок библиотеки.
|
-
MIDL2017
|
-
Оператор dispinterface требует определения для IDispatch
- Эта ошибка обычно возникает, если файлы Stdole2.tlb или Oaidl.idl не импортируются.
|
-
MIDL2018
|
-
ошибка при доступе к библиотеке типов
- Компилятору не удалось найти указанную библиотеку типов. Убедитесь, что вы правильно указали путь.
|
-
MIDL2019
|
-
ошибка при доступе к сведениям о типе
- Импортированная библиотека типов повреждена, недопустима или создана только частично.
|
-
MIDL2020
|
-
ошибка при создании библиотеки типов
- Не удалось создать библиотеку типов. Одной из возможных причин этой ошибки является указание пути к IDL-файлу длиной более 126 символов. Oleaut32.dll не поддерживает имена путей длиной более 126 символов.
|
-
MIDL2021
|
-
повторяющийся идентификатор
- Приложения используют оператор id в IDL-файлах, чтобы указать DISPID для функций-членов. Функции-члены могут быть свойствами или методами интерфейсов или dispinterfaces. Эта ошибка указывает, что IDL-файл указывает один и тот же номер идентификатора для двух методов или свойств.
|
-
MIDL2022
|
-
Недопустимое или отсутствующее значение атрибута записи
- Аргументом атрибута записи может быть строка, указывающая именованную точку входа, или порядковый номер, определяющий точку входа. Этот аргумент либо отсутствует, либо содержит недопустимое значение.
|
-
MIDL2023
|
-
предполагается, что восстановление ошибки
- Компилятор MIDL обнаружил недопустимые символы в IDL-файле.
|
-
MIDL2024
|
-
ошибка отмены восстановления
- Компилятор MIDL обнаружил недопустимые символы в IDL-файле. Он будет игнорировать незаконные символы.
|
-
MIDL2025
|
-
синтаксическая ошибка
- Компилятор обнаружил синтаксическую ошибку в указанной строке.
|
-
MIDL2026
|
-
не удается выполнить восстановление после предыдущих синтаксических ошибок; прерывание компиляции
- Компилятор MIDL автоматически пытается восстановиться после синтаксических ошибок путем добавления или удаления синтаксических элементов. Это сообщение указывает, что, несмотря на эти попытки восстановления, компилятор обнаружил слишком много ошибок. Исправьте указанные ошибки и перекомпиляция.
|
-
MIDL2027
|
-
Неизвестный параметр pragma
- Указанная директива C не поддерживается в MIDL. Удалите прагму из IDL-файла.
|
-
MIDL2028
|
-
функция не реализована
- Функция MIDL, хотя и является частью определения языка, не реализована в Microsoft RPC и не поддерживается компилятором MIDL. Например, не реализованы следующие функции языка: битовый набор, канал и международный тип символов. Нереализованная языковая функция отображается в дополнительном поле сведений об ошибке сообщения об ошибке.
|
-
MIDL2029
|
-
Тип не реализован
- Указанный тип данных, хотя и легальный ключевое слово MIDL, не реализован в Microsoft RPC.
|
-
MIDL2030
|
-
не-указатель, используемый в операции разыменования
- Тип данных, который не является указателем, связан с операциями указателя. Невозможно получить доступ к объекту через указанный не-указатель.
|
-
MIDL2031
|
-
выражение имеет деление на ноль
- Константное выражение содержит деление на ноль.
|
-
MIDL2032
|
-
выражение использует несовместимые типы
- Левая и правая стороны оператора в выражении имеют несовместимые типы.
|
-
MIDL2033
|
-
Неархейное выражение использует оператор индекса
- Выражение использует операцию индексирования массива для элемента данных, который не является типом массива.
|
-
MIDL2034
|
-
Выражение слева не оценивается как struct/union/перечисление
- Оператор прямой или косвенной ссылки "." или "->" применен к объекту данных, который не является структурой, объединением или перечислением. С помощью указанного объекта невозможно получить прямую или непрямую ссылку.
|
-
MIDL2035
|
-
Ожидается константное выражение
- В синтаксисе ожидалось константное выражение. Например, для границ массива требуется константное выражение. Компилятор выдает это сообщение об ошибке, если привязка массива определена переменной или неопределенным символом.
|
-
MIDL2036
|
-
Невозможно вычислить выражение во время компиляции
- Компилятор не может вычислить выражение во время компиляции.
|
-
MIDL2037
|
-
выражение не реализовано
- Функция, поддерживаемая в предыдущих выпусках компилятора MIDL, не поддерживается в версии компилятора, поставляемой вместе с Microsoft RPC. Удалите указанное выражение.
|
-
MIDL2038
|
-
атрибут no [pointer_default], предполагающий [уникальный] для всех неназначенных указателей
- Компилятор MIDL предлагает три разных варианта по умолчанию для указателей, которые не имеют атрибутов указателя. Параметры функции, которые являются указателями верхнего уровня, по умолчанию используют [ref] указатели. Указатели, внедренные в структуры, и указатели на другие указатели (не указатели верхнего уровня) по умолчанию на тип, заданный атрибутом [pointer_default]. Если атрибут [pointer_default] не указан, эти указатели неуровневого уровня по умолчанию используют уникальные указатели. Это сообщение об ошибке указывает на последний случай: атрибут [pointer_default] не указан, и существует по крайней мере один указатель не верхнего уровня, который будет рассматриваться как уникальный указатель. Дополнительные сведения см. в разделе Типы указателей по умолчанию.
|
-
MIDL2039
|
-
интерфейс не соответствует требованиям к маршалингу автоматизации
- Интерфейс не соответствует требованиям для интерфейса OLE Automation. Убедитесь, что интерфейс является производным от IUnknown или IDispatch.
|
-
MIDL2040
|
-
[out] Только параметр не может быть указателем на открытую структуру
- Параметр [out]-only использовался в качестве указателя на структуру, называемую открытой структурой, передаваемый диапазон и размер которой определяются во время выполнения. Заглушка сервера не знает, сколько места нужно выделить для открытой структуры. Используйте указатель на указатель на открытую структуру и убедитесь, что серверное приложение выделяет для нее достаточно места.
|
-
MIDL2041
|
-
[out] Только параметр не может быть неотразимой строкой
- Массив со строковым атрибутом объявлен как параметр [out]-only без указания размера. Заглушка сервера нуждается в сведениях о размере для выделения памяти для строки. Можно удалить строковый атрибут и добавить атрибут [size_is] или изменить параметр на параметр [in, out].
|
-
MIDL2042
|
-
Параметр [out] не является указателем
- Все параметры [out] должны быть указателями в соответствии с соглашением о вызове по значению языка программирования C. Параметр направления [out] указывает, что сервер передает значение клиенту. Согласно соглашению о вызове по значению сервер может передавать данные клиенту, только если аргумент функции является указателем.
|
-
MIDL2043
|
-
Открытая структура не может быть параметром
- Открытая структура содержит соответствующий массив в качестве последнего элемента. Структура или объединение усекаются, когда последний элемент этой структуры или объединения является соответствующим массивом.
|
-
MIDL2044
|
-
[out] Дескриптор контекста или универсальный дескриптор должен быть указан в качестве указателя на этот тип дескриптора.
- Параметр дескриптора контекста или определяемый пользователем дескриптор с атрибутом направления [out] должен быть указателем на указатель.
|
-
MIDL2045
|
-
Дескриптор контекста не должен быть производным от типа с атрибутом [transmit_as]
- Дескрипторы контекста должны передаваться как типы дескрипторов контекста. Они не могут передаваться как другие типы и не могут быть производными от [transmit_is], [represent_as], [wire_marshal] или [user_marshal].
|
-
MIDL2046
|
-
Не удается указать переменное число аргументов для удаленной процедуры
- Удаленные вызовы процедур, указывающие переменное число аргументов во время компиляции, несовместимы с определением RPC DCE. В Microsoft RPC нельзя использовать переменное число аргументов.
|
-
MIDL2047
|
-
Именованный параметр не может быть "void"
- Параметр с базовым типом void указывается с именем.
|
-
MIDL2048
|
-
параметр является производным от coclass или module
-
Coclass задает объект верхнего уровня, содержащий интерфейсы и dispinterfaces. Его нельзя передать в качестве параметра.
|
-
MIDL2049
|
-
дескриптором привязки может быть только первый параметр; Необходимо указать параметр /ms_ext
- DCE RPC разрешает только первый параметр быть дескриптором привязки. Компиляция с параметром /osf отключает переключатель /ms_ext по умолчанию, который поддерживает несколько параметров дескриптора и параметров дескриптора в позиции, отличной от самой левой позиции.
|
-
MIDL2050
|
-
Не удается использовать [comm_status] как для параметра, так и для возвращаемого типа
- Процедура и один из ее параметров имеют атрибут [comm_status]. Атрибут [comm_status] указывает, что только один объект данных за раз может иметь тип error_status_t.
|
-
MIDL2051
|
-
Атрибут [local] в процедуре требует /ms_ext
- Атрибут [local] является расширением Майкрософт для DCE IDL. Чтобы использовать этот атрибут в функции, нельзя скомпилировать с параметром /osf . Параметр /osf переопределяет параметры компилятора MIDL по умолчанию /ms_ext и /c_ext.
|
-
MIDL2052
|
-
Атрибуты свойств можно использовать только с процедурами
- Неправильное использование атрибута [propget], [propput] или [propputref]. Убедитесь, что вы правильно написали имя функции свойства, а свойство и функция имеют одно и то же имя.
|
-
MIDL2053
|
-
Процедура может иметь не более одного атрибута свойства
- Для функции можно указать не более одного атрибута [propget], [propput] или [propputref].
|
-
MIDL2054
|
-
процедура имеет недопустимое сочетание атрибутов операции
- Некоторые атрибуты нельзя использовать в связи с другими атрибутами. Ознакомьтесь со справочником по языку MIDL, чтобы узнать о точных требованиях и синтаксисе атрибутов, используемых в этой процедуре.
|
-
MIDL2055
|
-
поле, наследующее от соответствующего массива, должно быть последним элементом структуры
- Структура содержит соответствующий массив, который не является последним элементом в структуре. Соответствующий массив должен отображаться как последний элемент структуры.
|
-
MIDL2056
|
-
повторяющаяся метка [case]
- Указана повторяющаяся метка регистра. Отобразится повторяющаяся метка.
|
-
MIDL2057
|
-
Для дискриминированного объединения не указан [по умолчанию] регистр
- Дискриминируемое объединение было указано без регистра по умолчанию.
|
-
MIDL2058
|
-
Не удается разрешить выражение атрибута
- Невозможно разрешить выражение, связанное с атрибутом . Эта ошибка обычно возникает, когда переменная, отображаемая в выражении, не определена. Например, ошибка может возникнуть, если переменная s не определена и используется атрибутом [size_is].
|
-
MIDL2059
|
-
Выражение атрибута должно иметь целочисленный тип, не поддерживая 64-разрядные выражения
- Указанная переменная атрибута или выражение должны быть целочисленным типом. Эта ошибка возникает, если тип выражения атрибута не разрешается в целое число.
|
-
MIDL2060
|
-
[byte_count] требуется /ms_ext
- Атрибут [byte_count] является расширением Майкрософт для DCE IDL. Для использования этого атрибута нельзя скомпилировать с параметром /osf , который переопределяет параметры компилятора MIDL по умолчанию /ms_ext и /c_ext.
|
-
MIDL2061
|
-
[byte_count] может применяться только к параметрам out типа указателя.
- Атрибут [byte_count] может применяться только к параметрам [out], а все параметры [out] должны быть типами указателей.
|
-
MIDL2062
|
-
Невозможно указать [byte_count] в указателе на соответствующий массив или структуру
- Атрибут [byte_count] не может применяться к соответствующему массиву или структуре.
|
-
MIDL2063
|
-
параметр, указывающий число байтов не только [in], или параметр числа байтов не является [out] только
- Значение, связанное с [byte_count], должно передаваться от клиента к серверу; он должен быть параметром [in]. Параметр [byte_count] не обязательно должен быть параметром [in, out].
|
-
MIDL2064
|
-
параметр, указывающий число байтов, не является целочисленным типом
- Значение, связанное с числом байтов, должно быть целочисленным типом int, small, short или long.
|
-
MIDL2065
|
-
Не удается указать [byte_count] в параметре с атрибутами размера
- Атрибут [byte_count] нельзя использовать с другими атрибутами размера, такими как [size_is] или [length_is].
|
-
MIDL2066
|
-
[case] выражение не является константой
- Выражение, указанное для метки регистра, не является константой.
|
-
MIDL2067
|
-
Выражение [case] не имеет целочисленного типа
- Выражение, указанное для метки регистра, не является целочисленным типом.
|
-
MIDL2068
|
-
для указания [context_handle] для типа, отличного от void *, требуется /ms_ext
- Для совместимости DCE-RPC дескриптор контекста должен быть указателем типа void *. Если вы хотите, чтобы дескрипторы контекста были связаны с типами, отличными от void *, не используйте параметр компилятора MIDL /osf, который переопределяет переключатель компилятора MIDL по умолчанию /ms_ext.
|
-
MIDL2069
|
-
Не удается указать несколько параметров с каждым из comm_status/fault_status
- Процедура может иметь только один параметр с атрибутом [comm_status]. Он может иметь не более одного параметра с атрибутом [fault_status].
|
-
MIDL2070
|
-
параметр comm_status/fault_status должен быть параметром указателя только [out]
- Типы кода ошибок [comm_status] и [fault_status] передаются от сервера к клиенту и поэтому должны быть указаны в качестве параметра [out]. Из-за ограничений языка программирования C все параметры [out] должны быть указателями.
|
-
MIDL2071
|
-
Синтаксическая ошибка конечной точки
- Неправильный синтаксис конечной точки.
|
-
MIDL2072
|
-
неприменимый атрибут
- Указанный атрибут не может быть применен в этой конструкции. Например, атрибут string применяется к массивам char или указателям char и не может применяться к структуре, состоящей из двух коротких целых чисел:
typedef [string] struct moo
{
short x;
short y;
};
|
-
MIDL2073
|
-
[выделение] требуется /ms_ext
- Атрибут allocate представляет расширение Майкрософт, которое не определено как часть RPC DCE. Чтобы использовать этот атрибут, нельзя скомпилировать с параметром /osf , который переопределяет параметр компилятора MIDL по умолчанию /ms_ext
|
-
MIDL2074
|
-
недопустимый режим [выделение]
- Указан недопустимый режим для конструкции атрибута [allocate]. Четыре допустимых режима: single_node, all_nodes, on_null и всегда.
|
-
MIDL2075
|
-
Атрибуты length не могут применяться с атрибутом string
- При использовании атрибута string созданные файлы-заглушки вызывают функцию strlen , чтобы определить длину строки. Не используйте атрибут length и строковый атрибут для одной и той же переменной.
|
-
MIDL2076
|
-
Невозможно одновременно указать [last_is] и [length_is]
- И [last_is], и [length_is] указаны для одного массива. Эти атрибуты связаны следующим образом: length = last first + 1. Так как каждое значение может быть производным от другого, не указывайте оба значения.
|
-
MIDL2077
|
-
Невозможно одновременно указать [max_is] и [size_is]
- Для одного массива указаны и [ max_is], и [ size_is]. Эти атрибуты связаны следующим образом: max = size + 1. Так как каждое значение может быть производным от другого, не указывайте оба значения.
|
-
MIDL2078
|
-
атрибут [switch_is], указанный при использовании объединения
- Для объединения не было указано дискриминант. Атрибут [switch_is] указывает дискриминант, используемый для выбора полей объединения.
|
-
MIDL2079
|
-
no [uuid] specified
- Для интерфейса не указан UUID.
|
-
MIDL2080
|
-
[uuid] игнорируется в интерфейсе [local]
- Использование атрибута [local] в интерфейсе объекта приводит к тому, что компилятор MIDL игнорирует атрибут [uuid]. Нельзя использовать оба атрибута в интерфейсе RPC.
|
-
MIDL2081
|
-
несоответствие типов между выражениями атрибутов длины и размера
- Выражения атрибутов длины и размера должны иметь одинаковые типы. Например, это предупреждение выдается, если переменная атрибута для выражения [size_is] имеет тип unsigned long , а переменная атрибута для выражения [length_is] имеет тип long.
|
-
MIDL2082
|
-
Атрибут [string] должен быть указан "byte", "char" или "wchar_t" массива или указателя
- Строковый атрибут не может применяться к указателю или массиву, базовым типом которых не является байт, char или структура , в которых все члены являются типом byte или char .
|
-
MIDL2083
|
-
несоответствие между типом выражения [switch_is] и типом переключателя объединения
- Если объединение [switch_type] не указано, тип переключателя совпадает с типом поля [switch_is].
|
-
MIDL2084
|
-
[transmit_as] не должно применяться к типу, который является производным от дескриптора контекста.
- Дескрипторы контекста не могут передаваться как другие типы.
|
-
MIDL2085
|
-
[transmit_as] должен указывать переводимый тип
- Указанный тип [transmit_as] является производным от типа, который не может быть передан Microsoft RPC, например void, void *или int. Используйте определенный базовый тип RPC; в случае int добавьте описатели размера, такие как small, short или long , чтобы квалифицировать значение int.
|
-
MIDL2086
|
-
передаваемый тип для [transmit_as] и [represent_as] не должен быть указателем или производным от указателя
- Передаваемый тип не может быть указателем или производным от указателя.
|
-
MIDL2087
|
-
представленный тип для [transmit_as] и [represent_as] не должен быть производным от соответствующего или изменяющегося массива, его эквивалента указателя или соответствующей или изменяющейся структуры
- Тип, к которому применен [transmit_as], не может быть производным от соответствующего массива или структуры (массива или структуры, размер которых определяется во время выполнения).
|
-
MIDL2088
|
-
Неправильный формат [uuid]
- Формат UUID не соответствует спецификации. UUID должен быть строкой, состоящей из пяти последовательностей шестнадцатеричных цифр длиной 8, 4, 4, 4 и 12 цифр. "12345678-1234-ABCD-EF01-28A49C28F17D" является допустимым UUID. Используйте функцию UuidCreate или служебную программу для создания допустимого UUID.
|
-
MIDL2089
|
-
uuid не является шестнадцатеричным числом
- UUID, указанный для интерфейса, содержит недопустимые символы в шестнадцатеричном представлении чисел. Символы от 0 до 9 и от A до F допустимы в шестнадцатеричном представлении.
|
-
MIDL2090
|
-
Необязательные параметры должны находиться после обязательных параметров
- Описание порядка списков параметров см. в разделе [необязательно] справочника по языку MIDL.
|
-
MIDL2091
|
-
[dllname] требуется, если используется [запись]
- Если вы указываете точку входа в библиотеку DLL, необходимо также указать имя этой библиотеки DLL с помощью атрибута [dllname].
|
-
MIDL2092
|
-
[bindable] является недопустимым без [propget], [propput] или [propputref]
- Атрибут [bindable] действителен только для свойства, поэтому необходимо также указать одну из функций доступа к свойству или настройки свойств.
|
-
MIDL2093
|
-
Процедуры с [propput] или [propputref] должны иметь по крайней мере один параметр.
- Процедура [propput] или [ propputref] должна иметь по крайней мере параметр [in] со свойством для задания; Процедура [propget] должна иметь по крайней мере параметр [out, retval] для получения свойства или ссылки.
|
-
MIDL2094
|
-
Атрибут [id] является обязательным
- Для этой функции-члена из-за используемого синтаксиса dispinterface требуется DISPID, который указывается с помощью атрибута [ id]. При указании dispinterface с помощью свойств и методов необходимо указать DISPID для каждого свойства и метода.
|
-
MIDL2095
|
-
Имя интерфейса, указанное в ACF, не соответствует указанному в IDL-файле
- В текущем режиме компилятора имя, следующее за интерфейсом ключевое слово в ACF, должно совпадать с именем интерфейса, ключевое слово в IDL-файле. Имена интерфейсов в файлах IDL и ACF могут отличаться при компиляции с помощью параметра компилятора MIDL /acf.
|
-
MIDL2096
|
-
повторяющийся атрибут
- Указаны повторяющиеся или конфликтующие атрибуты. Эта ошибка часто возникает, когда два атрибута являются взаимоисключающими. Например, атрибуты [code] и [nocode] нельзя использовать одновременно.
|
-
MIDL2097
|
-
Параметр с атрибутом [comm_status] или [fault_status] должен быть указателем на тип error_status_t
- Если в качестве атрибута параметра используется [fault_status] или [comm_status], параметр должен быть параметром [out] типа error_status_t. При возникновении ошибки сервера параметру присваивается код ошибки. После успешного завершения удаленного вызова процедура задает значение .
|
-
MIDL2098
|
-
Не удается указать [local] процедуру в файле ACF
- В ACF указана локальная процедура. Локальную процедуру можно указать только в IDL-файле.
|
-
MIDL2099
|
-
указанный тип не определен как дескриптор
- Тип, указанный в атрибуте [implicit_handle], не определен как тип дескриптора. Измените определение типа или имя типа, указанное атрибутом .
|
-
MIDL2100
|
-
процедура не определена
- Атрибут был применен к процедуре в ACF, и эта процедура не определена в IDL-файле.
|
-
MIDL2101
|
-
этот параметр не существует в IDL-файле
- Параметр, указанный в ACF, не существует в определении В IDL-файле. Все параметры, функции и определения типов, отображаемые в ACF, должны соответствовать параметрам, функциям и типам, ранее определенным в IDL-файле.
|
-
MIDL2102
|
-
эта конструкция с границами массива не поддерживается
- В настоящее время MIDL поддерживает выражение верхней и нижней границ массива в виде Массив[Нижний .. Upper] только в том случае, если константа, задающая нижнюю границу массива, разрешается в нулевое значение.
|
-
MIDL2103
|
-
Спецификация с привязкой массива недопустима
- Пользовательская спецификация границ массива для массива фиксированного размера недопустима. Пример:
typedef short Array[-1]
|
-
MIDL2104
|
-
Указатель на соответствующий массив или массив, содержащий соответствующий массив, не поддерживается
- Недопустимое использование соответствующего массива. Правила, регулирующие соответствующие массивы, см. в разделе Массивы и RPC.
|
-
MIDL2105
|
-
pointee/array не является производным от размера
- Соответствующий массив указан без указания размера. Размер можно указать с помощью атрибута [max_is] или [size_is].
|
-
MIDL2106
|
-
В библиотеке типов разрешены только фиксированные массивы и safeARRAY.
- Вы использовали тип массива в инструкции library, который не может использоваться в библиотеке типов.
|
-
MIDL2107
|
-
SAFEARRAY являются законными только внутри блока библиотеки
- Компилятор MIDL не распознает SAFEARRAY как допустимый тип данных, за исключением случаев, когда создается библиотека типов.
|
-
MIDL2108
|
-
неправильная константная символа
- Символ конца строки не допускается в символьных константах.
|
-
MIDL2109
|
-
конец файла, найденного в примечании
- Символ конца файла обнаружен в комментарии.
|
-
MIDL2110
|
-
конец файла, найденного в строке
- В строке обнаружен символ конца файла.
|
-
MIDL2111
|
-
Длина идентификатора превышает 31 символ
- Идентификаторы ограничены 31 буквенно-цифровым символом. Имена идентификаторов длиной более 31 символа усекаются.
|
-
MIDL2112
|
-
конец строки, найденной в строке
- В строке обнаружен символ конца строки. Убедитесь, что вы включили символ в двойных кавычках, который завершает строку.
|
-
MIDL2113
|
-
Строковая константа превышает ограничение в 255 символов
- Длина строки превысила максимально допустимую длину в 255 символов.
|
-
MIDL2114
|
-
Длина идентификатора превышает 255 символов и была усечена
- Длина идентификатора превысила максимально допустимую длину в 255 символов. Лишние символы в идентификаторе усекаются.
|
-
MIDL2115
|
-
константы слишком большие
- Константа слишком велика для внутреннего представления.
|
-
MIDL2116
|
-
ошибка числового анализа
- Компилятору не удалось проанализировать числовой идентификатор.
|
-
MIDL2117
|
-
ошибка при открытии файла
- Операционная система сообщила об ошибке при попытке открыть выходной файл. Эта ошибка может быть вызвана слишком длинным именем для файловой системы или повторяющимся именем файла.
|
-
MIDL2118
|
привязка ошибки к функции
|
-
MIDL2119
|
ошибка инициализации OLE
|
-
MIDL2120
|
при загрузке библиотеки ошибок
|
-
MIDL2121
|
-
[out] только параметр не должен быть производным от указателя или массива верхнего уровня [unique] или [ptr]
- Уникальный указатель не может быть параметром [out]only. По определению уникальный указатель может меняться с NULL на не null. Сведения о параметре [out]-only не передаются от клиента к серверу.
|
-
MIDL2122
|
-
атрибут неприменим для этого объединения, не допускающего RPC
- Только атрибуты [switch_is] и [switch_type] применяются к объединению, которое передается в рамках удаленного вызова процедуры.
|
-
MIDL2123
|
-
Выражение, используемое для атрибута size, не должно быть производным от параметра [out]-only
- Значение параметра [out]-only не передается на сервер и не может использоваться для определения длины или размера параметра [in].
|
-
MIDL2124
|
-
Выражение, используемое для атрибута length для параметра [in], не может быть производным от параметра [out]-only
- Значение параметра [out]-only не передается на сервер и не может использоваться для определения длины или размера параметра [in].
|
-
MIDL2125
|
-
использование "int" needs /c_ext
- MIDL — это строго типизированный язык. Все параметры, передаваемые по сети, должны быть производными от одного из базовых типов MIDL. Тип int не определен как часть MIDL. Передаваемые данные должны содержать спецификатор размера: маленький, короткий или длинный. Данные, которые не передаются по сети, могут быть включены в интерфейс; используйте параметр /c_ext .
|
-
MIDL2126
|
-
Поле структуры или объединения не должно быть "void"
- Поля в структуре или объединении должны быть объявлены как определенные базовые типы, поддерживаемые MIDL, или тип, производный от базовых типов. Типы Void не допускаются в удаленных операциях.
|
-
MIDL2127
|
-
Элемент массива не должен быть пустым
- Элемент массива не может быть пустым.
|
-
MIDL2128
|
-
использование квалификаторов типа и /или модификаторов требует /c_ext
- Модификаторы типа, такие как _cdecl и _far , можно компилировать только при указании параметра /c_ext .
|
-
MIDL2129
|
-
Поле структуры или объединения не должно быть производным от функции
- Поля структуры или объединения должны быть базовыми типами MIDL или типами, производными от этих базовых типов. Функции не являются законными в области структуры или объединения.
|
-
MIDL2130
|
-
Элемент array не должен быть функцией
- Элемент массива не может быть функцией.
|
-
MIDL2131
|
-
Параметр не должен быть функцией
- Параметр удаленной процедуры должен быть переменной указанного типа. Функция не может быть параметром удаленной процедуры.
|
-
MIDL2132
|
-
Структуре или объединению с битовыми полями требуется /c_ext
- Необходимо указать параметр компилятора MIDL /c_ext , чтобы разрешить битовые поля в структурах, которые не передаются в удаленном вызове процедуры.
|
-
MIDL2133
|
-
спецификация битового поля для другого типа, который "int" является расширением, не совместимым с ANSI
- Спецификация языка программирования ANSI C не позволяет применять битовые поля к не целочисленным типам.
|
-
MIDL2134
|
-
Спецификация битового поля может применяться только к простым целочисленным типам
- Спецификация языка программирования ANSI C не позволяет применять битовые поля к не целочисленным типам.
|
-
MIDL2135
|
-
Поле структуры или объединения не должно быть производным от handle_t или контекстного дескриптора
- Дескрипторы контекста не могут передаваться как часть другой структуры. Они должны передаваться в виде дескрипторов контекста.
|
-
MIDL2136
|
-
Элемент array не должен быть производным от handle_t или дескриптора контекста
- Дескрипторы контекста не могут передаваться как часть массива.
|
-
MIDL2137
|
-
эта спецификация объединения нуждается в /c_ext
- Объединение, отображающееся в определении интерфейса, должно быть связано с дискриминантом или объявлено как локальное. Данные, которые не передаются по сети, могут быть неявно объявлены как локальные при использовании параметра /c_ext , который является midl по умолчанию. Этот IDL нельзя скомпилировать с помощью параметра /osf .
|
-
MIDL2138
|
-
параметр, производный от int, должен иметь описатель размера "small", "short" или "long" с "int"
- Тип int является допустимым типом MIDL только на 32-разрядных платформах, в 16-разрядных системах int должен сопровождаться спецификацией размера. Используйте один из описателей размера small, short или long.
|
-
MIDL2139
|
-
Тип параметра не может быть производным от void или void*
- MIDL — это строго типизированный язык. Все параметры, передаваемые по сети, должны быть производными от одного из базовых типов MIDL. MIDL не поддерживает void в качестве базового типа. Необходимо изменить объявление на допустимый тип MIDL.
|
-
MIDL2140
|
-
параметр, производный от структуры или объединения, содержащего битовые поля, не поддерживается
- Битовые поля не определяются как допустимый тип данных в DCE RPC.
|
-
MIDL2141
|
-
использование параметра, наследующего от типа, содержащего модификаторы типа/квалификаторы типа, требуется /c_ext
- Использование ключевых слов, таких как far, near, const и volatile , в IDL-файле является расширением Майкрософт для DCE RPC. Эти ключевые слова недоступны при компиляции с помощью параметра /osf , который отключает параметр расширения /c_ext по умолчанию.
|
-
MIDL2142
|
-
параметр не должен быть производным от указателя на функцию
- Библиотеки времени выполнения RPC передают указатель и связанные с ним данные между клиентом и сервером. Указатели на функции не могут передаваться в качестве параметров, так как функция не может быть передана по сети.
|
-
MIDL2143
|
-
параметр не должен быть производным от объединения, поддерживающего неrpc
- Союз должен быть связан с дискриминантом. Используйте атрибуты [switch_is] и [switch_type].
|
-
MIDL2144
|
-
тип возвращаемого значения является производным от типа int. Необходимо использовать описатели размера с int
- В 16-разрядных системах тип int не является допустимым типом MIDL, если он не сопровождается спецификацией размера. Используйте один из описателей размера small, short или long.
|
-
MIDL2145
|
-
Тип возвращаемого значения не должен быть производным от указателя void
- MIDL — это строго типизированный язык. Все параметры, передаваемые по сети, должны быть производными от одного из базовых типов MIDL. Типы Void не определяются как часть MIDL. Необходимо изменить объявление на допустимый тип MIDL.
|
-
MIDL2146
|
-
Тип возвращаемого значения не должен быть производным от структуры или объединения, содержащего битовые поля
- Битовые поля не определяются как допустимый тип данных в DCE RPC.
|
-
MIDL2147
|
-
Тип возвращаемого значения не должен быть производным от объединения, поддерживающего неrpc
- Союз должен быть связан с дискриминантом. Используйте атрибуты [switch_is] и [switch_type].
|
-
MIDL2148
|
-
Тип возвращаемого значения не должен быть производным от указателя на функцию
- Библиотеки времени выполнения RPC передают указатель и связанные с ним данные между клиентом и сервером. Указатели на функции не могут передаваться в качестве параметров, так как RPC не определяет метод для передачи связанной функции по сети.
|
-
MIDL2149
|
-
составные инициализаторы не поддерживаются
- DCE RPC поддерживает только простую инициализацию. Структура или массив не могут быть инициализированы в IDL-файле.
|
-
MIDL2150
|
-
Атрибутам ACF в IDL-файле требуется параметр /app_config
- Расширение Майкрософт позволяет указывать атрибуты ACF в IDL-файле. Используйте параметр /app_config , чтобы активировать это расширение.
|
-
MIDL2151
|
-
для одного строковый комментарий требуется /ms_ext или /c_ext
- Однострочные комментарии, использующие два символа косой черты (//), представляют собой расширение Майкрософт для DCE RPC. При компиляции с параметром /osf нельзя использовать однострочные комментарии.
|
-
MIDL2152
|
-
Неправильный формат [версия]
- Номер версии интерфейса в заголовке интерфейса должен быть указан в основном формате. minor, где каждое число может варьироваться от 0 до 65535.
|
-
MIDL2153
|
-
Для "подписанного" требуется /ms_ext или /c_ext
- Использование подписанного ключевое слово является расширением Майкрософт для DCE RPC. Параметр /osf нельзя использовать, если вы хотите использовать эту функцию.
|
-
MIDL2154
|
-
несоответствие в типе назначения
- Тип переменной не соответствует типу значения, присвоенного переменной.
|
-
MIDL2155
|
-
объявление должно иметь вид: const <type> \<declarator> = <initializing expression>
- Объявление несовместимо с синтаксисом RPC DCE. Используйте параметр /ms_ext или /c_ext режима компилятора MIDL.
|
-
MIDL2156
|
-
Объявление должно иметь "const"
- Объявления в IDL-файле должны быть константными выражениями, которые используют ключевое слово const, например:
const short x = 2;
|
-
MIDL2157
|
-
struct/union/enum не должно определяться в спецификации типа параметров
- Структура, объединение или перечислимый тип должны быть явно указаны вне прототипа функции.
|
-
MIDL2158
|
-
Атрибут [allocate] должен применяться только к типам указателей non-void
- Атрибут [allocate] предназначен для сложных структур данных на основе указателя. Если указан атрибут [allocate], файл-заглушка проходит по структуре данных, чтобы вычислить общий размер всех объектов, доступных из указателя, и всех других указателей в структуре данных. Измените тип на тип невоидного указателя или удалите атрибут [allocate] и используйте другой метод для определения его размера выделения, например оператор sizeof .
|
-
MIDL2159
|
-
Массив или эквивалентная конструкция указателя не может быть производным от некапсулированного объединения
- Каждый союз должен быть связан с дискриминантом. Массивы объединений не допускаются, так как они не предоставляют связанный дискриминант. Массивы структур, в которых структура упаковывает объединение и его дискриминант, разрешены, так как заглушки могут использовать дискриминант для определения размера каждого объединения.
|
-
MIDL2160
|
-
поле не должно быть производным от типа error_status_t
- Тип error_status_t можно использовать только в качестве параметра или возвращаемого типа. Он не может быть внедрен в поле структуры или объединения.
|
-
MIDL2161
|
-
Union имеет по крайней мере одну руку без метки case
- Объявление объединения не соответствует требуемому синтаксису MIDL для объединения. Для каждого профсоюзного подразделения требуется метка case или метка по умолчанию, которая выбирает это объединение.
|
-
MIDL2162
|
-
параметр или возвращаемое значение не должны быть производными от типа, к которому применено [ignore]
- Атрибут [ignore] — это атрибут поля, который может применяться только к полям, таким как поля структур и массивов. Атрибут [ignore] указывает, что заглушка не должна разыменовывать указатель во время передачи и не допускается, если она конфликтует с другими атрибутами, которые должны быть разыменовываемыми, например с параметрами [out] и возвращаемыми функциями значениями.
|
-
MIDL2163
|
-
К указателю уже применен атрибут указателя
- К одному указателю можно применить только один из атрибутов указателя, [ref], [unique] или [ptr].
|
-
MIDL2164
|
-
Поле или параметр не должны быть производными от структуры, которая является рекурсивной с помощью указателя ссылки
- По определению ссылочный указатель не может иметь значение NULL. Рекурсивная структура данных, определенная с помощью указателя ссылки, не имеет элементов NULL и по соглашению не является упреющей. Используйте атрибут указателя [unique], чтобы позволить структуре данных указать элемент NULL , или переопределить структуру данных как нерекурсивную структуру данных.
|
-
MIDL2165
|
-
Для использования поля, производного от указателя void, требуется /c_ext
- Тип void * и другие типы и квалификаторы типов, которые не поддерживаются DCE IDL, разрешены в IDL-файле только при использовании параметров компилятора MIDL по умолчанию. Использование параметра /osf переопределяет это значение по умолчанию. Если необходимо выполнить компиляцию в режиме совместимости osf, необходимо переопределить тип указателя.
|
-
MIDL2166
|
-
Для использования этого атрибута требуется /ms_ext
- Эта языковая функция является расширением Майкрософт для DCE IDL. Эту функцию нельзя использовать при компиляции в режиме совместимости osf ( /osf ).
|
-
MIDL2167
|
-
Этот атрибут разрешен только с новыми библиотеками типов форматов
- Для использования этого атрибута требуется версия Oleaut32.dll, предоставляемая вместе с Windows 2000 или более поздней версии.
|
-
MIDL2168
|
-
использование wchar_t требуется /ms_ext или /c_ext
- Тип расширенных символов представляет расширение для DCE IDL. Компилятор MIDL не принимает тип расширенных символов при указании параметра /osf .
|
-
MIDL2169
|
-
Для неименованных полей требуется /ms_ext или /c_ext
- DCE IDL не поддерживает использование неименованных структур или объединений, встроенных в другие структуры или объединения. В DCE IDL все такие внедренные поля должны иметь имена. Компилятор MIDL не разрешает их использование при указании параметра /osf .
|
-
MIDL2170
|
-
Неименованные поля могут быть производными только от типов структуры или объединения
- Расширение Майкрософт для DCE IDL, которое поддерживает неименованные поля, применяется только к структурам и объединениям. Для соблюдения этого ограничения необходимо присвоить имя полю или переопределить его.
|
-
MIDL2171
|
-
Поле объединения не может быть производным от соответствующего или изменяющегося массива или его эквивалента указателя
- Соответствующий массив не может отображаться отдельно в объединении, но должен сопровождаться значением, указывающим размер массива. Вместо использования массива в качестве руки объединения используйте структуру, состоящую из соответствующего массива и идентификатора, указывающего его размер.
|
-
MIDL2172
|
-
атрибут no [pointer_default] задан, при условии, что [ptr] для всех неатрированных указателей в интерфейсе
- Реализация DCE IDL указывает, что все указатели в каждом IDL-файле должны быть связаны с атрибутами указателя. Если явный атрибут указателя не назначен параметру или типу указателя и в IDL-файле не указан атрибут [pointer_default], полный атрибут указателя ptr связывается с указателем. Атрибуты указателя можно изменить с помощью явных атрибутов указателя, указав атрибут [pointer_default] или указав параметр /ms_ext , чтобы изменить значение по умолчанию для неаттрибуированных указателей на [уникальный].
|
-
MIDL2173
|
-
Инициализация выражения должна разрешаться в константное выражение
- Если выражение используется в качестве инициализатора, оно должно быть константным. Это верно во всех режимах компилятора MIDL. Выражение должно быть разрешаемым во время компиляции. Укажите литеральную константу или выражение, которое разрешается в константу, а не в переменную.
|
-
MIDL2174
|
-
выражение атрибута должно иметь тип integer, char, boolean или перечисление
- Указанный тип не разрешается в допустимый тип коммутатора. Используйте целочисленный, символьный, байтовый, логический тип или тип перечисления либо тип, производный от одного из этих типов.
|
-
MIDL2175
|
-
недопустимая констант
- Указанная константа выходит за пределы допустимого диапазона для указанного типа.
|
-
MIDL2176
|
-
атрибут не реализован; Игнорировать
- Указанный атрибут не реализован в этом выпуске Microsoft RPC. Компилятор MIDL продолжает обработку IDL-файла так, как если бы атрибут отсутствует.
|
-
MIDL2177
|
-
Тип возвращаемого значения не должен быть производным от указателя [ссылка]
- Возвращаемые функцией значения, определенные как типы указателей, должны быть указаны как [уникальные] или полные указатели. Нельзя использовать ссылочные указатели.
|
-
MIDL2178
|
-
Выражение атрибута должно быть именем переменной или выражением разыменования указателя в этом режиме. Необходимо указать параметр /ms_ext.
- Компилятор IDL DCE требует, чтобы размер, связанный с атрибутом [size_is], был указан переменной или переменной указателя. Если вы хотите воспользоваться расширением Майкрософт, которое позволяет определять атрибут [size_is] константным выражением, нельзя использовать параметр компилятора /osf .
|
-
MIDL2179
|
-
Параметр не должен быть производным от рекурсивного некапсулированного объединения
- Объединение должно включать дискриминант, поэтому у него не может быть другого союза в качестве элемента. Объединение может быть внедрено в другое объединение только в том случае, если оно является частью структуры, включающей дискриминант.
|
-
MIDL2180
|
-
Параметр binding-handle не может быть только [out]
- Параметр дескриптора, определяемый компилятором MIDL в качестве дескриптора привязки для этой операции, должен быть параметром [in]. Параметры [out]-only не определены в заглушку клиента, а дескриптор привязки должен быть определен на клиенте.
|
-
MIDL2181
|
-
Указатель на дескриптор не может быть [unique] или [ptr]
- Нельзя использовать уникальные и полные атрибуты указателя для указателя на дескриптор. Эти атрибуты допускают значение NULL, а дескриптор привязки не может иметь значение NULL. Используйте атрибут [ref] для получения параметра binding-handle от ссылочных указателей.
|
-
MIDL2182
|
-
Параметр, который не является дескриптором привязки, не должен быть производным от handle_t
- Примитивный тип дескриптора handle_t не является допустимым типом данных, передаваемым по сети. Измените тип параметра на тип, отличный от handle_t, или удалите параметр.
|
-
MIDL2183
|
-
Обнаружен непредвиденный конец файла
- Компилятор MIDL обнаружил конец файла, прежде чем ему удалось успешно разрешить все синтаксические элементы файла. Убедитесь, что завершающий символ правой скобки (}) присутствует в конце файла, или проверка синтаксис.
|
-
MIDL2184
|
-
К типу, наследуемого от handle_t, не должен применяться [transmit_as]
- Примитивный тип дескриптора handle_t не передается по сети.
|
-
MIDL2185
|
-
[context_handle] не должно применяться к типу, к которому применен [дескриптор]
- Атрибуты [context_handle] и [handle] нельзя применить к одному типу.
|
-
MIDL2186
|
-
[дескриптор] не должен указываться для типа, производного от void или void *
- Тип, указанный с атрибутом [handle], может передаваться по сети, но тип void* не является передаваемым типом. Тип дескриптора должен разрешаться в тип, производный от переводимых базовых типов.
|
-
MIDL2187
|
-
Параметр должен иметь значение [in], [out] или [in,out] в этом режиме. Необходимо указать /ms_ext или /c_ext
- Компилятор IDL DCE требует, чтобы все параметры имели явные параметры направления. Чтобы использовать расширения Майкрософт для DCE IDL, нельзя использовать параметр /osf , который переопределяет /ms_ext и /c_ext.
|
-
MIDL2188
|
-
передаваемый тип не может быть производным от void для [transmit_as], [represent_as], [wire_marshal], [user_marshal]
- Атрибут [transmit_as] применяется только к типам указателей. Используйте тип void* вместо void.
|
-
MIDL2189
|
-
Значение void должно быть указано в первой и единственной спецификации параметра.
- Ключевое слово void неправильно отображается с другими параметрами функции. Чтобы указать функцию без параметров, ключевое слово void должен быть единственным элементом списка параметров, как показано в следующем примере:
void Moo(void)
|
-
MIDL2190
|
-
[switch_is] должен быть указан только для типа, производного от некапсулированного объединения.
- Неправильно применяется ключевое слово [switch_is]. Его можно использовать только с некапсулированными типами объединения.
|
-
MIDL2191
|
-
в этой версии не реализованы строковые структуры
- DCE IDL позволяет атрибуту [string] применяться к структуре, элементы которой состоят только из символов, байтов или типов, которые разрешаются в символы или байты. Эта функция не поддерживается в Microsoft RPC. Атрибут [string] не может применяться к структуре в целом. Однако его можно применить к каждому отдельному массиву.
|
-
MIDL2192
|
-
тип switch может быть только целочисленным, char, логическим или перечислением
- Указанный тип не разрешается в допустимый тип коммутатора. Используйте целое число, символ, байт, логический тип, тип перечисления или тип, производный от одного из этих типов.
|
-
MIDL2193
|
-
Не следует указывать [handle] для типа, производного от handle_t
- Тип дескриптора должен быть определен с помощью одного и только одного из типов или атрибутов дескриптора. Используйте примитивный тип handle_t или атрибут [handle], но не оба типа. Определяемый пользователем тип дескриптора должен быть передаваемым, но тип handle_t не передается по сети.
|
-
MIDL2194
|
-
параметр, производный от handle_t, не должен быть параметром [out]
- Дескриптор примитивного типа handle_t имеет смысл только для той стороны приложения, в которой он определен. Тип handle_t не передается по сети.
|
-
MIDL2195
|
-
выражение атрибута является производным от разыменования указателя [unique] или [ptr]
- Хотя атрибуты [unique] и полные указатели позволяют указателям иметь значения NULL , выражение, определяющее атрибут размера или длины, никогда не должно иметь значение NULL . При использовании указателей MIDL ограничивает выражения указателями [ссылка].
|
-
MIDL2196
|
-
Для cpp_quote требуется /ms_ext
- Атрибут cpp_quote является расширением Майкрософт для DCE IDL. Не используйте параметр компилятора MIDL /osf, который переопределяет /ms_ext.
|
-
MIDL2197
|
-
для uuid с кавычками требуется /ms_ext
- Возможность указывать значение UUID в кавычках — это расширение Майкрософт для DCE IDL. Не используйте параметр компилятора MIDL /osf, который переопределяет /ms_ext.
|
-
MIDL2198
|
-
Тип возвращаемого значения не может быть производным от некапсулированного объединения
- Неинкапсулированное объединение не может использоваться в качестве возвращаемого типа функции. Чтобы вернуть тип объединения, укажите тип объединения в качестве параметра [out] или [in, out].
|
-
MIDL2199
|
-
Тип возвращаемого значения не может быть производным от соответствующей структуры
- Размер возвращаемого типа должен быть константой. В качестве возвращаемого типа нельзя указать структуру, содержащую соответствующий массив, даже если структура также включает описатель размера. Чтобы вернуть соответствующую структуру, укажите структуру в качестве параметра [out] или [in, out].
|
-
MIDL2200
|
-
[transmit_as] не должно применяться к типу, наследуемого от универсального дескриптора.
- В этом выпуске атрибуты [handle] и [transmit_as] не могут быть объединены в одном типе.
|
-
MIDL2201
|
-
[дескриптор] не должен применяться к типу, к которому применено [transmit_as]
- В этом выпуске атрибуты [handle] и [transmit_as] не могут быть объединены в одном типе.
|
-
MIDL2202
|
-
Недопустимый тип, указанный для объявления const
- Объявления констант ограничены целочисленными, символьными, расширенными символами, строковыми и логическими типами.
|
-
MIDL2203
|
-
операнда для оператора sizeof не поддерживается
- Компилятор MIDL поддерживает операцию sizeof только для простых типов. Указанный операнд не вычисляет целочисленный тип.
|
-
MIDL2204
|
-
это имя уже используется в качестве имени идентификатора const
- Идентификатор ранее использовался для идентификации константы в объявлении const . Измените имя одного из идентификаторов, чтобы они были уникальными.
|
-
MIDL2205
|
-
несогласованное переопределение типа error_status_t
- Тип error_status_t должен разрешаться в тип unsigned long. Другие определения типов использовать нельзя.
|
-
MIDL2206
|
-
[case] значение вне диапазона типа переключателя
- Значение, связанное с регистром оператора switch, выходит за пределы диапазона для указанного типа переключателя. Например, эта ошибка возникает при использовании длинного целочисленного значения в операторе case для короткого целочисленного типа.
|
-
MIDL2207
|
-
параметр, производный от wchar_t, требует /ms_ext
- Тип расширенных символов wchar_t является расширением Майкрософт для DCE IDL. Не используйте параметр компилятора MIDL /osf, который переопределяет /ms_ext
|
-
MIDL2208
|
-
этот интерфейс имеет только обратные вызовы
- Обратные вызовы допустимы только в контексте удаленного вызова процедуры. Интерфейс должен включать по крайней мере один прототип функции для удаленного вызова процедуры, не включающий атрибут [callback].
|
-
MIDL2209
|
-
атрибут с избыточностью; Игнорировать
- Указанный атрибут применялся несколько раз. Несколько экземпляров одного атрибута игнорируются.
|
-
MIDL2210
|
-
Тип дескриптора контекста, используемый для неявного дескриптора
- Тип, определенный с помощью атрибута [context_handle], указан в качестве типа дескриптора в атрибуте [ implicit_handle]. Таким образом невозможно объединить атрибуты.
|
-
MIDL2211
|
-
конфликтующие параметры, указанные для [allocate]
- Параметры, указанные для атрибута ACF [allocate], представляют конфликтующие директивы. Например, укажите параметр all_nodes или параметр single_node, но не оба варианта.
|
-
MIDL2212
|
-
ошибка при записи в файл
- При записи в файл произошла ошибка. Это условие может быть вызвано ошибками, связанными с дискового пространства, дескрипторами файлов, ограничениями доступа к файлам и сбоями оборудования.
|
-
MIDL2213
|
-
тип переключателя не найден при определении объединения с использованием типа [switch_is]
- Определение объединения не включает явный атрибут [switch_type]. Тип переменной, заданный атрибутом [switch_is], используется в качестве типа переключателя.
|
-
MIDL2214
|
-
семантическое проверка неполным из-за предыдущих ошибок
- Компилятор MIDL выполняет два прохода по входным файлам для разрешения любых объявлений пересылки. Из-за ошибок, возникших во время первого прохода, проверка на наличие второго прохода не выполнена. Неотвеченные ошибки, связанные с объявлениями пересылки, могут по-прежнему присутствовать в файле.
|
-
MIDL2215
|
-
параметр handle или тип возвращаемого значения не поддерживается в процедуре [callback]
- Процедура [callback] выполняется в контексте вызова от клиента к серверу и использует тот же дескриптор привязки, что и исходный вызов. Явные параметры дескриптора привязки или возвращаемые типы не разрешены в функциях обратного вызова.
|
-
MIDL2216
|
-
[ptr] не поддерживает псевдонимы в этой версии
- Псевдоним возникает, когда данные доступны через несколько имен указателя или переменной. Удалите псевдоним. Дополнительные сведения см. в разделе Уникальные указатели.
|
-
MIDL2217
|
-
параметр уже определен как дескриптор контекста
- Параметр ранее был определен как дескриптор контекста.
|
-
MIDL2218
|
-
[context_handle] не должен быть производным от handle_t
- Три характеристики дескриптора: тип handle_t, атрибут [дескриптор] и атрибут [context_handle] являются взаимоисключающими. Одновременно к типу или параметру может применяться только одна характеристика.
|
-
MIDL2219
|
-
Размер массива превышает 65536 байт
- На некоторых платформах Майкрософт максимальный размер передаваемых данных составляет 64 КБ. Измените приложение таким образом, чтобы все передаваемые данные соответствовали максимальному передаваемого размера.
|
-
MIDL2220
|
-
Размер структуры превышает 65536 байт
- На некоторых платформах Майкрософт максимальный размер передаваемых данных составляет 64 КБ. Измените приложение таким образом, чтобы все передаваемые данные соответствовали максимальному передаваемого размера.
|
-
MIDL2221
|
-
Поле некапсулированного объединения не может быть другим некапсулированным объединением
- Для объединения, передаваемых в рамках удаленного вызова процедуры, требуется связанный элемент данных , дискриминант, который выбирает руку объединения. Профсоюзы, вложенные в другие профсоюзы, не предлагают дискриминантных; в результате они не могут быть переданы в такой форме. Создайте структуру, состоящую из объединения и его дискриминанта.
|
-
MIDL2222
|
-
атрибуты указателя, примененные к внедренным массивам; Игнорировать
- Атрибут указателя может применяться к массиву только в том случае, если массив является параметром верхнего уровня. Другие атрибуты указателя, применяемые к массивам, внедренным в другие структуры данных, игнорируются.
|
-
MIDL2223
|
-
[выделение] является недопустимым для передаваемого или представленного типа для [transmit_as], [represent_as], [wire_marshal] или [user_marshal]
- Атрибуты [transmit_as] и [allocate] не могут одновременно применяться к одному типу. Атрибут [transmit_as] различает представленные и передаваемые типы, а атрибут [allocate] предполагает, что представленный тип совпадает с передаваемым типом.
|
-
MIDL2224
|
В этом режиме импорта необходимо указать [switch_type]
|
-
MIDL2225
|
-
[implicit_handle] тип undefined; предполагается, что универсальный дескриптор
- Тип дескриптора, указанный в ACF, не определен в IDL-файле. Компилятор MIDL предполагает, что тип дескриптора разрешается в примитивный тип дескриптора handle_t. Добавьте атрибут [handle] в определение типа, если вы хотите, чтобы дескриптор вел себя как определяемый пользователем или универсальный дескриптор.
|
-
MIDL2226
|
-
Элемент array не должен быть производным от error_status_t
- В этом выпуске Microsoft RPC тип error_status_t может отображаться только в качестве параметра или возвращаемого типа. Он не может отображаться в массивах.
|
-
MIDL2227
|
-
[выделение] недопустимо для типа, производного от дескриптора примитива, универсального или контекстного дескриптора
- По умолчанию атрибут ACF [allocate] не может применяться к обработке типов.
|
-
MIDL2228
|
-
передаваемый или представленный тип не должен быть производным от error_status_t
- В этом выпуске Microsoft RPC тип error_status_t нельзя использовать с атрибутом [transmit_as].
|
-
MIDL2229
|
-
дискриминант объединения не должен быть производным от поля с примененным к нему [ignore]
- Объединение, используемое в удаленном вызове процедуры, должно быть связано с другим элементом данных, который называется дискриминантным, который выбирает руку объединения. Дискриминант должен быть передан. Атрибут [ignore] не может применяться к дискриминанту объединения.
|
-
MIDL2230
|
-
[nocode] игнорируется для стороне сервера, так как "/server none" не указан
- Некоторые компиляторы IDL DCE создают ошибку при применении атрибута [nocode] к процедуре в интерфейсе, для которого создаются файлы заглушки сервера. Так как сервер должен поддерживать все операции, [nocode] не должен применяться к процедуре в этом режиме, или необходимо использовать параметр /server none компилятора MIDL, чтобы явно указать, что серверные подпрограммы не должны создаваться.
|
-
MIDL2231
|
-
нет удаленных процедур, указанных в интерфейсе, отличном от [локального]; Заглушки клиента или сервера не создаются
- Предоставленный интерфейс не имеет удаленных процедур, поэтому будут создаваться только файлы заголовков.
|
-
MIDL2232
|
-
слишком много вариантов по умолчанию, указанных для инкапсулированного объединения
- Инкапсулированное объединение может иметь только одно значение по умолчанию: arm.
|
-
MIDL2233
|
-
слишком много интерфейсов по умолчанию, указанных для coclass
-
Coclass может содержать не более двух [по умолчанию] членов: один для представления исходящего (исходного) интерфейса или dispinterface, а другой — для представления входящего интерфейса (приемника) или dispinterface.
|
-
MIDL2234
|
-
элементы с [defaultvtable] также должны иметь [источник]
- Интерфейс defaultvtable создает второй исходный интерфейс для объекта, который позволяет приемникам получать события через V-таблицу.
|
-
MIDL2235
|
-
Спецификация объединения без полей недопустима
- Профсоюзы должны иметь по крайней мере одно поле.
|
-
MIDL2236
|
-
значение вне диапазона
- Указанное значение регистра выходит за пределы диапазона типа переключателя.
|
-
MIDL2237
|
-
[context_handle] должен применяться к типу указателя
- Дескрипторы контекста всегда должны быть типами указателей. DCE указывает, что все дескрипторы контекста должны быть типом void *.
|
-
MIDL2238
|
-
Тип возвращаемого значения не должен быть производным от handle_t
-
handle_t не может быть возвращено.
|
-
MIDL2239
|
-
[handle] не должен применяться к типу, наследуемого от дескриптора контекста
- Тип не может быть одновременно дескриптором контекста и универсальным дескриптором.
|
-
MIDL2240
|
-
Поле, наследующее от int, должно иметь описатель размера "small", "short" или "long" с "int"
- Тип int не может быть перенесен в 16-разрядных системах, так как размер int может отличаться на разных компьютерах.
|
-
MIDL2241
|
-
поле не должно быть производным от типа void или void *
-
void и void * нельзя использовать в качестве типов параметров для удаленных процедур.
|
-
MIDL2242
|
-
поле не должно быть производным от структуры, содержащей битовые поля
- Структуры, содержащие битовые поля, нельзя использовать в качестве параметров или возвращаемых типов для удаленных процедур.
|
-
MIDL2243
|
-
поле не должно быть производным от объединения, не допускающего RPC
- Для передачи объединение должно быть указано как некапсулированное объединение или инкапсулированное объединение. Обычные профсоюзы C не имеют дискриминант, необходимый для передачи союза по сети.
|
-
MIDL2244
|
-
поле не должно быть производным от указателя на функцию
- Указатели на функции не могут передаваться в удаленные процедуры. Указатели на функции указывают на код функции, и код функции не может передаваться по сети с помощью RPC.
|
-
MIDL2245
|
-
Не удается использовать [fault_status] для параметра и возвращаемого типа
- Атрибут [fault_status] можно использовать только один раз для каждой процедуры. Атрибут [comm_status] можно использовать независимо друг от друга.
|
-
MIDL2246
|
-
Тип возвращаемого значения слишком сложный для режимов /Oi с использованием /Os
- Большие возвращаемые типы, передаваемые по значению, могут обрабатываться только заглушками оптимизации /Os . Заглушки для этой подпрограммы будут созданы с помощью оптимизации /Os .
|
-
MIDL2247
|
-
универсальный тип дескриптора слишком велик для режимов /Oi с использованием /Os
- Крупные универсальные типы дескрипторов, передаваемые по значению, могут обрабатываться только заглушками оптимизации /Os . Заглушки для этой подпрограммы будут созданы с помощью оптимизации /Os .
|
-
MIDL2248
|
-
[allocate(all_nodes)] в параметре [in,out] может привести к потере исходной памяти.
- Использование [allocate(all_nodes)] в параметре [in, out] должно перераспределять непрерывную память для направления [out], что приводит к потере параметра [in]. Такое использование не рекомендуется.
|
-
MIDL2249
|
-
не может иметь указатель [ref] в качестве руки объединения
- Опорные указатели всегда должны указывать на допустимую память, но объединение [in, out] с указателем на ссылку может возвращать указатель, если в направлении [in] используется другой тип.
|
-
MIDL2250
|
-
возврат дескрипторов контекста, не поддерживаемых для режимов /Oi, с помощью /Os
- MIDL не поддерживает дескриптор контекста в полностью интерпретируемых режимах оптимизации. Переключение на оптимизацию в смешанном режиме.
|
-
MIDL2251
|
-
использование дополнительного параметра [comm_status] или [fault_status] не поддерживается для режимов /Oi, используя /Os
- Атрибуты [comm_status] и [fault_status] могут обрабатываться только заглушками оптимизации /Os . Заглушки для этой подпрограммы будут созданы с помощью оптимизации /Os .
|
-
MIDL2252
|
-
использование неизвестного типа для [represent_as] или [user_marshal] не поддерживается для режимов /Oi, используя /Os
- Использование атрибута [represent_as] с локальным типом, не определенным в IDL-файле или импортированным IDL-файлом, может обрабатываться только заглушками оптимизации /Os . Заглушки для этой подпрограммы будут созданы с помощью оптимизации /Os .
|
-
MIDL2253
|
-
Типы массивов с [transmit_as] или [represent_as] не поддерживаются в возвращаемом типе для режимов /Oi с использованием /Os
- Возврат массива с применением [transmit_as] или [represent_as] может обрабатываться только заглушками оптимизации /Os . Заглушки для этой подпрограммы будут созданы с помощью оптимизации /Os .
|
-
MIDL2254
|
-
Типы массивов с [transmit_as] или [represent_as] не поддерживаются для режимов /Oi с использованием /Os
- Это действие не поддерживается для полностью интерпретируемой оптимизации. Переключение на оптимизацию в смешанном режиме.
|
-
MIDL2255
|
-
[обратный вызов] требуется /ms_ext
- Атрибут [callback] является расширением Майкрософт и требует включения параметра /ms_ext . Не компилируйте с параметром /osf, который переопределяет /ms_ext.
|
-
MIDL2256
|
-
Зависимость циклического интерфейса
- Этот интерфейс использует себя (прямо или косвенно) в качестве базового интерфейса.
|
-
MIDL2257
|
-
В качестве корневого интерфейса можно использовать только IUnknown.
- В настоящее время все интерфейсы должны иметь IUnknown в качестве корневого интерфейса.
|
-
MIDL2258
|
-
[IID_IS] может применяться только к указателям на интерфейсы
- Атрибут [iid_is] можно применять только к указателям интерфейса, хотя их можно указать как указатели на IUnknown *.
|
-
MIDL2259
|
-
интерфейсы можно использовать только в конструкциях указателя на интерфейс
- Имена интерфейсов не могут использоваться только в качестве базовых интерфейсов или указателей интерфейса.
|
-
MIDL2260
|
-
Указатели интерфейса должны иметь UUID/IID
- Базовым типом выражения [iid_is] должен быть тип UUID/GUID/IID.
|
-
MIDL2261
|
-
для определений и объявлений за пределами текста интерфейса требуется /ms_ext
- Размещение объявлений и определений за пределами любого текста интерфейса является расширением Майкрософт и требует использования параметра /ms_ext .
|
-
MIDL2262
|
-
Для нескольких интерфейсов в одном файле требуется /ms_ext
- Использование нескольких интерфейсов в одном IDL-файле является расширением Майкрософт и недоступно при компиляции в режиме /osf .
|
-
MIDL2263
|
-
разрешен только один из [implicit_handle], [auto_handle]или [explicit_handle]
- Каждый интерфейс может иметь только один из этих трех атрибутов.
|
-
MIDL2264
|
-
[implicit_handle] ссылается на тип, который не является дескриптором
- Неявные дескрипторы должны иметь один из типов дескрипторов.
|
-
MIDL2265
|
-
[object] procs можно использовать только с "/env win32"
- Интерфейсы с атрибутом [object] нельзя использовать с 16-разрядными средами.
|
-
MIDL2266
|
-
[обратный вызов] с параметром -env dos/win16 не поддерживается для /Oi, используя /Os
- Обратные вызовы в 16-разрядных средах могут обрабатываться только заглушками оптимизации /Os . Заглушки для этой подпрограммы будут созданы с помощью оптимизации /Os .
|
-
MIDL2267
|
-
float/double не поддерживается в качестве параметра верхнего уровня для режима /Oi с использованием /Os
- Типы float и double могут обрабатываться в качестве параметров только заглушками оптимизации /Os . Заглушки для этой подпрограммы будут созданы с помощью оптимизации /Os . Типы float и double в структурах, массивах или объединениях по-прежнему могут обрабатываться с помощью /Os.
|
-
MIDL2268
|
-
Указатели на дескрипторы контекста не могут использоваться в качестве возвращаемых значений
- Дескрипторы контекста должны использоваться в качестве прямых возвращаемых значений, а не косвенных возвращаемых значений.
|
-
MIDL2269
|
-
процедуры в интерфейсе объекта должны возвращать HRESULT
- Все процедуры в интерфейсе объекта, не имеющие атрибута -[local], должны возвращать SCODE HRESULT/.
|
-
MIDL2270
|
-
дублировать UUID
- То же, что и идентификаторы UUID, должны быть уникальными.
|
-
MIDL2271
|
-
Интерфейсы [object] должны быть производными от другого интерфейса [object], например IUnknown
- Наследование интерфейсов допускается только при использовании интерфейсов объектов.
|
-
MIDL2272
|
-
(асинхронный) интерфейс должен быть производным от другого (асинхронного) интерфейса
- Интерфейсы объектов, как синхронные, так и асинхронные, должны быть производными от IUnknown или другого базового интерфейса OLE.
|
-
MIDL2273
|
-
Выражение [IID_IS] должно быть указателем на структуру IID
- Базовым типом выражения [iid_is] должен быть тип UUID/GUID/IID.
|
-
MIDL2274
|
-
Тип [call_as] должен быть [локальной] процедурой
- Целевой объект типа [call_as], если он определен, должен иметь значение [ local].
|
-
MIDL2275
|
-
undefined [call_as] не должны использоваться в интерфейсе объекта
- Необходимо определить целевой объект типа [call_as]. Убедитесь, что вы предоставили call_as подпрограммы для вызывающих и вызываемых приложений.
|
-
MIDL2276
|
-
[auto_handle] не может использоваться с [encode] или [decode]
- Атрибуты [ encode] и [ decode] можно использовать только с явными дескрипторами или неявными дескрипторами.
|
-
MIDL2277
|
-
обычные процедуры не допускаются в интерфейсе с [encode] или [decode]
- Интерфейсы, содержащие процедуры [encode] или [decode], также не могут иметь удаленные процедуры.
|
-
MIDL2278
|
-
Соответствие или дисперсия верхнего уровня не допускаются при использовании [encode] или [decode]
- Типы, имеющие соответствие или дисперсию верхнего уровня, не могут использовать сериализацию типов, так как невозможно обеспечить изменение размера или удлинение. Однако структурам, содержащим их, разрешено использовать сериализацию типов.
|
-
MIDL2279
|
-
Параметр [out] может не иметь "const"
- Так как параметр [out] изменен, он не должен объявляться как константа sa.
|
-
MIDL2280
|
-
Возвращаемые значения могут не иметь "const"
- Так как значение функции задается при возврате функции, это значение не должно объявляться как константа.
|
-
MIDL2281
|
-
Недопустимое использование атрибута "retval"
- Убедитесь, что вы не использовали атрибут [необязательный] и что параметр [retval] является последним параметром в списке.
|
-
MIDL2282
|
-
несколько соглашений о вызовах недопустимы
- К одной процедуре можно применить только одно соглашение о вызовах.
|
-
MIDL2283
|
-
атрибут недопустим в процедуре [object]
- Приведенный выше атрибут применяется только к процедурам в интерфейсах, у которых нет атрибута [object].
|
-
MIDL2284
|
-
[out] Указатели интерфейса должны использовать двойное косвенное
- Так как измененное значение является указателем на интерфейс, над указателем должен быть другой уровень косвенного обращения, чтобы его можно было вернуть.
|
-
MIDL2285
|
-
процедура используется дважды в качестве вызывающего в [call_as]
- Данная [локальная] процедура может использоваться только один раз в качестве цели [call_as], чтобы избежать столкновений имен.
|
-
MIDL2286
|
-
[call_as] целевой объект должен иметь [локальный] в интерфейсе объекта
- Целью [call_as] должна быть определенная [локальная] процедура в текущем интерфейсе.
|
-
MIDL2287
|
-
[code] и [nocode] не могут использоваться вместе
- Эти два атрибута являются противоречивыми и не могут использоваться вместе.
|
-
MIDL2288
|
-
процедуры с атрибутами [maybe] или [message] могут не иметь параметров [out], или возвращаемые значения должны иметь тип HRESULT или error_status_t
- Так как процедуры [возможно] никогда не возвращаются, получить возвращаемые значения невозможно.
|
-
MIDL2289
|
-
Необходимо использовать указатель на функцию
- Хотя определения типов функций разрешены в режиме /c_ext , их можно использовать только в качестве указателей на функции. Они никогда не могут передаваться в качестве параметра или возвращаемого значения удаленной процедуры.
|
-
MIDL2290
|
-
Функции могут не передаваться в операции RPC
- Функции и указатели функций не могут передаваться в качестве параметров или возвращаемых значений удаленных процедур.
|
-
MIDL2291
|
-
Hyper/double не поддерживается в качестве возвращаемого значения для режимов /Oi с использованием /Os
- Возвращаемые значения Hyper и double могут обрабатываться только заглушками оптимизации /Os . Заглушки для этой подпрограммы будут созданы с помощью оптимизации /Os .
|
-
MIDL2292
|
-
#pragma pack(pop) без сопоставления #pragma pack(push)
- #pragma pack(push) и #pragma pack(pop) должны отображаться в соответствующих парах. Указано по крайней мере одно слишком много #pragma pack(push)s.
|
-
MIDL2293
|
-
Строковые поля структуры должны иметь значение byte/char/wchar_t
- Тип [string] может применяться только к структуре, все поля которой имеют тип byte или определение типа, эквивалентное byte.
|
-
MIDL2294
|
-
[notify] не поддерживается для режимов /Oi с использованием /Os
- Атрибут [notify] может обрабатываться только заглушками оптимизации /Os .
|
-
MIDL2295
|
-
параметр handle или тип возвращаемого значения не поддерживается в процедуре в интерфейсе [object]
- Дескрипторы не могут использоваться с интерфейсами [ object].
|
-
MIDL2296
|
-
ANSI C позволяет не указать только крайний левый массив, привязанный к
- В соответствующем массиве ANSI C позволяет не указать только самый левый (наиболее значительный) массив. Если несколько измерений соответствуют, MIDL попытается поместить "1" в другие соответствующие измерения. Если другие измерения определены в другом определении типа, это невозможно. Попробуйте поместить все измерения массива в объявление массива, чтобы избежать этого. В любом случае остерегайтесь вычислений индексирования массивов, выполняемых компилятором; Может потребоваться выполнить собственные вычисления с использованием фактических размеров.
|
-
MIDL2297
|
-
Параметры объединения по значению не поддерживаются для режимов /Oi с использованием /Os
- Это действие не поддерживается для полностью интерпретируемой оптимизации. Переключение на оптимизацию в смешанном режиме.
|
-
MIDL2298
|
-
Атрибут [версия] игнорируется в интерфейсе [object]
- Атрибут [object] идентифицирует COM-интерфейс. Список атрибутов интерфейса для COM-интерфейса не может содержать атрибут [ version].
|
-
MIDL2299
|
-
Атрибут [size_is] или [max_is] недопустим в фиксированном массиве
- Массивы фиксированного размера не могут использовать атрибуты size_is или max_is .
|
-
MIDL2300
|
-
[encode] или [decode] недопустимы в интерфейсе [object]
- Атрибут [object] идентифицирует COM-интерфейс. Атрибуты [encode] и [ decode] обеспечивают сериализацию. Это значит, что вы можете предоставлять буферы и управлять ими для маршалирования и отмены маршалирования данных, однако нельзя выполнять сериализацию в COM-интерфейсах.
|
-
MIDL2301
|
-
[encode] или [decode] для типа требуется /ms_ext
- Сериализация не является частью спецификации DCE-IDL. Это расширение Майкрософт, которое требует использования параметра командной строки /ms_ext .
|
-
MIDL2302
|
-
int не поддерживается в /env win16 или /env dos
- 16-разрядные платформы Майкрософт не поддерживают использование типа int в IDL-файле. Квалифицируйте тип intс небольшим, коротким или длинным.
|
-
MIDL2303
|
-
[bstring] может применяться только к указателю на "char" или "whchar_t"
- Эта ошибка устарела. Он предоставляется только для обеспечения обратной совместимости.
|
-
MIDL2304
|
-
недопустимый атрибут для процедуры в интерфейсе [object]
- Указанный атрибут не допускается в процедуре в COM-интерфейсе.
|
-
MIDL2305
|
-
недопустимый атрибут в интерфейсе [object]
- Указанный атрибут не допускается в COM-интерфейсе.
|
-
MIDL2306
|
-
слишком много параметров или слишком большой стек для режимов /Oi с помощью /Os
- Это предупреждение устарело. Он предоставляется только для обеспечения обратной совместимости. Это означает, что вызов удаленной процедуры приводит к тому, что размер стека превышает 64 K.
|
-
MIDL2307
|
-
нет атрибутов в определении типа файла ACF, поэтому не оказывает влияния
- IDL-файл должен содержать все операторы typedef, которые не имеют атрибутов. Они не должны встречаться в файлах ACF. В этом случае компилятор MIDL интерпретирует их как избыточные и игнорирует.
|
-
MIDL2308
|
-
соглашения о вызовах, отличные от __stdcall или __cdecl, не поддерживаются для режимов /Oi с использованием /Os
- Соглашения о вызовах, такие как __pascal или __fastcall изменить формат стека. Режимы /Oi поддерживают только соглашения о вызовах __stdcall и __cdecl . Если необходимо использовать другие соглашения о вызовах, используйте режим /Os .
|
-
MIDL2309
|
-
Слишком много методов делегирования в интерфейсе, требуется Windows 2000 или более поздней версии
- Один интерфейс может наследовать от другого. В этом случае методы базового интерфейса считаются делегированными. Ни один производный интерфейс не может содержать более 256 делегированных методов.
|
-
MIDL2310
|
-
auto handles not supported with /env mac or /env powermac
- При компиляции IDL-файла для PowerMac нельзя использовать автоматические дескрипторы привязки. Необходимо указать явные или неявные дескрипторы.
|
-
MIDL2311
|
-
инструкции за пределами блока библиотеки являются недопустимыми в режиме совместимости mktyplib
- При компиляции IDL-файла может потребоваться указать параметр командной строки /mktyplib203 .
Примечание.
Средство Mktyplib.exe устарело. Вместо этого используйте компилятор MIDL.
|
-
MIDL2312
|
-
недопустимый синтаксис, если не используется режим совместимости mktyplib
- При компиляции IDL-файла может потребоваться указать параметр командной строки /mktyplib203 .
Примечание.
Средство Mktyplib.exe устарело. Вместо этого используйте компилятор MIDL.
|
-
MIDL2313
|
-
недопустимое определение, должно использовать typedef в режиме совместимости mktyplib
- При компиляции IDL-файла может потребоваться указать параметр командной строки /mktyplib203 .
Примечание.
Средство Mktyplib.exe устарело. Вместо этого используйте компилятор MIDL.
|
-
MIDL2314
|
-
явный атрибут указателя [ptr] [ссылка] игнорируется для указателей интерфейса
- Указатели на интерфейсы не могут иметь атрибуты IDL.
|
-
MIDL2315
|
Режимы /Oi не реализованы для PowerMac, переключение на /Os
|
-
MIDL2316
|
-
Недопустимый тип выражения, используемый в атрибуте
- Значение по умолчанию для указателя должно быть константой.
|
-
MIDL2317
|
-
Недопустимый тип, используемый в канале
- Каналы ограничены базовыми типами данных IDL. Например, нельзя указать канал массивов.
|
-
MIDL2318
|
-
в процедуре используются каналы, с помощью /Oicf
- Выбранный режим не поддерживает каналы. Компилятор MIDL обнаружил использование одного или нескольких каналов в интерфейсе. Таким образом, он компилируется IDL-файл в режиме /Oicf .
|
-
MIDL2319
|
-
в процедуре есть атрибут , который требует использования параметра /Oif, переключения режимов
- Необходимо скомпилировать [асинхронные] процедуры в режиме /Oif .
|
-
MIDL2320
|
-
конфликтующие требования к оптимизации, не удается оптимизировать
- Эта ошибка часто указывает на то, что вы указали режимы компилятора MIDL /Os и /Oi (или вариант / Oi). Это также может означать, что функции, указанные в файлах IDL и ACL, требуют использования обоих режимов. Для оптимизации необходимо выбрать один или другой режим.
|
-
MIDL2321
|
-
Каналы не могут быть элементами массива, элементами структур или объединений
- Типы данных канала могут быть только параметрами верхнего уровня.
|
-
MIDL2322
|
-
недопустимое использование канала
- Нельзя использовать каналы с атрибутами [transmit_as], [represent_as] или [user_marshal]. Кроме того, каналы нельзя использовать в качестве возвращаемых типов.
|
-
MIDL2323
|
-
для функции требуется вариант расширенной интерпретируемой оптимизации; use -Oicf
- Эта ошибка указывает, что параметры командной строки компилятора MIDL, такие как /robust , требуют использования режима /Oicf .
|
-
MIDL2324
|
-
для функции требуется вариант расширенной интерпретируемой оптимизации; use -Oicf
- Это предупреждение указывает, что параметры командной строки компилятора MIDL, такие как /robust , требуют использования режима /Oicf .
|
-
MIDL2329
|
-
параметр оптимизации постепенно сменяется, используйте -Oic
- Режим оптимизации /Oi1 был указан в командной строке MIDL. Этот режим больше не поддерживается, и вместо него следует использовать /Oicf .
|
-
MIDL2330
|
-
параметр оптимизации постепенно сменяется, используйте -Oicf
- Режим оптимизации /Oi2 был указан в командной строке MIDL. Этот режим больше не поддерживается, и вместо него следует использовать /Oicf .
|
-
MIDL2331
|
-
параметр оптимизации постепенно сменяется, используйте -ic
- Режим оптимизации i1 был указан в атрибуте [optimize] ACF. Этот режим больше не поддерживается, и вместо него следует использовать icf.
Пример файла ACF:
[optimize("i1")] roo(); //MIDL 2331
|
-
MIDL2332
|
-
параметр оптимизации постепенно сменяется, используйте -icf
- Режим оптимизации i2 был указан в атрибуте ACF [optimize]. Этот режим больше не поддерживается, и вместо него следует использовать icf.
Пример файла ACF:
[optimize("i2")] roo(); //MIDL 2332
|
-
MIDL2333
|
-
Параметры -old и -new устарели, используйте -oldtlb и -newtlb.
- Это сообщение устарело и больше не опущено MIDL.
|
-
MIDL2334
|
-
недопустимое значение аргумента
- Допустимые варианты параметра командной строки /O включают /Os, /Oi, /Oic, /Oicf и /Oif.
|
-
MIDL2335
|
-
Недопустимый тип выражения в константе
- Выражение не вычисляет константу.
|
-
MIDL2336
|
-
Недопустимый тип выражения в перечислении
- Перечисляемое значение в определении перечисления не вычисляется как целочисленный тип.
|
-
MIDL2337
|
-
объявление неудовлетворительного перенаправления
- Компилятору MIDL не удалось разрешить определение прямого объявления.
|
-
MIDL2338
|
-
переключатели являются противоречивыми
- Параметры командной строки /osf и /ms_ext нельзя использовать при компиляции IDL-файла. Вы должны выбрать один или другой.
|
-
MIDL2339
|
-
MIDL не может создать сведения о HOOKOLE для объединения без RPC
- Эта ошибка устарела. Он предоставляется исключительно для обеспечения обратной совместимости.
|
-
MIDL2340
|
-
Выражение регистра не найдено для объединения
- Каждое поле объединения должно иметь оператор case с константным выражением.
|
-
MIDL2341
|
-
[user_marshal] и [wire_marshal] не поддерживаются с флагами -Oi и -Oic, используйте -Os или -Oicf.
- Атрибуты [user_marshal] и [wire_marshal] требуют специальных функций оптимизации, доступных только в /Oicf (прокси-сервер без кода с строками быстрого форматирования) или /Os (маршалинг в смешанном режиме).
|
-
MIDL2342
|
-
каналы нельзя использовать с сериализацией данных, т. е. [кодирование] и/или [декодирование]
- Нельзя передавать каналы в качестве параметров процедурам, имеющим атрибуты [encode] или [decode].
|
-
MIDL2343
|
-
Все указатели интерфейса канала должны использовать одно косвенное обращение
- Таким образом нельзя использовать указатель на указатель на интерфейс канала.
|
-
MIDL2344
|
-
[iid_is()] не может использоваться с указателем интерфейса канала
- Это сообщение устарело. Это сообщение больше не используется компилятором.
|
-
MIDL2345
|
-
Недопустимый или неприменимый параметр -lcid
- Указанный локальный идентификатор (LCID) является недопустимым.
|
-
MIDL2346
|
-
указанный код кода отличается от предыдущей спецификации
- Значения, указанные в параметрах /lcid и [lcid], отличаются. Компилятор MIDL будет использовать последний определенный.
|
-
MIDL2347
|
-
Importlib не допускается за пределами блока библиотеки
- Все инструкции [importlib] должны находиться в блоке [library].
|
-
MIDL2348
|
-
Недопустимое значение с плавающей запятой
- Эта ошибка не должна выдаваться MIDL. Если вы видите эту ошибку, сообщите об ошибке в корпорацию Майкрософт, предоставив все файлы, необходимые для воспроизведения ошибки, включая IDL-файлы, файлы ACF, заголовки и т. д.
|
-
MIDL2349
|
-
недопустимый элемент
- Процедуры не могут быть членами библиотеки.
|
-
MIDL2350
|
-
возможный недопустимый элемент
- Чтобы быть допустимым членом библиотеки, элемент библиотеки должен быть модулем, dispinterface, coclass, оператором if, структурой, объединением, перечислением или объявлением вперед.
|
-
MIDL2351
|
-
несоответствие типов каналов и интерфейсов
- Это сообщение устарело.
|
-
MIDL2352
|
-
Параметры string, различных массивов, соответствующего массива и полного указателя могут быть несовместимы с параметрами канала во время выполнения
- Метод, объединяющий одну или несколько строк [in], различные массивы, соответствующие массивы и полные параметры указателя и любой параметр канала [in], приводит к созданию заглушки, которая выполняется только в последовательностях протокола ncacn_* и ncalrpc на компьютерах Windows. Использование заглушки для выполнения вызовов последовательностей протокола ncadg_* или приема вызовов от других поставщиков RPC OSF DCE может привести к сбоям на сервере во время выполнения. Эта ошибка возникает начиная с Windows Server 2003.
|
-
MIDL2353
|
-
параметр должен находиться в
- Асинхронные дескрипторы должны иметь параметры [in].
|
-
MIDL2354
|
-
Тип параметра объекта [async] должен быть двойным указателем на интерфейс
- Параметр должен иметь тип IAsyncManager **.
|
-
MIDL2355
|
-
Неправильный тип асинхронного дескриптора
- Тип дескриптора должен быть IAsyncManager или тип, производный от IAsyncManager.
|
-
MIDL2356
|
-
Параметр "внутренний" включает неподдерживаемые функции, используйте их с осторожностью
- Избегайте использования этого параметра.
|
-
MIDL2357
|
-
Асинхронные процедуры не могут использовать автоматический дескриптор
- Для процедур с атрибутом [async] требуются явные дескрипторы.
|
-
MIDL2358
|
-
error_status_t должны иметь как [comm_status], так и [fault_status]
- Процедура была указана с атрибутами IDL [возможно] или [message], но тип возвращаемого значения имеет только атрибуты ACF [comm_status] или [fault_status]. Оба атрибута ACF являются обязательными.
Пример файла ACF:
[comm_status] roo(); //MIDL 2358
[fault_status] bar(); //MIDL 2358
[comm_status, fault_status] baz(); //OK
|
-
MIDL2359
|
-
эта конструкция разрешена только в блоке библиотеки
- Модуль может находиться только в блоке библиотеки.
|
-
MIDL2360
|
-
Недопустимое переопределение типа
- Новый тип рекурсивно определен для несуществующего типа.
Пример
typedef roo roo[10]; //MIDL 2360
|
-
MIDL2361
|
-
процедуры с атрибутом [vararg] должны иметь параметр SAFEARRAY(VARIANT); param order is [vararg], [lcid], [retval]
- Большинство параметров для процедур с атрибутом [vararg] должны находиться перед параметром SAFEARRAY(VARIANT). Должен присутствовать параметр SAFEARRAY(VARIANT). Если список параметров содержит параметр с атрибутом [lcid], он должен следовать параметру SAFEARRAY(VARIANT). Если список параметров содержит параметр с атрибутом [retval], он должен возникать после параметра с атрибутом [lcid].
|
-
MIDL2363
|
-
слишком много методов в интерфейсе, требуется Windows 2000 или более поздней версии
- Компилятор MIDL не допускает более 1024 методов в интерфейсе при компиляции в режиме /Oicf .
|
-
MIDL2364
|
-
переключение в настоящее время поэтапное отключение
- Следующие параметры устарели: /hookole, /env win16 и /env.
|
-
MIDL2365
|
-
не может быть производным от IAdviseSink, IAdviseSink2 или IAdviseSinkEx
- Эти интерфейсы нельзя расширить.
|
-
MIDL2366
|
-
Не удается назначить значение по умолчанию
- Назначение значения по умолчанию параметру разрешено в Visual Basic, но не в C++. Если вы используете C++, значение по умолчанию игнорируется.
|
-
MIDL2367
|
-
Создание библиотеки типов для DOS,Win16/MAC не поддерживается
- MIDL не поддерживает 16-разрядные библиотеки типов.
|
-
MIDL2368
|
-
ошибка при создании библиотеки типов, игнорируется
- При создании библиотеки типов произошла некритичная ошибка.
|
-
MIDL2369
|
-
Превышен размер стека для /Oi с использованием /Os
- Режим оптимизации -Oi ограничен 128 байтами пространства стека для параметров. Компилятор автоматически переключился в режим оптимизации ос, чтобы обойти это ограничение.
Чтобы избежать этого предупреждения, используйте режимы оптимизации -Oicf или -Os. Режим оптимизации можно изменить в командной строке, указав -Oicf или -Os вместо -Oi или добавив атрибут [optimize9"icf")] или optimize[("s")] в функцию в файле ACF. Это предупреждение обычно возникает при передаче больших структур в качестве параметров по значению. Требуемый размер стека можно уменьшить, передав указатель на структуру. Пример
typedef struct
{
char a[127];
}
large;
//This function has a stack size of 132 (x86) or 136 (alpha) on 32-bit systems
void roo(large s, int a); //MIDL 2360
// workaround: pass by reference
void bar (large *s, int a);
|
-
MIDL2370
|
-
для использования параметра /robust требуется /Oicf, переключение режимов
- Компиляция должна выполняться в режиме /Oicf при указании параметра /robust в командной строке.
|
-
MIDL2371
|
-
Указан неправильный диапазон
- Наибольшее значение, указанное в атрибуте [range], меньше наименьшего значения.
Пример
void roo([range(3,2)] int a); //MIDL 2371
|
-
MIDL2372
|
-
недопустимое сочетание параметров [in] only и [out] для интерфейса [async_uuid]
- Для интерфейса этого типа разрешены только простые сочетания атрибутов с параметрами [in] или [out].
|
-
MIDL2373
|
-
Платформы DOS, Win16 и MAC не поддерживаются с /robust
- MIDL поддерживает переключатель /robust в Microsoft Windows 2000 или более поздней версии.
|
-
MIDL2374
|
-
поддержка прокси-серверов без заглушки в стиле NT 3.51 для интерфейсов объектов будет прекращена; используйте /Oif.
- Этот режим устарел. Используйте /Oif или /Oicf.
|
-
MIDL2375
|
-
[encode] или [decode] с параметром /robust требует /Oicf
- Сериализация не может быть выполнена, если указан параметр /robust .
|
-
MIDL2377
|
-
указанные конфликтующие атрибуты
- Указаны как [context_handle_serialize], так и [context_handle_noserialize].
|
-
MIDL2378
|
-
[serialize], [noserialize] можно применить к context_handles
- Атрибуты ACF [context_handle_serialize] или [context_handle_noserialize] можно применять только к типам, которые являются дескрипторами контекста.
Пример IDL-файла:
typedef /*[context_handle] */ void *PV; //Note: PV is *not* a context handle.
Пример файла ACF:
typedef [context_handle_serialize] PV; //MIDL 2378
|
-
MIDL2379
|
-
Компилятор достиг ограничения для представления строки формата. Советы см. в документации.
- Компилятор MIDL имеет ограничение в 64 КБ для строк форматирования. Эта ошибка обычно возникает, когда IDL-файлы включают другие файлы IDL. Составной IDL-файл, созданный всеми операторами include, превышает ограничения таблиц представлений типов интерпретатора механизма маршалинга. Попробуйте использовать директиву import, а не директиву include в IDL-файлах. Дополнительные сведения см. в статье Импорт системных файлов заголовков, включение и импорт.
|
-
MIDL2380
|
-
Формат провода может быть неправильным. Возможно, вам потребуется использовать -ms_conf_struct, см. документацию для получения рекомендаций
- Компилятору MIDL не удалось создать передаваемый формат для данных. Один из распространенных способов получить эту ошибку — определить ms_conf_struct внутри сложной структуры.
|
-
MIDL2381
|
-
размер стека или смещение, превышающее ограничение в 64 КБ. Советы см. в документации.
- Вызов приводит к стеку размером более 64 КБ. Попробуйте передать данные небольшими блоками.
|
-
MIDL2382
|
-
режим интерпретатора, принудительный для 64-разрядной платформы
- Для 64-разрядных платформ требуется режим компиляции /Oicf.
|
-
MIDL2383
|
-
Размер элемента массива превышает ограничение в 64 КБ.
- Размер всех элементов массива должен быть меньше 64 КБ.
|
-
MIDL2384
|
-
в методе может быть только один параметр [Icid], и он должен быть последним или вторым, если последний параметр имеет [retval]
- Параметр с атрибутом [lcid] должен быть последним. Единственным исключением является параметр с атрибутом [retval]. При возникновении обоих параметров второй по последний параметр в списке параметров должен иметь атрибут [ lcid]. Последний параметр должен иметь атрибут [retval].
|
-
MIDL2385
|
-
неправильный синтаксис для midl_pragma
- Компилятор MIDL обнаружил неизвестная синтаксическая ошибка в инструкции midl_pragma.
|
-
MIDL2386
|
-
__int3264 не поддерживается в режиме /osf
- Если вам нужно использовать __int3264, выполните компиляцию в режиме /ms-ext.
|
-
MIDL2387
|
-
Неразрешенный символ в библиотеке типов
- Компилятору не удалось разрешить формальное объявление или тип, на который ссылается ссылка, в библиотеке типов.
|
-
MIDL2388
|
-
асинхронные каналы не могут быть переданы по значению
- Асинхронные каналы должны передаваться по ссылке или по адресу.
|
-
MIDL2389
|
-
смещение параметров превышает ограничение в 64 КБ для интерпретируемых процедур
- Эта ошибка обычно означает, что процедура имеет слишком много параметров.
|
-
MIDL2390
|
-
Недопустимый элемент массива
- Каналы нельзя использовать в качестве элементов массива.
|
-
MIDL2391
|
-
Члены dispinterface должны быть методами, свойствами или интерфейсами
- Dispinterface не может содержать определения типов, структуры, перечисления или объединения.
|
-
MIDL2392
|
-
Процедура [local] без [call_as]
- Для процедур объектов с атрибутом [local] также требуется атрибут [call_as].
|
-
MIDL2393
|
-
многомерный вектор, переключение на /Oicf
- Режим оптимизации /Os не поддерживает многомерные массивы нефиксированного размера. Компилятор автоматически переключил режим оптимизации на /Oicf для этой функции.
Это предупреждение можно подавить глобально, изменив режим компилятора, указав параметр /Oicf в командной строке MIDL или используя предупреждение midl_pragma (отключить 2393) в IDL-файле. Режим оптимизации можно изменить для отдельной функции, добавив атрибут [optimize("icf")] в функцию в файле ACF. В следующем примере показано это предупреждение:
void roo(long s1, [size_is(s1)] long a[][30]; //MIDL2393
void bar(long s1, long s2, [size_is(s1,s2) long **a);//MIDL2393
|
-
MIDL2395
|
-
Тип или конструкция не поддерживаются в блоке библиотеки, так как отсутствует Oleaut32.dll поддержка полиморфных типов размером 64 КБ
- Автоматизация OLE не поддерживает полиморфные типы (например, _int3264, INT_PTR и т. д.). Эти типы имеют несовместимые представления данных между 32-разрядными и 64-разрядными платформами. Удаленный вызов завершится ошибкой во время выполнения на 64-разрядных платформах.
Примечание.
Обратите внимание, что с выпуска Windows 2000 64-разрядные файлы TLB поддерживаются OLE-автоматизацией путем преобразования 32-разрядной информации О TLB во время выполнения. Поэтому MIDL поддерживает только 32-разрядное создание TLB.
Если MIDL используется только для создания файла заголовка, параметр /notlb подавляет создание TLB-файла.
|
-
MIDL2396
|
-
старый код интерпретатора, создаваемый для 64b
- Эта ошибка устарела. Если вы видите эту ошибку, сообщите об ошибке в корпорацию Майкрософт, предоставив ваши IDL-файлы, файлы ACF и полную строку midl-командной строки.
|
-
MIDL2397
|
-
параметр компилятора больше не поддерживается
- Указанные коммутаторы или коммутаторы больше не поддерживаются.
|
-
MIDL2398
|
-
Не удается выполнить подсистему MIDL
- Начиная с выпуска Windows 2000 (MIDL версии 5.03.279) компилятор MIDL реализуется с использованием двух исполняемых файлов: Midl.exe (драйвер) и Midlc.exe (подсистема компилятора). Эта ошибка указывает, что Midl.exe не может запустить Midlc.exe. Убедитесь, что Midlc.exe находится в том же каталоге, что и Midl.exe, и что они имеют ту же версию.
Ошибка могла быть вызвана копированием Midl.exe, но не Midlx.exe из последнего дистрибутива. Запустите midl и (или ) midlc в командной строке без параметров, чтобы увидеть номер версии исполняемого файла. |
-
MIDL2399
|
-
Недопустимые команды от драйвера
- Начиная с выпуска Windows 2000 (MIDL версии 5.03.279) компилятор MIDL реализуется с использованием двух исполняемых файлов: Midl.exe (драйвер) и Midlc.exe (обработчик компилятора). Эта ошибка означает, что временный файл, используемый для передачи команд из Midl.exe в Midlc.exe, отсутствует или поврежден. Убедитесь, что Midlc.exe находится в том же каталоге, что и Midl.exe, и что они имеют ту же версию.
Ошибка могла быть вызвана попыткой запустить Midlc.exe напрямую или копированием Midl.exe, но не Midlc.exe из последнего дистрибутива. Запустите midl и/или midlc в командной строке без параметров, чтобы просмотреть номер версии исполняемого файла. |
-
MIDL2400
|
-
Для ole-автоматизации необязательными параметрами должны быть VARIANT или VARIANT *
- Ole Automation требует, чтобы все [необязательные] параметры были типа VARIANT или VARIANT*.
При автоматизации OLE использование параметров, отличных от VARIANT, может привести к сбою вызова во время выполнения или передаче неопределенных данных для параметров [необязательно]. |
-
MIDL2401
|
-
[значение по умолчанию] применяется к типам, не-VARIANT и [необязательным]. Удалите [необязательно]
- Атрибут [defaultvalue] подразумевает [необязательный]. Атрибут [ необязательный] не требуется.
|
-
MIDL2402
|
-
Атрибут [необязательный] неприменим за пределами блока библиотеки
- Функциональные возможности, подразумеваемые атрибутом [ optional], не применяются к прокси-посредникам, созданным для интерфейса за пределами блока библиотеки.
|
-
MIDL2403
|
-
Тип данных параметра [Icid] должен быть длинным.
- Ole Automation требует, чтобы параметры с атрибутом [Icid] были типа long.
|
-
MIDL2404
|
-
Процедуры с [propput], [propget] или [propref] не могут иметь более одного обязательного параметра после [необязательного]
- После последнего параметра с [необязательным] при использовании [propput], [propget] или [ propputref] не может быть более одного параметра без [необязательного].
|
-
MIDL2405
|
-
[comm_status] или [fault_status] с маринованием требуется -Oicf
- Старый режим оптимизации -Oi не поддерживает процедуры или параметры с [ comm_status] или [ fault_status] с маринованием (то есть с использованием [ encode] и/или [ decode]).
Это предупреждение можно отключить глобально, указав параметр -Oicf в командной строке MIDL или для отдельной функции, добавив атрибут [optimize("icf:)] в функцию в файле ACF. Как правило, режим оптимизации -Oicf рекомендуется использовать вместо режима -Oi . |
-
MIDL2406
|
-
Несоответствие версий драйвера midl и компилятора
- Начиная с выпуска Windows 2000 (MIDL версии 5.03.279) компилятор MIDL реализуется с использованием двух исполняемых файлов: Midl.exe (драйвер) и Midlc.exe (обработчик компилятора). Эта ошибка означает, что версия Midl.exe не соответствует версии Midlc.exe.
Ошибка могла быть вызвана копированием Midl.exe, но не Midlc.exe из последнего дистрибутива. Запустите midl и/или midlc в командной строке без параметров, чтобы просмотреть номер версии исполняемого файла. |
-
MIDL2407
|
-
Промежуточный файл не указан: используйте Midl.exe
- Начиная с выпуска Windows 2000 (MIDL версии 5.03.279) компилятор MIDL реализуется с использованием двух исполняемых файлов: Midl.exe (драйвер) и Midlc.exe (обработчик компилятора). Эта ошибка указывает на то, что Midlc.exe выполнялся напрямую вместо использования Midl.exe.
|
-
MIDL2408
|
-
проблема обработки с параметром в процедуре
- Эта ошибка может возникать при импорте данных из подсистемы балансировки нагрузки и при недопустимом параметре процедуры.
Если вы видите эту ошибку, сообщите об ошибке в корпорацию Майкрософт. Укажите IDL-файлы, файлы ACF, TLB-файл и полную командную строку MIDL. |
-
MIDL2409
|
-
Обработка проблемы с полем в структуре
- Эта ошибка может возникать при импорте данных из подсистемы балансировки нагрузки, а также при том, что структура имеет недопустимую структуру или поле объединения.
Если вы видите эту ошибку, сообщите об ошибке в корпорацию Майкрософт. Укажите IDL-файлы, файлы ACF, TLB-файл и полную командную строку MIDL. |
-
MIDL2410
|
-
Обнаружено внутреннее несоответствие компилятора: недопустимое смещение строки формата. Дополнительные сведения см. в документации.
- Компилятор MIDL обнаружил недопустимое значение во внутренних структурах данных. Это может быть вызвано рекурсивными структурами или нарушением компилятором собственных ограничений представления внутренних данных. Чтобы определить и (или) обойти проблему, попробуйте упростить IDL-файл. Это можно сделать путем упрощения сложных параметров и рекурсивных структур данных или уменьшения размера IDL-файла путем его разделения. Это сообщение может сопровождаться диагностической распечаткой с дополнительными сведениями о проблеме.
Если вы видите эту ошибку, сообщите об ошибке в корпорацию Майкрософт. Укажите IDL-файлы, файлы ACF, полную командную строку MIDL и выходные данные диагностики, если таковые есть. |
-
MIDL2411
|
-
Обнаружено внутреннее несоответствие компилятора: недопустимое смещение типа. Дополнительные сведения см. в документации.
- Компилятор MIDL обнаружил недопустимое значение во внутренних структурах данных. Это может быть вызвано рекурсивными структурами или нарушением компилятором собственных ограничений представления внутренних данных. Чтобы определить и (или) обойти проблему, попробуйте упростить IDL-файл. Это можно сделать путем упрощения сложных параметров и рекурсивных структур данных или уменьшения размера IDL-файла путем его разделения. Это сообщение может сопровождаться диагностической распечаткой с дополнительными сведениями о проблеме.
Если вы видите эту ошибку, сообщите об ошибке в корпорацию Майкрософт. Укажите IDL-файлы, файлы ACF, полную командную строку MIDL и выходные данные диагностики, если таковые есть. |
-
MIDL2412
|
-
Синтаксис SAFEARRAY(roo) не поддерживается за пределами блока библиотеки. Используйте LPSAFEARRAY для прокси-сервера.
- Явно типизированные файлы SAFEARRAY не допускаются за пределами блока библиотеки. Вместо этого используйте LPSAFEARRAY.
В следующем примере показана эта ошибка:
void roo(SAFEARRAY(long) *a); //MIDL2412 when outside a library block
void roo(LPSAFEAEEAY a); //OK
|
-
MIDL2413
|
-
битовые поля не поддерживаются
- Битовые поля в стиле C не поддерживаются MIDL. Это относится как к поколению прокси-сервера, так и к генерации TLB.
|
-
MIDL2414
|
-
Типы с плавающей запятой или сложные возвращаемые типы с [decode] не поддерживаются в -Oicf, используя -OI
- Процедуры с типом возвращаемых значений с плавающей запятой или типами структуры или объединения не поддерживаются в собирание стиля -Oicf. Обходной вариант для 32-разрядной версии является использование режима оптимизации -Oi при сериализации данных (с помощью [encode] и /или [decode]). Тем не менее, так как старый интерпретатор стиля -Oi и поддержка пиклинга планируется поэтапно вывести из эксплуатации после выпуска Windows 2000, настоятельно рекомендуется использовать указатели в качестве решения этой проблемы. Кроме того, обратите внимание, что обычно изменение метода интерфейса для использования указателя [out, ref] вместо возвращаемого значения, вызывающего проблему, является полностью обратной совместимостью по сети и может быть легко скрыта на уровне приложения.
Это предупреждение можно отключить глобально, указав параметр -Oi в командной строке MIDL или для отдельной функции, добавив атрибут [optimize("i")] в функцию в файле ACF. В следующем примере показана проблема: roo.idl:
double GetDouble();
roo.acf:
[decode] GetDouble();
Один из вариантов обойти это ограничение — передать параметр [out] для хранения результата вместо использования возвращаемого значения: roo.idl:
void GetDouble([out] double *result); //top level pointer is a [ref] pointer
roo.acf:
[decode] GetDouble();
Как упоминалось ранее, описанное выше решение хорошо подходит не только для новых интерфейсов, но и для обхода старых интерфейсов. Представление нового аргумента out совпадает с представлением для возвращаемого значения (примечание void в качестве нового возвращаемого значения). |
-
MIDL2415
|
-
тип возвращаемого значения не поддерживается для 64-разрядной версии при использовании [decode]
- Процедуры с плавающей запятой или возвращаемыми типами структуры или объединения не поддерживаются в 64-разрядном режиме при выполнении сериализации данных (с использованием [ encode] и/или [ decode]). Это связано с тем, что интерпретатор -Oi и сериализатор данных старого стиля не поддерживаются на 64-разрядной платформе. Дополнительные сведения см. в описании MIDL2414.
В следующем примере показана эта ошибка: roo.idl:
double GetDouble();
roo.acf:
[decode] GetDouble();
Следующее рекомендуется как для новых, так и для старых интерфейсов. Используйте параметр [out] для хранения результата вместо возвращаемого значения: roo.idl:
void GetDouble([out] double *result); //top level pointer is a [ref] pointer.
roo.acf:
[decode] GetDouble();
Обратите внимание, что это решение полностью совместимо с обратной совместимостью по проводу, так как проводное представление указателя [ref, out] или double совпадает с представлением двойника. |
-
MIDL2416
|
-
передаваемый тип не может содержать полный указатель на [wire_marshal] или [user_marshal]
- Типы с атрибутами [ wire_marshal] или [ user_marshal] могут не содержать полных указателей ([ ptr]). Вместо этого используйте [ unique] или [ ref].
В следующем примере показана эта ошибка:
typedef struct
{
[ptr] long *a; //Should use [ref] or [unique] instead
}
st1;
typedef [wire_marshal(st1)] struct
{
long a;
}
st2:
void roo(st2 *s); //MIDL2416
|
-
MIDL2417
|
-
передаваемый тип должен быть указателем или иметь константный размер для [wire_marshal] и [user_marshal]
- Типы верхнего уровня с атрибутами [ wire_marshal] или [ user_marshal] должны иметь четко определенный размер во время компиляции. Они не могут быть или содержать соответствующие массивы или массивы разного размера.
В следующем примере показана эта ошибка:
typedef struct //Type contains variable-sized array
{
long s;
[size_is(s)] char a[];
}
st1;
typedef [wire_marshal(st1)] struct
{
long a;
}
st2;
void roo(st2 *s); //MIDL2417
|
-
MIDL2418
|
-
процедуры с [propget] должны иметь по крайней мере один параметр или возвращаемое значение.
- Процедуры с атрибутом [propget] должны иметь некоторые средства возврата значения свойства. Они должны иметь по крайней мере один параметр [out] или возвращаемое значение.
|
-
MIDL2461
|
-
Атрибут [readonly] был применен на уровне метода.
- Атрибут [readonly] может применяться только на уровне параметров.
|
-
MIDL2465
|
-
Структуры, содержащие соответствующие массивы, должны передаваться по ссылке
- Параметры верхнего уровня в RPC должны иметь четко определенный размер во время компиляции. Они не могут быть, а также содержать соответствующий массив или массив разного размера. Кроме того, пользователи не могут кодировать и декодировать тип без четко определенного размера. Приложения должны передавать соответствующую структуру или соответствующую переменную структуру по ссылке.
В следующем примере показана эта ошибка:
typedef struct //Type contains variable-sized array
{
long s;
[size_is(s)] char a[];
}
st1;
void roo(st1 s); //MIDL2465
on .acf file
typedef [encode,decode] st1; //MIDL2465
|
-
MIDL9008
|
-
Код> системной ошибки внутреннего компилятора <— компилятор не может продолжить работу по неизвестной причине. Обходной путь см. в документации.
- Компилятору не удалось продолжить работу, и причина ошибки неизвестна. Шестнадцатеричный номер ошибки является идентификатором системной ошибки. Возможно, компиляция завершилась сбоем из-за внешней проблемы, например из-за нехватки памяти. В этом случае дополнительные сведения можно найти в winerror.h или Ntstatus.h.
Эта ошибка обычно возникает в двух ситуациях:
- Компилятору MIDL не удалось восстановиться после обнаружения ошибки в IDL-файле. Если MIDL вернул какие-либо сообщения об ошибках, связанные с файлом IDL, попробуйте исправить их и перекомпилировать. Если сообщений об ошибках нет, возможно, компилятор завершился ошибкой, прежде чем сообщить об ошибке. Найдите синтаксическую ошибку в строке, для которой сообщается внутренняя ошибка компилятора.
- Компилятору MIDL не удалось создать правильный код при заданном параметре оптимизации. Попробуйте изменить режимы компилятора, выполнить компиляцию в смешанном режиме оптимизации (/Os) или удалить все оптимизации. Или выполните повторную компиляцию с помощью флага /NO_FORMAT_OPT для подавления оптимизации по умолчанию MIDL для дескрипторов процедур и типов.
Иногда эта ошибка возникает, даже если IDL-файл является правильным и параметры оптимизации не используются. В этом случае попробуйте переписать раздел кода рядом с тем местом, где сообщалось об ошибке, удалив все последние изменения, упростив или переуположив типы данных, изменив прототипы, или начните комментировать части IDL-файла, чтобы найти код проблемы. Если ни один из этих вариантов не работает или вы считаете, что проблема может быть связана с ошибкой в Midl.exe, сообщите корпорации Майкрософт все соответствующие сведения. |