Это размер экземпляра вы ищете или общий объем памяти объекта?Очень важно понять это различие.
Если экземпляр содержит указатель на динамическую память, то это всего 4–8 байтов данных экземпляра, но указанный блок памяти может быть как угодно большим.И, как говорили другие, надежного способа узнать тоже нет.Размер экземпляра может запутать мой маршалинг.Отпечаток памяти может быть запутан частными кучами, разделением памяти и тому подобным.
Сам COM не предоставляет никакого механизма для этого.C ++ также не работает - COM-сервер, о котором вы говорите, может даже не быть написан на C ++ (хотя в случае MSXML, вероятно, так и есть).
Для конкретной версии и сборки библиотеки MSXMLСервер символов Microsoft может предоставить некоторую информацию о деталях реализации;например, он может дать вам размер экземпляра.Тем не менее, это не масштабируется для производства - вы действительно хотите отправить домашний отладчик, который загружает символы для MSXML и анализирует их на компьютере пользователя?
Что касается занимаемой памяти, то обработайте снимки использования памятиВы - ваш друг, и даже те должны быть взяты с зерном соли размера чего-то очень большого.