Condividi tramite


Metodo IClassFactory::LockServer (unknwnbase.h)

Blocca un'applicazione oggetto aperta in memoria. In questo modo le istanze possono essere create più rapidamente.

Sintassi

HRESULT LockServer(
  [in] BOOL fLock
);

Parametri

[in] fLock

Se TRUE, incrementa il conteggio dei blocchi; se FALSE, decrementa il conteggio dei blocchi.

Valore restituito

Questo metodo può restituire i valori restituiti standard E_OUTOFMEMORY, E_UNEXPECTED, E_FAIL e S_OK.

Commenti

IClassFactory::LockServer controlla se il server di un oggetto viene mantenuto in memoria. Mantenere attiva l'applicazione in memoria consente di creare più rapidamente le istanze.

Note ai chiamanti

La maggior parte dei client non deve chiamare questo metodo. Viene fornito solo per i client che richiedono prestazioni speciali per la creazione di più istanze degli oggetti.

Note per gli implementatori

Se il numero di blocchi è zero, non sono presenti più oggetti in uso e l'applicazione non è sotto il controllo utente, il server può essere chiuso. Un modo per implementare LockServer consiste nel chiamare la funzione CoLockObjectExternal .

Il processo che blocca l'applicazione dell'oggetto è responsabile dello sblocco. Dopo il rilascio dell'oggetto classe, non esiste alcun meccanismo che garantisce la connessione del chiamante alla stessa classe in un secondo momento ,come nel caso in cui un oggetto classe sia registrato come singolo utilizzo. È importante contare tutte le chiamate, non solo l'ultima, a LockServer, perché le chiamate devono essere bilanciate prima di tentare di rilasciare il puntatore all'interfaccia IClassFactory sull'oggetto classe o i risultati di un errore. Per ogni chiamata a LockServer con fLock impostato su TRUE, deve essere presente una chiamata a LockServer con fLock impostato su FALSE. Quando il conteggio dei blocchi e il conteggio dei riferimenti all'oggetto classe sono entrambi zero, l'oggetto classe può essere liberato.

Requisiti

   
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione unknwnbase.h (include Unknwn.h)

Vedi anche

CoLockObjectExternal

IClassFactory