Freigeben über


IPrintCorePS2::EnumFeatures-Methode (prcomoem.h)

Die IPrintCorePS2::EnumFeatures -Methode listet die verfügbaren Funktionen eines Druckers auf.

Syntax

HRESULT EnumFeatures(
  [in]  PDEVOBJ pdevobj,
  [in]  DWORD   dwFlags,
  [out] PZZSTR  pmszFeatureList,
  [in]  DWORD   cbSize,
  [out] PDWORD  pcbNeeded
);

Parameter

[in] pdevobj

Zeiger auf eine DEVOBJ-Struktur .

[in] dwFlags

Ist reserviert und muss auf 0 (null) festgelegt werden.

[out] pmszFeatureList

Zeiger auf einen vom Aufrufer bereitgestellten Puffer, der eine durch NULL getrennte Liste von Featureschlüsselwörtern in MULTI_SZ Format empfängt. Die Liste wird mit zwei NULL-Zeichen beendet.

Legen Sie diesen Parameter auf NULL fest, um einfach die Größe (*pcbNeeded) der Featureliste abzufragen, ohne dass die Liste ausgefüllt wird.

[in] cbSize

Gibt die Größe des Puffers in Bytes an, auf den pmszFeatureList verweist.

[out] pcbNeeded

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

Rückgabewert

Diese 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 von pmszFeatureList verwiesen wird).

Die -Methode wurde aufgerufen, wobei pmszFeatureList auf NULL festgelegt ist.

E_INVALIDARG
Der pdevobj-Parameter verweist auf ein ungültiges Treiberkontextobjekt.
E_FAIL
Fehler bei der Methode.

Hinweise

Drucker-Sticky-Features (siehe Ersetzen Driver-Supplied Eigenschaftenblattseiten), z. B. solche, die den installierbaren Arbeitsspeicher und das Vorhandensein von optionalem Zubehör bestimmen, sind in der Feature-Schlüsselwort (keyword) Liste enthalten, die im Ausgabepuffer angezeigt wird, auf den von pmszFeatureList verwiesen wird. Für Pscript5 ist für solche Features das OpenGroupType-Feature-Attribut auf "InstallableOptions" festgelegt.

Um die Notwendigkeit von zwei Aufrufen pro Datenzugriff zu reduzieren, ü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 EnumFeatures.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile prcomoem.h (include Prcomoem.h)

Weitere Informationen

DEVOBJ

IPrintCorePS2

IPrintCorePS2::EnumOptions