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 |