Metodo IPropertySheetProvider::CreatePropertySheet (mmc.h)
Il metodo IPropertySheetProvider::CreatePropertySheet crea una cornice della finestra delle proprietà.
Sintassi
HRESULT CreatePropertySheet(
[in] LPCWSTR title,
[in] boolean type,
[in] MMC_COOKIE cookie,
[in] LPDATAOBJECT pIDataObjectm,
[in] DWORD dwOptions
);
Parametri
[in] title
Puntatore a una stringa con terminazione Null contenente il titolo della pagina delle proprietà. Questo parametro non può essere NULL.
[in] type
TRUE crea una finestra delle proprietà e FALSE crea una procedura guidata.
[in] cookie
Valore cookie dell'elemento attualmente selezionato. Può essere NULL quando CreatePropertySheet viene chiamato da uno snap-in di estensione.
[in] pIDataObjectm
Puntatore all'interfaccia IDataObject nell'oggetto dati per il cookie. Se il valore di questo parametro è NULL, MMC non chiamerà nessuno dei metodi IExtendPropertySheet2 implementati dagli snap-in di estensione.
[in] dwOptions
Valore che specifica i flag che possono essere impostati dalla chiamata al metodo. Il parametro può essere una combinazione dei valori seguenti:
MMC_PSO_NOAPPLYNOW
Rimuovi il pulsante Applica ora.
MMC_PSO_HASHELP
Aggiungere un pulsante ? .
MMC_PSO_NO_PROPTITLE
Ignorato per le procedure guidate. Per le finestre delle proprietà, se questa opzione è specificata, le parole "Proprietà per" non verranno inserite all'inizio della barra del titolo della finestra delle proprietà.
MMC_PSO_NEWWIZARDTYPE
Usa lo stile della procedura guidata 97.
Ad esempio, per creare una finestra delle proprietà con un pulsante ? e che non dispone di un pulsante Applica ora, il parametro dwOptions deve essere MMC_PSO_NOAPPLYNOW | MMC_PSO_HASHELP
.
Valore restituito
Questo metodo può restituire uno di questi valori.
Commenti
Questo metodo crea un oggetto che raccoglie tutte le informazioni necessarie per creare una finestra delle proprietà. Se la chiamata a CreatePropertySheet ha esito positivo, ma si verificano errori successivi, è necessario chiamare IPropertySheetProvider::Show( –1, 0) per liberare oggetti. In questo caso, il codice restituito può essere ignorato.
Nelle situazioni in cui lo snap-in crea una finestra delle proprietà in una chiamata a IPropertySheetProvider::CreatePropertySheet e facoltativamente chiama IPropertySheetProvider::AddPrimaryPages e IPropertySheetProvider::AddExtensionPages e quindi decide di non visualizzare la finestra delle proprietà, deve chiamare IPropertySheetProvider::Show( –1, 0) per eliminare la finestra delle proprietà e liberarne le risorse. In questo caso, lo snap-in deve eliminare gli handle della pagina delle proprietà creati. Questa operazione può essere eseguita prima o dopo che lo snap-in chiama IPropertySheetProvider::Show( –1, 0), perché MMC non utilizza gli handle della pagina delle proprietà.
Per uno snap-in destinato a MMC 1.1, lo snap-in deve mantenere un riferimento aggiuntivo sull'interfaccia IDataObject che passa a MMC nella chiamata IPropertySheetProvider::CreatePropertySheet. Questo riferimento deve essere mantenuto prima della chiamata IPropertySheetProvider::CreatePropertySheet fino a quando la finestra delle proprietà non viene eventualmente chiusa con una chiamata a IPropertySheetProvider::Show( -1, 0).
Requisiti
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | mmc.h |
DLL | Mmcndmgr.dll |