/error switch

Параметр / error определяет типы проверки ошибок, которые создаются заглушки во время выполнения.

Замечание

Эта функция устарела и больше не поддерживается. Рекомендуется использовать переключатель /robust .

 

midl /error { allocation | stub_data | ref | bounds_check | none | all }

Параметры переключения

Распределения

Проверяет, возвращает ли midl_user_allocate значение NULL , указывающее ошибку вне памяти.

stub_data

Создает заглушку, которая перехватывает исключения распаковки на стороне сервера и распространяет их обратно на клиент.

Ref

Создает код, который выполняет проверку во время выполнения, чтобы убедиться, что указатели ссылок NULL не передаются в заглушки клиента и вызывают исключение RPC_X_NULL_REF_POINTER при обнаружении.

bounds_check

Проверяет размер соответствующих и различных массивов в соответствии со спецификацией длины передачи.

Ни один

Не выполняет проверку ошибок.

Все

Выполняет все проверки ошибок. Действует с MIDL версии 5.0, это параметр компилятора по умолчанию.

Замечания

Параметр /error выбирает количество проверок ошибок, которые будут выполнять созданные файлы заглушки. Действует с MIDL версии 5.0, значение по умолчанию — /error all.

Ошибки перечисления, которые проверяются (по умолчанию во всех версиях MIDL), являются ошибками усечения, вызванными при преобразовании между длинными типами перечисления (32-разрядные целые числа) и короткими типами перечисления (представление перечисления сетевых данных), а также число идентификаторов в перечислении, превышающем 32 767.

Проверка ошибок доступа к памяти (также по умолчанию во всех версиях MIDL) предназначена для указателей, превышающих конец буфера в коде маршалинга и для соответствующих массивов, размер которых меньше нуля. Используйте флаг /error bounds_check , чтобы проверить наличие других недопустимых границ массива.

При указании выделения /error заглушки включают код, который вызывает исключение, когда midl_user_allocate возвращает значение 0.

Параметр /error stub_data предотвращает сбой клиентских данных сервера во время отмены сортировки, эффективно предоставляя более надежный метод обработки операции отмены сортировки.

Действует с Windows 2000 года, базовый подсистема маршалинга NDR выполняет большую часть этих проверок. Это означает, что если вы используете один из полно интерпретируемых режимов (/Oi, /Oif) создания заглушки, выбор различных параметров проверки ошибок не будет иметь заметного влияния на производительность.

Примеры

midl /error allocation filename.idl

midl /error none filename.idl

См. также

Общий синтаксис командной строки MIDL

/Надежные