Взаимодействие (инструкции по работе в Visual C++)
Обновлен: Ноябрь 2007
На этой странице содержатся ссылки на разделы справки, относящиеся к взаимодействию с использованием Visual C++. Сведения о разделах справки по другим категориям распространенных задач см. в разделе Инструкции по работе в Visual C++.
Взаимодействие среды CLR и машинного кода
Сравнение смешанных, чистых и проверяемых компонентов
Сравнение возможностей трех разных режимов компиляции с параметром /clr.Практическое руководство. Переход на /clr
Обсуждение вопросов, возникающих при компиляции машинного кода с параметром /clr и при преобразовании проекта в управляемый.Практическое руководство. Компиляция кода MFC и ATL с помощью параметра /clr
Обсуждение порядка компиляции существующих программ MFC и ATL для применения в среде CLR.Смешанные (собственные и управляемые) сборки
Описание процесса создания приложений разработчиками путем сочетания управляемых и неуправляемых функциональных возможностей.Вопросы производительности взаимодействия (C++)
Рекомендации по уменьшению влияния управляемых и неуправляемых переходов взаимодействия на производительность во время выполнения.How to: Declare public and private on Native Classes
Демонстрация создания ссылок на машинные типы из управляемых типов.How to: Pass a Delegate^ to a Native Function Expecting a Function Pointer
Демонстрация порядка вызова из управляемого компонента собственной функции с параметрами указателя, в которых эта собственная функция в свою очередь может вызывать функцию-член делегата этого управляемого компонента.Практическое руководство. Доступ к символам объекта System::String
Демонстрация порядка доступа к символам объекта String для высокопроизводительных вызовов неуправляемых функций, принимающих строки wchar_t*.Практическое руководство. Добавление машинной библиотеки DLL в глобальный кэш сборок
Описание процесса помещения собственной (не COM) библиотеки DLL в глобальный кэш сборок.Практическое руководство. Преобразование между классами System::Guid и _GUID
Демонстрация преобразований между значениями Guid и _GUID.Практическое руководство. Преобразование строки char * в массив System::Byte
Демонстрация наибольшей эффективности способа преобразования строки char * в массив Byte, состоящего в использовании класса Marshal.Практическое руководство. Преобразование стандартной строки к типу System::String
Демонстрация способа преобразования строки стандартной библиотеки C++ (<string>) в тип String.Практическое руководство. Преобразование строки System::String в стандартную строку
Демонстрация способа преобразования строки типа String в строку стандартной библиотеки C++ (<string>).Практическое руководство. Преобразование типа System::String к wchar_t* или char*
Описание порядка использования PtrToStringChars в файле Vcclr.h для преобразования строки типа String в строку собственного типа wchar_t * или типа char *.Практическое руководство. Объявление дескрипторов в собственных типах
Демонстрация порядка создания объекта gcroot в машинном стеке.Практическое руководство. Машинный код или среда CLR: определение цели созданного изображения
Демонстрация программного способа проверки, построено ли изображение для среды CLR.Практическое руководство. Хранение ссылки на объект в машинной функции
Описание способа использования файла gcroot.h, включающего GCHandle, для хранения ссылки объекта среды CLR в неуправляемой памяти.Практическое руководство. Сохранение ссылки на тип значения в собственном типе
Описание использования gcroot в упакованном типе для хранения ссылки на тип значения в машинном типе.Практическое руководство. Получение указателя на массив байтов
Описание способа получения указателя на блок массива в массиве Byte путем получения адреса первого элемента массива и присвоения его указателю.Практическое руководство. Использование собственного типа в компиляции /clr
Демонстрация способа задания машинного типа в компиляции /clr и использования этого машинного типа в сборке.Практическое руководство. Создание программы-оболочки для неуправляемого класса для использования в языке C#
Демонстрация способа переноса собственного класса C++, чтобы его можно было использовать в коде, созданном в C# или в другом языке .NET.
Взаимодействие C++
Практическое руководство. Маршалинг строк ANSI с использованием взаимодействия C++
Демонстрация использования взаимодействия C++ для упаковки и передачи строк в формате ANSI между управляемым и машинным кодом.Практическое руководство. Маршалирование строк Юникода с использованием взаимодействия C++
Демонстрация использования взаимодействия C++ для упаковки и передачи строк в формате Юникод между управляемым и машинным кодом.Практическое руководство. Маршалинг строк COM посредством взаимодействия C++
Демонстрация использования взаимодействия C++ для упаковки и передачи COM-строк между управляемым и машинным кодом.Практическое руководство. Маршалирование структур с помощью взаимодействия C++
Демонстрация использования взаимодействия C++ для упаковки и передачи struct между управляемым и машинным кодом.Практическое руководство. Упаковка и передача массивов с помощью взаимодействия C++
Демонстрация использования взаимодействия C++ для упаковки и передачи массивов между управляемым и машинным кодом.Практическое руководство. Маршалинг обратных вызовов и делегатов посредством C++ Interop
Демонстрация использования взаимодействия C++ для упаковки и передачи обратных вызовов и делегатов между управляемым и машинным кодом.Практическое руководство. Упаковка встроенных указателей посредством взаимодействия C++
Демонстрация использования взаимодействия C++ для упаковки и передачи встроенных указателей между управляемым и машинным кодом.Практическое руководство. Определение выходного параметра
Демонстрация порядка задания параметра функции как выходного и вызова такой функции в программе C#.
COM-взаимодействие
Использование собственных серверов COM в .NET
Описание доступных возможностей по использованию существующих компонентов COM в приложениях .NET и обсуждение преимуществ и недостатков каждого из подходов.Практическое руководство. Использование неуправляемых COM-серверов с помощью средства TLBIMP
Демонстрация порядка использования объектов COM в управляемом коде с помощью средства Программа импорта библиотек типов (Tlbimp.exe).Практическое руководство. Использование встроенных серверов COM с CRCW
Демонстрация порядка использования объектов COM в управляемом коде с помощью пользовательской вызываемой оболочки времени выполнения.Предоставление COM-клиентам доступа к компонентам .NET Framework
Несколько советов по написанию управляемого кода, взаимодействующего с клиентами COM.
P/Invoke
Практическое руководство. Маршалирование строк с помощью PInvoke
Объяснение способа вызова собственных функций, принимающих строки стиля C, с помощью строк типа System.String CLR, использующих функциональную возможность вызова неуправляемого кода (P/Invoke).Практическое руководство. Вызов неуправляемых библиотек DLL из управляемого кода с помощью PInvoke
Демонстрация способа вызова из управляемого кода функций, реализованных в неуправляемых библиотеках DLL, с использованием функциональной возможности вызова неуправляемого кода (P/Invoke).Практическое руководство. Маршалирование структур с помощью PInvoke
Объяснение способа вызова из управляемого кода собственных функций, принимающих строки стиля C struct, с использованием функциональной возможности вызова неуправляемого кода (P/Invoke).Практическое руководство. Маршалинг массивов с помощью службы PInvoke
Объяснение способа вызова из управляемого кода собственных функций, принимающих массивы стиля C, с использованием функциональной возможности вызова неуправляемого кода (P/Invoke).Практическое руководство. Указатели функций маршалирования, использующие PInvoke
Объяснение порядка использования управляемых делегатов в указателях функций при взаимодействии с неуправляемыми функциями, использующими функциональную возможность вызова неуправляемого кода (P/Invoke).Практическое руководство. Маршалинг внедренных указателей с помощью PInvoke
Объяснение способа упаковки и передачи указателей с использованием функциональной возможности вызова неуправляемого кода (P/Invoke).Практическое руководство. Изменение ссылочного класса в собственной функции
Демонстрация способов передачи ссылочного класса с массивом CLR в собственную функцию и модификации класса с помощью служб PInvoke.Практическое руководство. Анализ строк с помощью регулярных выражений
Описание способа получения указателя на блок массива в массиве Byte путем получения адреса первого элемента массива и присвоения его указателю.
Библиотека поддержки C++
- Практическое руководство. Расширение библиотеки маршалинга
Объяснение способов расширения библиотеки маршалинга для обеспечения больших возможностей преобразования типов данных.
Использование Windows Forms в MFC
Использование пользовательского элемента управления формы Windows Form в MFC
Объяснение способа использования классов поддержки Windows Forms MFC для хранения элементов управления Windows Forms в приложениях MFC как элементов управления ActiveX в диалоговых окнах или представлениях MFC.Различия в программировании Windows Forms/MFC
Общие сведения о различиях в программировании в MFC и в Windows Forms.Размещение пользовательского элемента управления формы Windows Forms в диалоговом окне MFC
Описание способа сохранения элемента управления Windows Forms как диалогового окна MFC с помощью класса CWinFormsDialog.Практическое руководство. Создание пользовательского элемента управления и просмотр ведущего интерфейса MDI
Демонстрация создания пользовательского элемента управления платформы .NET Frameworks, последовательного создания этого пользовательского элемента управления в библиотеке классов элементов управления и компиляции его проекта в сборку.Практическое руководство. Добавление маршрутизации команд в элемент управления Windows Forms
Демонстрация использования представления CWinFormsView для маршрутизации команд и обновления сообщений команд пользовательского интерфейса, разрешающих пользовательскому элементу управления обрабатывать команды MFC.Практическое руководство. Вызов свойств и методов элемента управления Windows Forms
Объяснение причин, по которым рекомендуется добавлять член типа пользовательского элемента управления и инициализировать его в представлении IView::OnInitialUpdate.Размещение пользовательского элемента управления формы Windows Forms в качестве представления MFC
Описание способов сохранения пользовательского элемента управления Windows Forms как представления MFC.Практическое руководство. Создание пользовательского элемента управления и ведущего приложения в диалоговом окне
Объяснение порядка добавления пользовательского элемента управления в новый проект MFC на основе диалога.Практическое руководство. Привязка данных DDX/DDV к элементам управления Windows Forms
Демонстрация способа привязки собственной строки C++ к пользовательскому элементу управления .NET.Практическое руководство. Получение событий Windows Forms из собственных классов C++
Демонстрация способа включения собственных классов C++ для получения обратных вызовов от управляемых событий, вызванных из элементов управления Windows Forms или из других форм в формате сопоставления с макросом MFC. Получение событий в представлениях и диалогах аналогично получению событий в элементах управления.Размещение пользовательского элемента управления формы Windows Forms в диалоговом окне MFC
Описание способов сохранения пользовательского элемента управления Windows Forms в диалоговом окне MFC.Практическое руководство. Привязка данных DDX/DDV к элементам управления Windows Forms
Демонстрация способа привязки собственной строки C++ к пользовательскому элементу управления .NET.