Sostituzione delle pagine della finestra delle proprietà fornite dal driver
Importante
La piattaforma di stampa moderna è il mezzo preferito di Windows per comunicare con le stampanti. Ti consigliamo di usare il driver di classe IPP di Microsoft, insieme a Print Support Apps (PSA), per personalizzare l'esperienza di stampa in Windows 10 e 11 per lo sviluppo di dispositivi per stampanti.
Per altre informazioni, vedere Piattaforma di stampa moderna e guida alla progettazione dell'app di supporto per la stampa.
L'interfaccia COM IPrintCoreUI2 fornisce quattro metodi che un plug-in dell'interfaccia utente Pscript5 in esecuzione in Windows XP e versioni successive del sistema operativo Windows deve usare quando intende sostituire completamente le pagine dell'interfaccia utente standard del driver principale. Il termine driver core fa riferimento al driver della stampante Unidrv o Pscript5. Questi metodi sono i seguenti:
IPrintCoreUI2::EnumConstrainedOptions
Questi metodi sono supportati solo durante l'esecuzione dei metodi IPrintOemUI::D ocumentPropertySheets e IPrintOemUI::D evicePropertySheets e delle relative routine di callback della finestra delle proprietà. Un plug-in dell'interfaccia utente supporta questi metodi per visualizzare la propria interfaccia utente. Se non supportato, questi metodi restituiscono E_NOTIMPL.
Il driver principale visualizza la propria interfaccia utente della finestra delle proprietà in due circostanze: per DrvDocumentPropertySheets e per DrvDevicePropertySheets. Il primo metodo visualizza le proprietà che si applicano solo ai documenti (proprietà permanenti del documento), mentre il secondo metodo visualizza le proprietà applicabili a un dispositivo (proprietà permanenti del dispositivo o della stampante).
Il driver principale memorizza il tipo di finestra delle proprietà che gestisce (e quindi, la modalità - document-sticky o printer-sticky). Il driver principale salva le informazioni sullo stato in una struttura (struttura OEMUIOBJ ) creata per l'istanza dell'interfaccia utente. Quando il driver principale chiama i metodi di interfaccia di un plug-in, passa un puntatore a una struttura OEMUIOBJ, in modo che quando un plug-in esegue il richiamo al driver principale da IPrintCoreUI2::EnumConstrainedOptions, IPrintCoreUI2::GetOptions, IPrintCoreUI2::SetOptions o IPrintCoreUI2::WhyConstrained, questi metodi passano il puntatore al driver principale, che è quindi in grado di determinare la modalità.
Per IPrintCoreUI2::EnumConstrainedOptions, Durante l'esecuzione di IPrintCoreUI2::SetOptions e IPrintCoreUI2::WhyConstrained, durante l'esecuzione di IPrintOemUI::D ocumentPropertySheets o della routine di callback della finestra delle proprietà sono supportate solo le funzionalità con sticky della stampante durante l'esecuzione di IPrintOemUI::D evicevicePropertySheets o la routine di callback del foglio delle proprietà. Per IPrintCoreUI2::SetOptions, qualsiasi funzionalità la cui permanentità non corrisponde alla modalità sticky corrente deve essere ignorata. Quando viene chiamato IPrintCoreUI2::EnumConstrainedOptions o IPrintCoreUI2::WhyConstrained per una funzionalità la cui permanentità non corrisponde alla modalità sticky corrente, il metodo deve restituire E_INVALIDARG.
Per IPrintCoreUI2::GetOptions, Entrambe le funzionalità di tipo document-sticky e printer-sticky sono supportate in modalità document-sticky (ovvero quando IPrintOemUI::D ocumentPropertySheets o la routine di callback della finestra delle proprietà sono in esecuzione), ma sono supportate solo le funzionalità della stampante sticky (quando IPrintOemUI::D evicePropertySheets o la routine di callback del foglio delle proprietà sono in esecuzione).