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 |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
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. |
|
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. |
|
Die Methode wird nicht unterstützt. |
|
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) |