Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die IPrintCoreUI2::WhyConstrained-Methode bestimmt, warum die angegebene Feature-/Optionsauswahl eingeschränkt ist.
Syntax
HRESULT WhyConstrained(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[in] PCSTR pszFeatureKeyword,
[in] PCSTR pszOptionKeyword,
[out] PZZSTR pmszReasonList,
[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.
[in] pszOptionKeyword
Zeiger auf einen vom Aufrufer bereitgestellten Puffer, der das Optionsschlüsselwort enthält.
[out] pmszReasonList
Zeiger auf einen vom Aufrufer bereitgestellten Puffer, der eine Liste der Feature-/Option-Schlüsselwortpaare empfängt, die Einschränkungen für das angegebene Feature/die angegebene Option platzieren. Diese Liste weist MULTI_SZ Format auf, wobei jedes Element in der Liste durch ein Nullzeichen getrennt ist. Die Liste wird mit zwei Nullzeichen beendet.
Legen Sie diesen Parameter auf NULL- fest, um einfach die Größe (*pcbNeed) der Grundliste abzufragen, ohne die Liste ausgefüllt zu haben.
[in] cbSize
Gibt die Größe des Puffers in Bytes an, auf den pmszReasonListverweist.
[out] pcbNeeded
Zeigen Sie auf einen Speicherspeicherort, der die tatsächliche Größe in Byte der Grundliste empfängt.
Rückgabewert
Die Methode muss einen der folgenden Werte zurückgeben.
| Rückgabecode | Beschreibung |
|---|---|
|
Die Methode war erfolgreich. |
|
Der Wert in cbSize war kleiner als die Anzahl der Bytes, die in den Ausgabepuffer geschrieben werden sollen (der Puffer, auf den pmszReasonListverweist).
Die Methode wurde mit pmszReasonList aufgerufen, auf NULL-festgelegt wurde. |
|
Die Methode wird nicht unterstützt. |
|
Der poemuiobj Parameter, der auf ein ungültiges Kontextobjekt verweist.
Das Schlüsselwort oder das Optionswort des Features wurde nicht erkannt. Die Klebigkeit des Features (siehe Ersetzen Driver-Supplied Eigenschaftenblattseiten) stimmte nicht mit dem im aktuellen Kontext angegebenen überein. |
|
Fehler bei der Methode. |
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.
Wenn ein Benutzer der OEM-Benutzeroberfläche versucht, ein eingeschränktes Element auszuwählen, kann der Aufrufer diese Methode verwenden, um eine Meldung anzuzeigen, die erklärt, warum das Element eingeschränkt ist. Wenn diese Methode zurückgegeben wird, verweist pmszReasonList auf eine Liste mit einem oder mehreren Feature-/Optionspaaren, die in den aktuellen Treibereinstellungen angezeigt werden, aber mit den ausgewählten Feature-/Optionsstichwörtern in Konflikt stehen. Wenn keine Konflikte aufgetreten sind, sollte die Methode S_OK zurückgeben, pmszReasonList- mit einer leeren ASCII-Zeichenfolge gefüllt werden soll, die nur ein Nullzeichen enthält, und *pcbNeededed sollte auf 1 festgelegt werden.
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::EnumConstrainedOptions
IPrintOemUI::D evicePropertySheets