Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Параметр / 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
См. также