IPrintCoreHelperUni::SetOptions-Methode (prcomoem.h)
Die IPrintCoreHelperUni::SetOptions- Methode legt mehrere Featureoptionspaare gleichzeitig fest.
Syntax
HRESULT SetOptions(
[in, optional] IN PDEVMODE pDevmode,
[in] IN DWORD cbSize,
[in] IN BOOL bResolveConflicts,
[in] IN const PRINT_FEATURE_OPTION [] pFOPairs,
[in] IN DWORD cPairs,
[out] OUT PDWORD pcPairsWritten,
[out] OUT PDWORD pdwResult
);
Parameter
[in, optional] pDevmode
Ein Zeiger auf eine DEVMODEW--Struktur. Wenn dieser Zeiger bereitgestellt wird, sollte IPrintCoreHelperUni::SetOptions- die DEVMODEW-Struktur verwenden, auf die pDevmode- anstelle der Standard- oder der aktuellen DEVMODEW-Struktur verweist. Wenn diese Methode vom Plug-In-Anbieter oder von IPrintOemPS::D evModeaufgerufen wird, ist dieser Parameter erforderlich. In den meisten anderen Situationen sollte der Parameter NULL-sein. Wenn der Kerntreiber pDevmode auf NULL-festlegt, ändert er seinen internen Zustand und nicht die der übergebenen DEVMODEW-Struktur. Dies ist bei Vorgängen wie dem vollständigen Austausch der Benutzeroberfläche erforderlich, wobei die von einem DDI zurückgegebene DEVMODEW-Struktur, z. B. DrvDocumentPropertySheets, vom Benutzeroberflächenmodul des Kerntreibers gewartet wird.
[in] cbSize
Die Größe der DEVMODEW- Struktur in Byte, auf die der pDevmode-Parameter verweist.
[in] bResolveConflicts
Ein boolescher Wert, der angibt, ob IPrintCoreHelperUni::SetOptions Konflikte lösen sollten, die sich aus einer oder mehreren Einschränkungen in der GPD-Ansicht der Konfigurationsdatei ergeben, sowie Einschränkungen für funktionen, die von Unidrv oder dem Druckprozessor implementiert werden. Wenn TRUE, sollte diese Methode versuchen, den Konflikt zu lösen. Wenn FALSE-, sollte diese Methode nicht versuchen, Konflikte zu lösen.
[in] pFOPairs
Ein Array von PRINT_FEATURE_OPTION Elementen, wobei jedes Element ein Featureoptionspaar enthält. Jedes Featureoptionspaar listet ein Feature und die Option zum Auswählen für dieses Feature auf. Alle Einstellungen werden sequenziell angewendet. Duplikate sind nicht zulässig, aber Einstellungen, die später im Array angezeigt werden (d. h. bei einem höheren Index), überschreiben diejenigen, die weiter oben im Array angezeigt werden.
[in] cPairs
Die Anzahl der Featureoptionspaare, auf die durch den pFOPairs Parameter verwiesen wird.
[out] pcPairsWritten
Ein Zeiger auf eine Variable, die die Anzahl der Featureoptionspaare empfängt, die erfolgreich gespeichert wurden, bevor IPrintCoreHelperUni::SetOptions zurückgegeben oder fehlgeschlagen wurde. Wenn diese Methode erfolgreich zurückgegeben wird, hat pcPairsWritten denselben Wert wie cPairs. Wenn die Methode fehlschlägt, kann pcPairsWritten- einen beliebigen Wert von 0 bis zum Wert cPairsaufweisen. Dieser Parameter ist optional und kann NULL-werden.
[out] pdwResult
Ein Zeiger auf eine Variable, die den Status der Konfliktauflösung empfängt. Der Status kann einer der folgenden Werte sein:
Wert | Beschreibung |
---|---|
SETOPTIONS_RESULT_NO_CONFLICT | Es wurde keine Einschränkung verletzt, die in der GPD-Ansicht der Konfigurationsdatei angegeben wurde, relativ zur neuen Einstellung. |
SETOPTIONS_RESULT_CONFLICT_RESOLVED | Mindestens eine Einschränkung, die in der GPD-Ansicht der Konfigurationsdatei angegeben wurde, wurde verletzt, und der Aufrufer hat angefordert, dass die Methode Konflikte lösen sollte. Dieser Wert führt zu geänderten Einstellungen mit aufgelösten Konflikten. |
SETOPTIONS_RESULT_CONFLICT_NOT_RESOLVED | Mindestens eine Einschränkung, die in der GPD-Ansicht der Konfigurationsdatei angegeben wurde, wurde verletzt, und der Aufrufer hat angefordert, dass die Methode keine Konflikte lösen sollte. Die Einstellungen werden nicht geändert, und Konflikte bleiben bestehen. |
Rückgabewert
IPrintCoreHelperUni::SetOptions sollte einen der folgenden Werte zurückgeben.
Rückgabecode | Beschreibung |
---|---|
S_OK | Der Vorgang war erfolgreich. |
E_INVALIDARG | Mindestens ein Argument ist ungültig, oder das Feature wurde nicht unterstützt. |
E_OUTOFMEMORY | Speicher für das Ergebnisarray konnte nicht zugeordnet werden. |
Bei anderen Fehlern sollte die Methode einen standardmäßigen COM-Fehlercode zurückgeben.
Bemerkungen
IPrintCoreHelperUni::SetOptions können verwendet werden, um mehrere Einstellungsänderungen gleichzeitig vorzunehmen und Einschränkungen zu beheben, nachdem alle ausgewählten Optionen festgelegt wurden. Änderungen an Optionen werden sequenziell angewendet, beginnend am Anfang der pFOPairs Array. Wenn also das gleiche Feature zweimal in diesem Array angezeigt wird, wird nur die letzte Option für das Feature ausgewählt. Änderungen an Optionen werden nur übernommen, wenn der bResolveConflicts Parameter TRUEist.
In den meisten Szenarien sollte der bResolveConflicts Parameter auf TRUEfestgelegt werden. Legen Sie diesen Parameter auf FALSE- fest, wenn Sie den Benutzer auffordern möchten, Konflikte zu lösen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | prcomoem.h (einschließlich Prcomoem.h) |