Freigeben über


IPrintCorePS2::GetOptions-Methode (prcomoem.h)

Die IPrintCorePS2::GetOptions -Methode ruft die aktuellen Featureeinstellungen des Treibers im Format einer Liste von Feature/Option-Schlüsselwort (keyword)-Paaren ab.

Syntax

HRESULT GetOptions(
  [in]  PDEVOBJ pdevobj,
  [in]  DWORD   dwFlags,
  [in]  PCZZSTR pmszFeaturesRequested,
  [in]  DWORD   cbIn,
  [out] PZZSTR  pmszFeatureOptionBuf,
  [in]  DWORD   cbSize,
  [out] PDWORD  pcbNeeded
);

Parameter

[in] pdevobj

Zeiger auf eine DEVOBJ-Struktur .

[in] dwFlags

Ist reserviert und muss auf null festgelegt werden.

[in] pmszFeaturesRequested

Zeiger auf den vom Aufrufer bereitgestellten Puffer, der eine Liste von Featureschlüsselwörtern (im MULTI_SZ Format) enthält, deren Einstellungen angefordert werden. Legen Sie diesen Parameter auf NULL fest, um Einstellungen für alle Features abzurufen.

[in] cbIn

Gibt die Größe des Puffers in Bytes an, auf den von pmszFeaturesRequested verwiesen wird. Die Größe enthält das letzte MULTI_SZ NULL-Zeichen.

[out] pmszFeatureOptionBuf

Zeiger auf einen vom Aufrufer bereitgestellten Puffer, der eine Liste von Feature/Option-Schlüsselwort (keyword) Paaren (im MULTI_SZ Format) empfängt, die aus den Treibereinstellungen abgerufen wurden. Jedes Feature/Option-Schlüsselwort (keyword)-Paar enthält das Feature Schlüsselwort (keyword) Namen, ein NULL-Zeichen, die Option Schlüsselwort (keyword) Namen und ein weiteres NULL-Zeichen. Die Liste wird durch zwei NULL-Zeichen beendet.

[in] cbSize

Gibt die Größe des Puffers in Bytes an, auf den von pmszFeatureOptionBuf verwiesen wird.

[out] pcbNeeded

Zeiger auf einen Speicherspeicherort, der die tatsächliche Größe der angeforderten Daten in Bytes empfängt.

Rückgabewert

Die -Methode muss einen der folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich ausgeführt.
E_OUTOFMEMORY
Der Wert in cbSize war kleiner als die Anzahl der Bytes, die in den Ausgabepuffer geschrieben werden sollen (der Puffer, auf den pmszFeatureOptionBuf verweist).

Die Methode wurde aufgerufen, wobei pmszFeatureOptionBuf auf NULL festgelegt ist.

E_INVALIDARG
Der Eingabepuffer (der Puffer, auf den von pmszFeaturesRequested verwiesen wird) wurde bereitgestellt, der Inhalt hatte jedoch kein MULTI_SZ Format.

Der pdevobj-Parameter weist auf ein ungültiges Treiberkontextobjekt hin.

E_NOTIMPL
Die Methode wird nicht unterstützt.
E_FAIL
Fehler bei der Methode.

Hinweise

Diese Methode unterstützt sowohl Dokument- als auch Druckerhaftfunktionen . Es wird nur unterstützt, nachdem der Kerntreiber seine DrvEnablePDEV-Verarbeitung abgeschlossen hat, wodurch alle Optionseinstellungen eingerichtet werden. Ein Aufruf von IPrintCorePS2::GetOptions , wenn er nicht unterstützt wird, sollte dazu führen, dass E_NOTIMPL zurückgegeben wird. Wenn der Kerntreiber beispielsweise die IPrintOemPS::EnablePDEV-Methode eines Render-Plug-Ins aufruft, ist der Treiber weiterhin mit seiner DrvEnablePDEV-Verarbeitung belegt. Wenn das Plug-In also innerhalb der IPrintOemPS::D evMode-Methode des Plug-Ins aufruftIPrintCorePS2::GetOptions, empfängt das Plug-In den E_NOTIMPL Rückgabewert. Da die IPrintOemPS::EnablePDEV-Methode des Plug-Ins jedoch aufgerufen wird, nachdem der Kerntreiber seine DrvEnablePDEV-Verarbeitung abgeschlossen hat, kann das Plug-In innerhalb seiner IPrintOemPS::EnablePDEV-Methode erfolgreich aufrufenIPrintCorePS2::GetOptions.

Wenn ein angefordertes Feature Schlüsselwort (keyword) nicht erkannt wird oder das Feature erkannt wird, es aber derzeit keine Optionsauswahl dafür gibt, wird das Feature ignoriert, und das Feature/Option-Schlüsselwort (keyword)-Paar wird nicht im Ausgabepuffer platziert.

Um die Notwendigkeit von zwei Aufrufen pro Datenzugriff zu verringern, übergeben Sie der Methode einen Ausgabepuffer einer festen Größe (z. B. 1 KB), und überprüfen Sie dann den Funktionsrückgabewert. Wenn die Methode S_OK zurückgibt, enthält der Puffer bereits die relevanten Daten. Wenn die Methode E_OUTOFMEMORY zurückgibt, ist der Wert in *pcbNeeded die Puffergröße, die zum Speichern der relevanten Daten erforderlich ist. Der Aufrufer sollte dann einen Puffer dieser größeren Größe zuordnen und mit einem zweiten Aufruf der -Methode fortfahren.

Diese Methode wird für jedes Pscript5-Render-Plug-In unterstützt.

Weitere Informationen finden Sie unter Verwenden von GetOptions und SetOptions.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile prcomoem.h (einschließlich Prcomoem.h)

Weitere Informationen

DEVOBJ

DrvEnablePDEV

IPrintCorePS2

IPrintOemPS::D evMode

IPrintOemPS::EnablePDEV