IPrintCoreUI2::GetOptionAttribute-Methode (prcomoem.h)

Die IPrintCoreUI2::GetOptionAttribute -Methode ruft die Optionsattributeliste oder den Wert eines bestimmten Optionsattributs ab.

Syntax

HRESULT GetOptionAttribute(
  [in]  POEMUIOBJ poemuiobj,
  [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] poemuiobj

Zeiger auf den aktuellen Kontext, eine OEMUIOBJ-Struktur .

[in] dwFlags

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

[in] pszFeatureKeyword

Zeiger auf einen vom Aufrufer bereitgestellten Puffer, der eine ASCII-Zeichenfolge enthält, die das einzelne Feature angibt, das Schlüsselwort (keyword) abfragen soll.

[in] pszOptionKeyword

Zeiger auf einen vom Aufrufer bereitgestellten Puffer, der eine ASCII-Zeichenfolge enthält, die die einzelne Option angibt, die Schlüsselwort (keyword) abfragen soll. Dieser Wert kann von einem vorherigen Aufruf von IPrintCoreUI2::EnumOptions abgerufen 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

Zeiger auf einen Speicherort, der einen Wert empfängt, der den Datentyp des angeforderten Attributs angibt. Dieser Wert ist ein Enumerator der EATTRIBUTE_DATATYPE-Enumeration .

[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 des Puffers in Byte an, auf den pbData 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 pbData verweist).

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

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

Der Name des Features Schlüsselwort (keyword) oder die Option Schlüsselwort (keyword) Namen wurden nicht erkannt.

Der poemuiobj-Parameter verweist auf ein ungültiges Kontextobjekt.

E_FAIL
Fehler bei der Methode

Hinweise

Diese Methode wird nur für Windows XP Pscript5-Plug-Ins und nicht für Unidrv-Plug-Ins unterstützt.

Wenn diese Methode aufgerufen wird, wobei die Parameter pszAttribute und pbData auf NULL festgelegt sind, gibt die Methode mit *pcbNeeded auf die Anzahl der Bytes zurück, die für die Liste aller unterstützten Attributnamen für die Option erforderlich sind. Wenn die Methode ein zweites Mal aufgerufen wird, wobei pszAttribute auf NULL festgelegt ist und pbData auf einen Puffer der größe zeigt, die im vorherigen Aufruf in *pcbNeeded angegeben wurde, gibt die Methode zurück, wobei *pdwDataType auf kADT_ASCII festgelegt ist (ein Enumerator des EATTRIBUTE_DATATYPE enumerated type) und pbData , der auf eine durch NULL getrennte Liste aller unterstützten Attributnamen für die Option verweist. Diese Liste wird mit zwei NULL-Zeichen beendet.

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.

Weitere Informationen finden Sie unter Verwenden von GetOptionAttribute.

Anforderungen

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

Weitere Informationen

IPrintCoreUI2

IPrintCoreUI2::EnumOptions

IPrintCoreUI2::GetFeatureAttribute

IPrintCoreUI2::GetGlobalAttribute

OEMUIOBJ