IPrintCoreUI2::EnumConstrainedOptions-Methode (prcomoem.h)

Die IPrintCoreUI2::EnumConstrainedOptions -Methode bestimmt, welche Optionen eines Features eingeschränkt sind.

Syntax

HRESULT EnumConstrainedOptions(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [in]  PCSTR     pszFeatureKeyword,
  [out] PZZSTR    pmszConstrainedOptionList,
  [in]  DWORD     cbSize,
  [out] PDWORD    pcbNeeded
);

Parameter

[in] poemuiobj

Zeiger auf den aktuellen Kontext, eine OEMUIOBJ-Struktur .

[in] dwFlags

Ist reserviert und muss auf null festgelegt werden.

[in] pszFeatureKeyword

Zeiger auf einen vom Aufrufer bereitgestellten Puffer mit dem einzelnen Feature Schlüsselwort (keyword) für den Aufrufer von Interesse.

[out] pmszConstrainedOptionList

Zeiger auf einen vom Aufrufer bereitgestellten Puffer, der die Liste der Optionsschlüsselwörter in MULTI_SZ Format für dieses Feature empfängt. Jede Schlüsselwort (keyword) stellt eine Option dar, die in der aktuellen Konfiguration eingeschränkt ist.

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

[in] cbSize

Gibt die Größe des Puffers in Bytes an, auf den von pmszConstrainedOptionList verwiesen wird.

[out] pcbNeeded

Zeiger auf einen Speicherspeicherort, der die tatsächliche Größe der eingeschränkten Optionsliste 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. Die -Methode sollte diesen Wert auch zurückgeben, wenn keine der Optionen des Features eingeschränkt ist. In diesem Fall sollte die Methode ein NULL-Zeichen in den Puffer platzieren, auf den von pmszConstrainedOptionList verwiesen wird, und **pcbNeeded* auf 1 festlegen.
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 pmszConstrainedOptionList verwiesen wird).

Die Methode wurde aufgerufen, wobei pmszConstrainedOptionList auf NULL festgelegt ist.

E_INVALIDARG
Die Zeichenfolge, auf die von pszFeatureKeyword verwiesen wird, war kein erkanntes Feature.

Der parameter poemuiobj verweist auf ein ungültiges Kontextobjekt.

Die Klebigkeit des Features entsprach nicht der des Kontextobjekts, auf das peomuiobj verweist. (Siehe Ersetzen Driver-Supplied Eigenschaftenblattseiten.)

E_FAIL
Fehler bei der Methode.
E_NOTIMPL
Die Methode wird nicht unterstützt.

Hinweise

Diese Methode wird nur für Windows XP Pscript5-Benutzeroberflächen-Plug-Ins unterstützt, die die Standardbenutzeroberflächenseiten des Kerntreibers vollständig ersetzen, und wird nur während der Funktionen IPrintOemUI::D ocumentPropertySheets und IPrintOemUI::D evicePropertySheets und deren Eigenschaftenblatt-Rückrufroutinen unterstützt. Weitere Informationen finden Sie unter Ersetzen Driver-Supplied Eigenschaftenblattseiten .

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.

Anforderungen

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

Weitere Informationen

IPrintCoreUI2

IPrintCoreUI2::WhyConstrained

IPrintOemUI::D evicePropertySheets

IPrintOemUI::D ocumentPropertySheets

OEMUIOBJ