Capisco che CoCreateInstance trovi il server COM per l'id della classe data, crea l'istanza dell'oggetto per quell'id e recupera un'interfaccia da tale istanza dell'oggetto. CoGetClassObject() trova il server COM per l'id della classe, crea un'istanza della classe factory per quell'id della classe e recupera quell'interfaccia factory class che può essere quindi utilizzata per creare oggetti reali.Qual è la differenza tra CoCreateInstance() e CoGetClassObject() durante la creazione di oggetti sulla stessa macchina?
In quale altro modo queste funzioni differiscono se utilizzate per creare oggetti sulla stessa macchina? Funzionano allo stesso modo ma causano l'invocazione di codice diverso nello stesso server COM?
L'ho letto, ma non vedo alcun vantaggio, ad eccezione del fatto che CoGetClassObject() è potenzialmente più veloce e l'oggetto factory di classe è in grado di mantenere lo stato tra le chiamate CreateInstance(). – sharptooth
@sharptooth, questo è praticamente il succo. Non c'è molto vantaggio, motivo per cui raramente lo vedi usato. – JaredPar
C'è una possibilità che ci sia qualche altra sottile differenza come l'ordine di ricerca delle dipendenze? Queste funzioni funzionano allo stesso modo ma chiamano codice diverso nello stesso server COM? – sharptooth