Эквивалент CreateObject в C / C ++? (COM Interop) - PullRequest
6 голосов
/ 04 февраля 2010

Что будет эквивалентно в C / C ++?

Ответы [ 3 ]

11 голосов
/ 04 февраля 2010

Это функция CoCreateInstance () .

удобно использовать CoCreateInstance, когда вам нужно создать только один экземпляр объект на локальной машине. если ты создаем экземпляр на удаленном компьютер, позвоните CoCreateInstanceEx. Когда вы создаете несколько случаи, это более эффективно получить указатель на объект класса Интерфейс IClassFactory и использовать его методы по мере необходимости. В последнем случае, Вы должны использовать CoGetClassObject функция.

Вам нужно #include и вам нужно будет связаться с ole32.lib

6 голосов
/ 04 февраля 2010

Всего два звонка. Вам необходим CLSIDFromProgID () для сопоставления аргумента, который вы обычно передаете CreateObject, с CLSID. Который вы можете затем использовать в CoCreateInstance ().

5 голосов
/ 04 февраля 2010

Не забудьте вызвать CoInitializeEx или CoInitialize до CoCreateInstance

...