Freigeben über


IPrintCorePS2::EnumFeatures-Methode (prcomoem.h)

Die IPrintCorePS2::EnumFeatures-Methode listet die verfügbaren Features 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 Null festgelegt werden.

[out] pmszFeatureList

Zeiger auf einen vom Aufrufer bereitgestellten Puffer, der eine durch Null getrennte Liste von Featurestichwörtern im MULTI_SZ Format empfängt. Die Liste wird mit zwei Nullzeichen beendet.

Legen Sie diesen Parameter auf NULL- fest, um einfach die Größe (*pcbNeededed) der Featureliste abzufragen, ohne die Liste ausgefüllt zu haben.

[in] cbSize

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

[out] pcbNeeded

Zeigen Sie auf einen Speicherspeicherort, der die tatsächliche Größe der angeforderten Daten in Byte empfängt.

Rückgabewert

Diese Methode muss einen der folgenden Werte zurückgeben.

Rückgabecode Beschreibung
S_OK
Die Methode war erfolgreich.
E_OUTOFMEMORY
Der Wert in cbSize war kleiner als die Anzahl der Bytes, die in den Ausgabepuffer geschrieben werden sollen (der Puffer, auf den pmszFeatureListverweist).

Die Methode wurde mit pmszFeatureList aufgerufen, auf NULL-festgelegt wurde.

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

Bemerkungen

Features Druckersticky (siehe Ersetzen von Driver-Supplied Eigenschaftenblattseiten), z. B. solche, die installierbaren Arbeitsspeicher und das Vorhandensein von optionalem Zubehör bestimmen, sind in der Featureschlüsselwortliste enthalten, die im Ausgabepuffer angezeigt wird, auf den pmszFeatureListverweist. Für Pscript5 haben solche Features das OpenGroupType Featureattribute auf "InstallableOptions" festgelegt.

Um die Notwendigkeit zu verringern, zwei Aufrufe pro Datenzugriff vorzunehmen, übergeben Sie die Methode an einen Ausgabepuffer mit fester Größe (z. B. 1 KB), und überprüfen Sie dann den Funktionsrücklaufwert. Wenn die Methode S_OK zurückgibt, enthält der Puffer bereits die daten von Interesse. Wenn die Methode E_OUTOFMEMORY zurückgibt, ist der Wert in *pcbNeededed die Puffergröße, die für die Daten von Interesse erforderlich ist. Der Aufrufer sollte dann einen Puffer dieser größeren Größe zuweisen 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 Using EnumFeatures.

Anforderungen

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

Siehe auch

DEVOBJ-

IPrintCorePS2-

IPrintCorePS2::EnumOptions