Freigeben über


IPrintCorePS2::GetOptionAttribute-Methode (prcomoem.h)

Die IPrintCorePS2::GetOptionAttribute-Methode ruft die Optionsattributeliste oder den Wert eines bestimmten Optionsattributes ab.

Syntax

HRESULT GetOptionAttribute(
  [in]  PDEVOBJ pdevobj,
  [in]  DWORD   dwFlags,
  [in]  PCSTR   pszFeatureKeyword,
  [in]  PCSTR   pszOptionKeyword,
  [in]  PCSTR   pszAttribute,
  [out] PDWORD  pdwDataType,
  [out] PBYTE   pbData,
  [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] pszFeatureKeyword

Zeiger auf einen vom Aufrufer bereitgestellten Puffer, der eine ASCII-Zeichenfolge enthält, die das einzelne Feature-Schlüsselwort angibt, nach dem gesucht werden soll.

[in] pszOptionKeyword

Zeiger auf einen vom Aufrufer bereitgestellten Puffer, der eine ASCII-Zeichenfolge enthält, die das schlüsselwort für einzelne Option angibt, nach dem gesucht werden soll. Dieser Wert kann aus einem vorherigen Aufruf von IPrintCorePS2::EnumOptionsabgerufen werden.

[in] pszAttribute

Zeiger auf einen vom Aufrufer bereitgestellten Puffer, der eine ASCII-Zeichenfolge enthält, die das angeforderte einzelne Attribut angibt. Wenn dieser Parameter NULL-ist, fordert der Aufrufer eine Liste aller unterstützten Attributnamen für die Option an, anstatt einen bestimmten Attributnamen für die Option anzugeben.

[out] pdwDataType

Zeigen Sie auf einen Speicherspeicherort, der einen Wert empfängt, der den Datentyp des angeforderten Attributs angibt. Dieser Wert ist ein Enumerator der EATTRIBUTE_DATATYPE-Aufzählung, die in printoem.h definiert ist.

[out] pbData

Zeiger auf einen vom Aufrufer bereitgestellten Puffer, der die angeforderten Daten empfängt. Um einfach die Anzahl der Bytes abzufragen, die zum Erfüllen einer Anforderung erforderlich sind, legen Sie diesen Parameter auf NULL-fest.

[in] cbSize

Gibt die Größe in Byte des Puffers an, auf den pbData-verweist.

[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 pbData-verweist).

Die Methode wurde aufgerufen, wobei pbData- auf NULL-festgelegt wurde.

E_INVALIDARG
Die Methode hat versucht, ein nicht vorhandenes Attribut abzufragen.

Der Schlüsselwort- oder Optionswortname des Features wurde nicht erkannt.

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

E_FAIL
Fehler bei der Methode.

Bemerkungen

Wenn diese Methode mit der pszAttribute- aufgerufen wird und PbData-Parameter auf NULL-festgelegt ist, gibt die Methode mit *pcbNeededed auf die Anzahl der für die Liste aller unterstützten Attributnamen für die Option erforderlichen Bytes festgelegt. Wenn die Methode ein zweites Mal aufgerufen wird, wobei pszAttribute auf NULL- und pbData- auf einen Puffer der in *pcbNeededed im vorherigen Aufruf zeigen, die Methode gibt mit *pdwDataType- auf kADT_ASCII festgelegt (ein Enumerationsator des EATTRIBUTE_DATATYPE Enumerationstyps) und pbData- auf eine durch Null getrennte Liste aller unterstützten Attributnamen für die Option. Diese Liste wird mit zwei Nullzeichen beendet.

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 GetOptionAttribute.

Anforderungen

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

Siehe auch

DEVOBJ-

IPrintCorePS2-

IPrintCorePS2::EnumOptions

IPrintCorePS2::GetFeatureAttribute

IPrintCorePS2::GetGlobalAttribute