Freigeben über


IPrintCoreHelperUni::WhyConstrained-Methode (prcomoem.h)

Die IPrintCoreHelperUni::WhyConstrained -Methode stellt eine Liste von Optionen bereit, die das angegebene Feature-Options-Paar in der aktuellen Konfiguration einschränken.

Syntax

HRESULT WhyConstrained(
  [in, optional] const DEVMODE              *pDevmode,
  [in]           DWORD                      cbSize,
  [in]           PCSTR                      pszFeatureKeyword,
  [in]           PCSTR                      pszOptionKeyword,
  [out]          const PRINT_FEATURE_OPTION **ppFOConstraints,
  [out]          DWORD                      *pdwNumOptions
);

Parameter

[in, optional] pDevmode

Ein Zeiger auf eine DEVMODEW-Struktur . Wenn dieser Zeiger bereitgestellt wird, sollte die DEVMODEW-Struktur verwendet werden, IPrintCoreHelperUni::WhyConstrained auf die von pDevmode anstelle der standardmäßigen oder aktuellen DEVMODEW-Struktur verwiesen wird. Wenn diese Methode vom Plug-In-Anbieter oder von IPrintOemUni::D evMode aufgerufen wird, ist dieser Parameter erforderlich. In den meisten anderen Situationen sollte der Parameter NULL sein. Wenn der Kerntreiber pDevmode auf NULL festlegt, ändert er seinen internen Zustand anstelle der übergebenen DEVMODEW-Struktur. Dies ist bei Vorgängen wie dem vollständigen Austausch der Benutzeroberfläche erforderlich, bei denen die von einem DDI zurückgegebene DEVMODEW-Struktur, z. B . DrvDocumentPropertySheets, vom Benutzeroberflächenmodul des Kerntreibers gewartet wird.

[in] cbSize

Die Größe der DEVMODEW-Struktur in Bytes, auf die der pDevmode-Parameter verweist.

[in] pszFeatureKeyword

Ein Zeiger auf eine ANSI-Zeichenfolge, die den Namen des Features enthält. Der Featurename sollte dem Schlüsselwort (keyword) entsprechen, der in der GPD-Datei verwendet wird.

[in] pszOptionKeyword

Ein Zeiger auf eine ANSI-Zeichenfolge, die den Namen der Option enthält. Der Optionsname sollte dem Schlüsselwort (keyword) entsprechen, der in der GPD-Datei verwendet wird.

[out] ppFOConstraints

Ein Zeiger auf ein Array von PRINT_FEATURE_OPTION Elementen. Wenn IPrintCoreHelperUni::WhyConstrained das Array zurückgegeben wird, enthält das Array eine Liste von Feature-Element-Paaren der Optionen, die die im pszOptionKeyword-Parameter angegebenen Optionen einschränken.

[out] pdwNumOptions

Ein Zeiger auf eine Variable, die die Anzahl von Feature-Option-Paaren im Array empfängt, auf das der ppFOConstraints-Parameter verweist.

Rückgabewert

IPrintCoreHelperUni::WhyConstrained sollte einen der folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Der Vorgang wurde erfolgreich ausgeführt.
E_INVALIDARG
Mindestens eines der Argumente ist ungültig, oder das Feature wurde nicht unterstützt.
E_OUTOFMEMORY
Arbeitsspeicher für das Ergebnisarray konnte nicht zugewiesen werden.
 

Bei anderen Fehlern sollte die Methode einen standardmäßigen COM-Fehlercode zurückgeben.

Hinweise

Wenn das angegebene Feature-Option-Paar nicht eingeschränkt ist, IPrintCoreHelperUni::WhyConstrained gibt S_OK zurück, wird jedoch zurückgegeben, wobei *pdwFOPairs auf 0 und *ppFOConstraints[0] auf NULL festgelegt ist.

Beachten Sie, dass die Ergebnisse dieser Methode möglicherweise nicht alle Optionen enthalten, die sich auf die aktuell ausgewählte Option auswirken. Wenn es jedoch ungültige Kombinationen gibt, die mehr als zwei Feature-Options-Paare auflisten, wird nur eine Option aus der Kombination in die Liste aufgenommen.

Anforderungen

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

Weitere Informationen

IPrintCoreHelperUni

IPrintCoreHelperUni::EnumConstrainedOptions