Поделиться через


Неявные и явные дескрипторы

Чтобы объявить дескриптор сериализации, используйте тип примитивного дескриптора handle_t. Дескриптор сериализации может быть явным или неявным. Укажите неявные дескрипторы в ACF приложения с помощью атрибута [implicit_handle]. Компилятор MIDL создаст переменную глобальной сериализации. Процедуры сериализации с неявным дескриптором используют эту глобальную переменную для доступа к допустимому контексту сериализации.

При использовании кодировки типов созданные подпрограммы, поддерживающие сериализацию определенного типа, используют глобальный неявный дескриптор для доступа к контексту сериализации. Обратите внимание, что удаленные подпрограммы могут использовать неявный дескриптор в качестве дескриптора привязки. Убедитесь, что неявный дескриптор имеет допустимый дескриптор сериализации перед выполнением сериализации вызова.

Явный дескриптор указывается в качестве параметра прототипа процедуры сериализации в файле IDL или его также можно указать с помощью атрибута [explicit_handle] в ACF. Параметр явного дескриптора используется для установления соответствующего контекста сериализации для процедуры. Чтобы установить правильный контекст в случае сериализации типа, компилятор создает вспомогательные подпрограммы, использующие явные handle_t параметр в качестве дескриптора сериализации. При вызове процедуры сериализации или подпрограммы поддержки типа сериализации необходимо указать допустимый дескриптор сериализации.