Condividi tramite


Funzione MMCFreeNotifyHandle (mmc.h)

La funzione MMCFreeNotifyHandle viene chiamata da uno snap-in per liberare l'handle a un messaggio di notifica MMCN_PROPERTY_CHANGE inviato allo snap-in da MMC in risposta a una chiamata MMCPropertyChangeNotify effettuata da un foglio delle proprietà.

Sintassi

HRESULT MMCFreeNotifyHandle(
  [in] LONG_PTR lNotifyHandle
);

Parametri

[in] lNotifyHandle

Valore che specifica un handle fornito dalla console durante una chiamata IExtendPropertySheet2::CreatePropertyPages .

Valore restituito

Questa funzione di callback può restituire uno di questi valori.

Commenti

L'handle alla notifica viene passato allo snap-in tramite una chiamata al metodo IExtendPropertySheet2::CreatePropertyPages . Se lo snap-in restituisce un codice di esito positivo (S_OK, S_FALSE) da questo metodo, lo snap-in deve chiamare MMCFreeNotifyHandle. Se lo snap-in restituisce un codice di errore, MMC libera immediatamente l'handle.

Lo snap-in può liberare l'handle in qualsiasi momento, perché MMC non usa l'handle dopo che viene assegnato allo snap-in. Lo snap-in deve chiamare solo MMCFreeNotifyHandle una sola volta e non deve usare l'handle in una chiamata MMCPropertyChangeNotify dopo che è stata liberata.

Tenere presente che solo lo snap-in deve chiamare MMCFreeNotifyHandle se viene chiamato il metodo IExtendPropertySheet2::CreatePropertyPages . MMC non chiamerà IExtendPropertySheet2::CreatePropertyPages se lo snap-in usa IPropertySheetCallback per aggiungere pagine delle proprietà e quindi chiama IPropertySheetProvider::AddPrimaryPages con un primo parametro NULL . La chiamata a AddPrimaryPages in questo modo informa MMC che le pagine sono già state aggiunte, quindi non è necessario chiamare il metodo IExtendPropertySheet2::CreatePropertyPages . Per altre informazioni, vedere Aggiunta di pagine della procedura guidata: dettagli sull'implementazione.

L'elenco seguente contiene scenari che illustrano situazioni in cui lo snap-in può chiamare MMCFreeNotifyHandle:

  • In IExtendPropertySheet2::CreatePropertyPages lo snap-in non aggiunge pagine delle proprietà. Se CreatePropertyPages non restituisce un risultato di errore, lo snap-in può chiamare MMCFreeNotifyHandle prima di restituire. In caso contrario, MMC libera l'handle.
  • In IExtendPropertySheet2::CreatePropertyPages, lo snap-in aggiunge le pagine delle proprietà, ma non passa l'handle alle pagine. Anche in questo caso, se CreatePropertyPages non restituisce un risultato di errore, lo snap-in può chiamare MMCFreeNotifyHandle prima di restituire.
  • In IExtendPropertySheet2::CreatePropertyPages, lo snap-in aggiunge le pagine delle proprietà e passa anche l'handle alle pagine. Tuttavia, le pagine delle proprietà non chiamano MMCPropertyChangeNotify. In questo caso, lo snap-in può chiamare MMCFreeNotifyHandle nel distruttore delle pagine delle proprietà o prima di restituire (senza un risultato di errore) da CreatePropertyPages.
  • In IExtendPropertySheet2::CreatePropertyPages, lo snap-in aggiunge le pagine delle proprietà e passa anche l'handle alle pagine. Le pagine delle proprietà chiamano MMCPropertyChangeNotify. In questo caso, lo snap-in deve chiamare MMCFreeNotifyHandle nel distruttore delle pagine delle proprietà. Tenere presente che la chiamata a MMCFreeNotifyHandle nel gestore di notifica MMCN_PROPERTY_CHANGE snap-in non è consigliata, perché più pagine possono inviare notifiche o la stessa pagina potrebbe inviare più notifiche (una ogni volta che l'utente fa clic sul pulsante Applica ).

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione mmc.h

Vedi anche

IComponent

IExtendPropertySheet2::CreatePropertyPages

MMCPropertyChangeNotify