Implementazione di IClassFactory

Quando un client usa un CLSID per richiedere la creazione di un'istanza di oggetto, il primo passaggio consiste nella creazione di un oggetto classe, un oggetto intermedio che contiene un'implementazione dei metodi dell'interfaccia IClassFactory . Mentre COM fornisce diverse funzioni di creazione di istanze, il primo passaggio nell'implementazione di queste funzioni è la creazione di un oggetto classe.

Di conseguenza, tutti i server devono implementare i metodi dell'interfaccia IClassFactory , che contiene due metodi:

  • CreateInstance. Questo metodo deve creare un'istanza non inizializzata dell'oggetto e restituire un puntatore a un'interfaccia richiesta nell'oggetto .
  • LockServer. Questo metodo incrementa semplicemente il conteggio dei riferimenti sull'oggetto classe per assicurarsi che il server rimanga in memoria e non si arresti prima che il client sia pronto per farlo.

Per consentire a un server di essere responsabile delle proprie licenze, COM definisce IClassFactory2, che eredita la relativa definizione da IClassFactory. Pertanto, un server che implementa IClassFactory2 deve, per definizione, implementare i metodi di IClassFactory.

COM fornisce anche funzioni helper per l'implementazione di server out-of-process. Per altre informazioni, vedere Helper di implementazione del server out-of-process.

Responsabilità del server COM

Licenze e IClassFactory2