Freigeben über


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

Zeigen Sie auf den aktuellen Kontext, eine OEMUIOBJ--Struktur.

[in] dwFlags

Ist reserviert und muss auf Null festgelegt werden.

[in] pszFeatureKeyword

Zeigen Sie auf einen vom Aufrufer bereitgestellten Puffer, der das schlüsselwort des einzelnen Features enthält, das für den Aufrufer von Interesse ist.

[out] pmszConstrainedOptionList

Zeigen Sie auf einen vom Aufrufer bereitgestellten Puffer, der die Liste der Optionsstichwörter im MULTI_SZ Format für dieses Feature empfängt. Jedes Schlüsselwort stellt eine Option dar, die in der aktuellen Konfiguration eingeschränkt ist.

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

[in] cbSize

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

[out] pcbNeeded

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

Rückgabewert

Diese Methode muss einen der folgenden Werte zurückgeben.

Rückgabecode Beschreibung
S_OK
Die Methode war erfolgreich. 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 setzen, auf den pmszConstrainedOptionListverweist, 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 pmszConstrainedOptionListverweist).

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

E_INVALIDARG
Die Zeichenfolge, auf die pszFeatureKeyword verweist, war kein erkanntes Feature.

Der poemuiobj Parameter, der auf ein ungültiges Kontextobjekt verweist.

Die Klebigkeit des Features stimmte nicht mit der des Kontextobjekts überein, auf das von peomuiobjverwiesen wurde. (Siehe Ersetzen Driver-Supplied Eigenschaftenblattseiten.)

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

Bemerkungen

Diese Methode wird nur für Windows XP Pscript5 UI-Plug-Ins unterstützt, die die Standard-UI-Seiten des Haupttreibers vollständig ersetzen und nur während der IPrintOemUI::D ocumentPropertySheets und IPrintOemUI::D evicePropertySheets Funktionen und deren Eigenschaftenblattrückrufroutinen unterstützt. Weitere Informationen finden Sie unter Ersetzen Driver-Supplied Eigenschaftenblattseiten.

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.

Anforderungen

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

Siehe auch

IPrintCoreUI2-

IPrintCoreUI2::WhyConstrained

IPrintOemUI::D evicePropertySheets

IPrintOemUI::D ocumentPropertySheets

OEMUIOBJ-