атрибут type_strict_context_handle
Используйте [type_strict_context_handle] в файле ACF, чтобы задать ограничения для дескрипторов контекста.
[
type_strict_context_handle
[, interface-attribute-list]
]
interface interface-name
{
interface-definition-statements
}
Параметры
-
interface-attribute-list
-
Другие атрибуты ACF, которые применяются к интерфейсу в целом. Допустимые атрибуты включают auto_handle, implicit_handle, explicit_handle и optimize, code или nocode. Разделяйте несколько атрибутов запятыми.
-
interface-name
-
Имя интерфейса.
-
interface-definition-statements
-
Одна или несколько инструкций MIDL, определяющих элементы интерфейса.
Комментарии
Чтобы использовать этот атрибут, при выполнении midl.exe флагу -target необходимо задать значение NT60 (или выше).
[type_strict_context_handle] — это функциональная надмножество [strict_context_handle]. В [strict_context_handle] идентификатор типа дескриптора всегда равен 0; в [type_strict_context_handle] уникальный идентификатор типа назначается компилятором MIDL.
Рекомендуется использовать [type_strict_context_handle], а не [strict_context_handle]. Дескрипторы контекста по умолчанию не связаны с определенным типом. Если в одном процессе используются несколько типов дескрипторов контекста, вредоносный клиент может передать дескриптор контекста вместо другого для получения нежелательных результатов. Использование [type_strict_context_handle] позволяет приложениям обеспечивать согласованность типов обработки контекста и предотвращать использование типов дескрипторов контекста.
Дескриптор контекста с атрибутом [type_strict_context_handle] также не может быть атрибутом [strict_context_handle].
См. также раздел