С Новым годом! Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C/C++ Как выгрузить ранее заинжекченную длл? https://www.cyberforum.ru/ c-cpp/ thread2695285.html
Использую дефолтный метод инжекта - LL. Так как эту дллку видно через process hacker, мне надо сделать так, чтобы можно было выгрузить эту дллку в случае необходимости. Код инжекта ниже wHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessId); LoadLibraryAdd = (LPVOID)GetProcAddress(GetModuleHandle(L"kernel32.dll"), "LoadLibraryA"); RND = (LPVOID)VirtualAllocEx(wHandle, NULL,...
C/C++ Как открыть файл Excel (sdkxll)?
Добрый день. Может ли кто подсказать как открыть файл Excel при помощи функций Microsoft sdk xll?
C/C++ Отследить события Excel C++ https://www.cyberforum.ru/ c-cpp/ thread2686153.html
Мое почтение, джентльмены. Стоит задача отследить события: открытия нового файла, сохранения файла (до/после) в Excel. Пока в этом не спец. Собрал код из разных источников сети. В Word отрабатывает, в Excel вызываются TranslateMessage(&msg); DispatchMessage(&msg); и тишина. Вопрос, что делаю неправильно, а возможно так - что правильно или все в топку? Возможно ли узнать какая книга...
C/C++ ATL: Как вызывать события ConnectionPoint https://www.cyberforum.ru/ c-cpp/ thread2677363.html
Желаю не болеть коронавирусом всем! Создал ATL проект в VS, создал SimpleObject (рисовать COM-сервер ничего не должен, только предоставлять клиенту объекты и позволять навешивать свои обработчики событий), пометил галочкой пункт про поддержку ConnectionPoint. Создалось два интерфейса - для объекта и для событий которые, как я понимаю, он может вызывать на клиенте. Название второго интерфейса...
C/C++ VARENUM to String
Чёт запутался. Согласно мелкософтовому сайту Имеем "сплошной", без разрывов enum: typedef enum VARENUM { VT_EMPTY, VT_NULL, VT_I2, VT_I4, VT_R4,
C/C++ Правильное использование CoInitializeEx() и CoUninitialize() Суть в том, что пишу либу (для себя - изучить, а если понравится, то пересяду на неё из дельфёвских древних и стороних компонент) - интерфейс ко многим связанным UUID. Пока однопоток, но т.к. эта технология поддерживает асинхронный ввод-вывод данных, то возможен в будущем многопоток. Пока набивается костяк над IDL озадачился а сколько раз в проге можно вызывать CoInitializeEx() и должны ли... https://www.cyberforum.ru/ c-cpp/ thread2660540.html
C/C++ Можно ли менять шрифты в Word-е с помощью программы, написанной на С++? Подскажите пожалуйста, можно ли как-то менять шрифты в ворде с помощью программы написанной на С++ и если можно, то как это реализовать? https://www.cyberforum.ru/ c-cpp/ thread2653498.html C/C++ Программа печатает количество абзацев и количество символов в каждом абзаце MS Word
Текст задачи такой: Программа открывает файл MS Word который состоит только из текста. Программа печатает количество абзацев в тексте и в каждом абзаце считает количество символов. Может уже была подобная тема на форуме, или форумчане смогут подсказать учебные материалы.
C/C++ Ищу SDK голосового движка L&H TTS3000 Сабж, ищу именно сдк данного движка (сам синтезатор найти не проблема). Файлы включения, примеры, документацию и пр. Продукт старый, выпущен еще в конце девяностых, шансов найти мало (интернет уже перерыт), но возможно у кого-то он все же есть. Я в курсе, что синтезатор SAPI4-совместимый, но нужна именно его API, без дополнительных лейеров и прокладок. Возможные имена файлов включения ... https://www.cyberforum.ru/ c-cpp/ thread2642612.html C/C++ Как организовать данные в DataGridView https://www.cyberforum.ru/ c-cpp/ thread2638733.html
Здравствуйте! У меня есть две таблицы , расходы и доходы, я вывожу информацию их в один dataGridView через запрос. Мне нужно выполнить такие задачи: 1. Чтобы перед суммой расход становился знак минус и после цифра, также он выделялся красным 2. Чтобы группировка данных была выполнена по дате, как в примере ниже. 3. Чтобы можно было в колонки добавить картинки. На данный момент сейчас всё...
Хочу разобраться с ActiveX C/C++
Всех приветствую! Хочу разобраться в этой технологий, поэтому прошу совета с чего начать изучение и быть может вы посоветуете книги или уроки по изучению.
C/C++ Как получить\передать методу нужный тип данных? https://www.cyberforum.ru/ c-cpp/ thread2631511.html
В стороннем приложении есть метод(get/put) из которого получаю данные которые никак не получается обработать. На картинки вверху описание того что получаю из стороннего метода. Внизу то что я пытаюсь ему передать. но чтото идет не так(. Как переделать чтобы метод принимал данные? Вот как я пытаюсь передать в него данные variant_t SetValue(double x1, double x2) { double mySize = { x1, x2...
2711 / 865 / 327
Регистрация: 10.02.2018
Сообщений: 2,047
10.09.2020, 22:43 0

Что делает CoLockObjectExternal? - C/C++ - Ответ 14832020

10.09.2020, 22:43. Показов 39045. Ответов 23
Метки (Все метки)

Ответ

Те COM-ы, с которыми я имел дело, всегда делались в виде DLL (или AX, что по структуре идентично, отличие только в расширении). Такая DLL имеет несколько стандартных точек входа, которые используются для создания лежащих в ней COM-объектов.

В реестре прописаны секции с именем равным GUID COM-объектов. В каждой такой секции лежит имя dll-файла, в котором лежит реализация данного COM-объекта.

Когда пользовательская программа вызывает CoCreateInstance(<нужный GUID>) для создания объекта локально, то выполняется поиск GUID-а по реестру компа. Найдя GUID определяется имя его DLL. Данная DLL подгружается в пользовательский процесс и через стандартные точки входа создаётся новый объект.

Если же объект создаётся не локально, то процесс совсем иной. Локально создаётся прокси нужного объекта, а на сервер отсылается запрос создания объекта. Сервер запускает суррогатный процесс dllhost.exe (возможно какой-то другой, точно не знаю, но пусть будет как-то так) и передаёт ему как-то (например, в командной строке) GUID объекта и информацию о клиенте. Суррогатный процесс создаёт нужный COM-объект локально в себя (получает интерфейсный указатель), создаёт некую обвязку для удалённой работы с клиентом.

Время жизни такого удалённого суррогатного процесса определяется временем жизни клиента. Изначально он имеет только одну ссылку на локальный объект. Один релиз от клиента и он должен удалить свой объект. Больше ему нет смысла жить и процесс завершается обычным образом. Если вы внутри локального серверного объекта сделаете AddRef, то суррогатный процесс об этом ничего не узнает. Таким образом релиз от клиента он расценит как сигнал к завершению работы. То что вы реально не удалили объект, это не его проблемы. Он просто завершится и выгрузит ваш объект из памяти, как обычную утечку памяти.

Это моё предположение. Если у вас другое представление о работе удалённых COM-ов, то можете попытаться объяснить как AddRef помешает выгрузке процесса.

Вернуться к обсуждению:
Что делает CoLockObjectExternal? C/C++
0
Заказать работу у эксперта
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.09.2020, 22:43
Готовые ответы и решения:

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

Что в программе делает так, что процессор грузится на 100%?
Я не очень разбираюсь в С++, поэтому прошу вашей подсказки по поводу нагрузки на процессор. Вот...

Я не могу понять что делает данная программа. Точнее что делают функции используемые в это коде
#include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;ctime&gt; using namespace std; int g(int a, int...

Что это за знак >> прочитал что это сдвиг вправо? что он делает
int d=6, c=5,f; f = d &gt;&gt; c; cout&lt;&lt; f; вывод 0

23
10.09.2020, 22:43
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.09.2020, 22:43
Помогаю со студенческими работами здесь

Дать понять пользователю, что программа что-то делает, а не зависла
Написал программу для поиска текста в файлах, но т.к. файлов много программа &quot;зависает&quot; на время...

что такое super.onCreate(savedInstanceState);? что оно делает?
подскажите, начинающему программисту под android, что делает строка...

Какова вероятность того, что родители увидят, что сын делает уроки
Ученику нужно сделать 5 предметов. 10% рабочего времени он тратит на Физику, 20% - на Биологию, 25%...

Добрый вечер. move_uploaded_file делает не совсем то, что мне нужно, что я сделал не так?
Хочу сохранить файл в папку uploads, лежащую в корневой директории сайта. Но вместо этого файл (мп3...

WorksheetFunction - что за функция в VBA, что она делает
WorksheetFunction - что за функция в VBA, что она делает ?

Что за оператор такой string replace и что он делает?
Что за оператор такой string replace и что он делает???

0
Новые блоги и статьи
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution прилагаю файл архива проекта Gowin Eda и снимок. Восьмибитный счётчик из сумматора+ генератор сигнала согласования+ стартер fast регистров. Файлы прилагаю. . . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
Как создать нейросеть для генерации картинок на Python
InfoMaster 12.01.2025
Генерация изображений с помощью искусственных нейронных сетей стала одним из наиболее захватывающих направлений в области компьютерного зрения и машинного обучения. В этой статье мы рассмотрим. . .
Создание нейросети для генерации текста на Python
InfoMaster 12.01.2025
Нейросети, или искусственные нейронные сети, представляют собой модели машинного обучения, вдохновленные работой человеческого мозга. Они состоят из множества взаимосвязанных узлов, или "нейронов",. . .
Как создать нейросеть распознавания изображений на Python
InfoMaster 12.01.2025
Введение в распознавание изображений с помощью нейросетей Распознавание изображений с помощью нейронных сетей стало одним из самых впечатляющих достижений в области искусственного интеллекта. Эта. . .
Основы искуственного интеллекта
InfoMaster 12.01.2025
Искусственный интеллект (ИИ) представляет собой одну из наиболее динамично развивающихся областей современной науки и технологий. В широком смысле под искусственным интеллектом понимается способность. . .
Python и нейросети
InfoMaster 12.01.2025
Искусственные нейронные сети стали неотъемлемой частью современных технологий, революционизировав множество областей - от медицинской диагностики до автономных транспортных средств. Python, благодаря. . .
Python в машинном обучении
InfoMaster 12.01.2025
Python стал неотъемлемой частью современного машинного обучения, завоевав позицию ведущего языка программирования в этой области. Его популярность обусловлена несколькими ключевыми факторами, которые. . .
Создание UI на Python с TKinter
InfoMaster 12.01.2025
TKinter — это одна из наиболее популярных библиотек для создания графических интерфейсов пользователей (GUI) в языке программирования Python. TKinter входит в стандартную библиотеку Python, что. . .
HTML5 в разработке мобильных приложений
InfoMaster 12.01.2025
Введение: Обзор роли HTML5 в мобильной разработке В современном мире мобильных технологий HTML5 стал ключевым инструментом для разработки кроссплатформенных приложений. Эта технология произвела. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru