Condividi tramite


Metodo IClassFactory::LockServer (unknwn.h)

Blocca un'applicazione oggetto aperta in memoria. In questo modo, le istanze devono 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 nella creazione di più istanze degli oggetti.

Note per gli implementatori

Se il conteggio dei 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 di classe, non esiste alcun meccanismo che garantisce la connessione del chiamante alla stessa classe successiva( come nel caso in cui un oggetto di classe sia registrato come singolo utilizzo). È importante contare tutte le chiamate, non solo l'ultima, in LockServer, perché le chiamate devono essere bilanciate prima di tentare di rilasciare il puntatore all'interfaccia IClassFactory nell'oggetto classe o nei risultati di un errore. Per ogni chiamata a LockServer con fLock impostato su TRUE, è necessario che venga eseguita una chiamata a LockServer con fLock impostata su FALSE. Quando il conteggio dei blocchi e il conteggio dei riferimenti dell'oggetto di classe sono entrambi zero, l'oggetto classe può essere liberato.

Requisiti

Requisito Valore
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 unknwn.h (includere Unknwn.h)

Vedi anche

CoLockObjectExternal

IClassFactory