на начало
На главную страницу
Форум   

Статья :: Сервисная программа Tibinp. ехе


Сервисная программа Tibinp. ехе

Сервисная программа Tlbimp.ere (Type Library to .NET Assembly Converter — Транслятор (конвертер) библиотеки типов на .NET) находится в папке \Program FilesXMicrosoft .NET\FrameworkSDK\Bin. Она используется для генерации управляемых классов, которые являются упаковщиками неуправляемых классов, построенных на основе модели компонентных объектов Microsoft (COM). В результате получается то, что называется упаковщиком, вызываемым во время выполнения (Runtime Callable Wrapper, RCW). Упаковщик, вызываемый во время выполнения (Runtime Callable Wrapper, RCW), представляет собой компонент .NET (т.е. управляемую сборку динамически подключаемой библиотеки (DLL)), который управляемый клиентский код может использовать для доступа к методам интерфейса модели компонентных объектов Microsoft (СОМ). Эти методы реализованы в ксмпоненте, построенном на основе модели компонентных объектов Microsoft (COM). Утилита Tlbimp.exe является программой командной строки4, которая из библиотеки типов читает информацию модели компонентных объектов Microsoft (COM), генерирует управляемый интерфейсный класс, а также соответствующие метаданные, и помедает результат в сборку упаковщика, вызываемого во время выполнения (Runtime Callable Wrapper, RCW). Полученное в сборке содержимое можно просмотреть с помощью утилиты Ildasm.exe. Ниже приведен синтаксис для вызова утилиты командной строи Tlbimp. ехе:

Tlbimp TypeLibName [options]
Where options may contain the following:
/out:FileName Assembly file name
/namespace:Namespace Assembly Namespace
/asmversion:Version Assembly version number
/reference:FileName Reference assembly
/publickey:FileName Public key file
/keyfile:FileName Key pair file
/keycontainer:FileName fey pair key container
/delaysign Eelay digital signing
/unsafe Suppress security checks
/nologo Suppress displaying logo
/silent Suppress output except errors
/verbose Display extra information
/primary Make primary interop assembly
/sysarray SAFEARRAY as System.Array
/strictref Only /reference assemblies
/? or /help Display help information

Вот более русифицированный вариант этой выдачи:

Tlbimp TypeLibName [параметры]
Где параметры могут содержать следующее:
/out:FileName Имя файла сборки
/namespace:Namespace Пространство имен сборки
/asmversion:Version Номер версии сборки
/reference:FileName Ссылки сборки
/publickey:FileName Общедоступный файл ключей
/keyfile:FileName Файл пар ключей
/keycontainer:FileName Контейнер пар ключей
/delaysign Задержка цифровой подписи
/unsafe (опасный) Подавляет проверки защиты
/nologo Подавляет вывод протокола
/silent (тихий) Подавляет вывод (кроме ошибок)
/verbose (подробная) Отображает дополнительную информацию
/primary (первичный) Сделать первичную способную
к взаимодействию сборку
/sysarray SAFEARRAY как Система.Массив /strictref Только сборки ссылок (/reference) /? или /help (справка) Выводит справочную информацию

Когда утилита Tlbimp.exe импортирует библиотеку типов, построенную на основе модели компонентных объектов Microsoft (COM), она создает пространство имен .NET с именем библиотеки, определенным в библиотеке типов (т.е. с фактическим именем библиотеки, а не с именем файла библиотеки типов, который ее содержит). Tlbimp.exe преобразует каждый сокласс (coclass) модели компонентных объектов Microsoft (COM), определенный в библиотеке типов, в управляемый интерфейсный класс .NET в результирующей сборке .NET, который имеет единственный конструктор без параметров. Tlbimp.exe маскирует каждый интерфейс модели компонентных объектов Microsoft (СОМ), определенный в библиотеке типов, под видом интерфейса .NET в результирующей сборке .NET. Рассмотрим типичный оператор файла IDL библиотеки на основе модели компонентных объектов Microsoft (COM). Этот оператор, показанный ниже, будет использоваться для создания библиотеки типов с помощью Midl.exe. При обработке файла TLB или динамически подключаемой библиотеки (DLL), созданной этим файлом IDL, утилита Tlbimp.exe сгенерирует сборку, содержащую метаданные, в том числе пространство имен LEGACYCOMSERVERLib, управляемый интерфейсный класс LegacyCOMObj и управляемый интерфейс ILegacyCOMObj.

library LEGACYCOMSERVERLib
// библиотека LEGACYCOMSERVERLib
{
coclass LegacyCOMObj
{
[default] interface ILegacyCOMObj;
// [заданный по умолчанию] интерфейс ILegacyCOMObj;
};
};

После того, как вы использовали Tlbimp.exe для генерации сборки упаковщика, можно просмотреть его содержи мое при помощи утилиты lldasm.exe.

Tlbimp LegacyCOMServer.tlb
Ildasm LEGACYCOMSERVERLib.dll

Эта команда отобразит содержимое сборки упаковщика, как показано на рис. 15.2. Обратите внимание, что утилита lldasm.exe в качестве имени пространства имен выводит LEGACYCOMSERVERLib, в качестве имени интерфейса— ILegacyCOMObj, а в качестве имени интерфейсного класса — LegacyCOMObj. В следующем подразделе мы посмотрим на исходный код этого унаследованного компонента, построенного на основе модели компонентных объектов Microsoft (COM).


Сервисная программа Tibinp. ехе

страницы в данном разделе 
Глава 15. Смешивание управляемого и неуправляемого кода Смешивание управляемого и неуправляемого кода
Сравнение управляемого и неуправляемого кода Причины смешивания управляемого и неуправляемого кодов
Неуправляемый или опасный? Управляемые и неуправляемые ссылки и типы значений
Ограничения на использование управляемых типов в C++ Вызов управляемого кода из неуправляемого и обратный вызов
Сравнение программирования на C++ с использованием модели компонентных объектов Microsoft (COM) и .NET Доступ из управляемого кода к компонентам, построенным на основе модели компонентных объектов Microsoft (COM)
Сервисная программа Tibinp. ехе Унаследованный компонент на основе модели компонентных объектов Microsoft (COM)
Действующий клиент на основе модели компонентных объектов Microsoft (COM) Создание клиента на основе модели компонентных объектов Microsoft (COM) с помощью управляемого C++
Разработка управляемого клиента на основе модели компонентных объектов Microsoft (COM) с помощью С# Создание с помощью управляемого C++ клиента на основе модели компонентных объектов Microsoft (COM) без метаданных
Создание с помощью С# управляемого клиента на основе модели компонентных объектов Microsoft (COM) без метаданных Доступ к управляемым компонентам из клиентов на основе модели компонентных объектов Microsoft (COM)
Раннее связывание клиента на основе модели компонентных объектов Microsoft (COM) с компонентами .NET Динамическое связывание клиента на основе модели компонентных объектов Microsoft (COM) с компонентами .NET
Явное определение интерфейса Службы обращения к платформе: Plnvoke (Platform Invocation Services)
Резюме >  


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C



 
© faq.pp.ru, справочник программиста