Форум программистов, компьютерный форум, киберфорум
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...
2338 / 803 / 304
Регистрация: 10.02.2018
Сообщений: 1,885
10.09.2020, 18:31 0

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

10.09.2020, 18:31. Показов 38747. Ответов 23
Метки (Все метки)

Ответ

Цитата Сообщение от Хрисипп Посмотреть сообщение
Да, видимо для этого почему-то тоже используется. Тогда не понятно -- а чем AddRef плох?
В той книге, на которую я раньше ссылался, на странице 18 немного рассказывается об администраторе заглушек.
Цитата от туда
Между администраторами заглушек и идентификационными единицами СОМ-объектов имеется взаимно однозначное соответствие. Каждый администратор заглушек ссылается на ровно один СОМ-объект. Каждый СОМ-объект, использующий стандартный маршалинг, будет иметь ровно один администратор заглушек. Администратор заглушек содержит но крайней мере одну неосвобожденную ссылку на объект, которая удерживает ресурсы объекта в памяти. В этом смысле администратор заглушек является еще одним внутрипроцессным клиентом для объекта. Администратор заглушек следит за числом неосвобожденных внешних ссылок и будет существовать до тех пор, пока где-либо в сети останется хотя бы одна неосвобожденная ссылка. Большинство внешних ссылок являются просто заместителями, хотя промежуточные маршалированные объектные ссылки могут удерживать заглушки, чтобы быть уверенными, что в момент создания первого заместителя объект еще существует. Когда неосвобожденные заместители или ссылки уничтожаются, администратор заглушек извещается об этом и декрементирует свой счетчик внешних ссылок. Если уничтожена последняя внешняя ссылка на администратор заглушек, то последний самоуничтожается, освобождая свои неосвобожденные ссылки на действующий объект. Это имитирует эффект наличия на стороне клиента ссылок, поддерживающих объект.

(возможно, дальше будет полёт моей фантазии и он не очень соответствует реальности)
Как я понимаю, в некоторых случаях ваш объект получается размазан по нескольким местам. Во-первых, есть объект с вашей реализацией. Во-вторых, у пользователя объекта есть его прокси копия (заместитель). В-третьих, есть ещё заглушка, которая содержит в себе реальный объект с реализацией (1) и обеспечивает его взаимодействие с заместителями (2). Заместители и заглушки получаются автоматически, это не ваш код, а среда исполнения COM. AddRef вы можете сделать только из пользовательской программы или из реализации объекта. Вызов из пользовательской программы естественно увеличит счётчик и предотвратит выгрузку. Но вас интересует вызов из реализации, а он лишь выполнит увеличение локального счётчика ссылок. Администратор заглушек про него ничего знать не знает и ему на него по большому счёту плевать. У него свой счётчик, основанный на заместителях. Поэтому, когда последний заместитель вызовет релиз, администратор самоудалится вместе с объектом. Вот как раз что бы избежать этого, реализация может вызвать эту самую CoLockObjectExternal.

Вернуться к обсуждению:
Что делает CoLockObjectExternal? C/C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2020, 18:31
Готовые ответы и решения:

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

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

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

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

23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.09.2020, 18:31
Помогаю со студенческими работами здесь

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

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

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

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

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

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

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru