Freigeben über


IPrintCoreHelper::WhyConstrained-Methode (prcomoem.h)

Die IPrintCoreHelper::WhyConstrained-Methode stellt eine Liste der Optionen bereit, die das angegebene Featureoptionspaar in der aktuellen Konfiguration einschränken.

Syntax

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

Parameter

[in] pDevmode

Ein Zeiger auf eine DEVMODEW--Struktur. Wenn dieser Zeiger bereitgestellt wird, sollten IPrintCoreHelper::WhyConstrained die DEVMODEW-Struktur verwenden, auf die von pDevmode- anstelle der Standard- oder der aktuellen DEVMODEW-Struktur verwiesen wird. Wenn diese Methode vom Plug-In-Anbieter oder von IPrintOemPS::D evMode oder IPrintOemUni::D evModeaufgerufen 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 und nicht die der übergebenen DEVMODEW-Struktur. Dies ist bei Vorgängen wie dem vollständigen Austausch der Benutzeroberfläche erforderlich, wobei 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, auf die durch den pDevmode-Parameter verwiesen wird.

[in] pszFeatureKeyword

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

[in] pszOptionKeyword

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

[out] ppFOConstraints

Ein Zeiger auf ein Array von PRINT_FEATURE_OPTION Elementen. Wenn IPrintCoreHelper::WhyConstrained zurückgegeben wird, enthält das Array eine Liste der Featureelementpaare der Optionen, die die optionen einschränken, die im pszOptionKeyword Parameter angegeben sind.

[out] pdwNumOptions

Ein Zeiger auf eine Variable, die die Anzahl der Featureoptionspaare im Array empfängt, auf das durch den ppFOConstraints Parameter verwiesen wird.

Rückgabewert

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

Rückgabecode Beschreibung
S_OK
Der Vorgang war erfolgreich.
E_INVALIDARG
Mindestens ein Argument ist ungültig, oder das Feature wurde nicht unterstützt.
E_OUTOFMEMORY
Speicher für das Ergebnisarray konnte nicht zugeordnet werden.

Bemerkungen

Wenn das angegebene Featureoptionspaar nicht eingeschränkt ist, gibt IPrintCoreHelper::WhyConstrained- S_OK zurück, gibt aber mit *pdwFOPairs auf 0 und mit *ppFOConstraints[0] zurück, das 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. Bei Unidrv-Treibern enthält diese Liste mindestens eine Option aus jeder Gruppe von Einschränkungen, die aktiv sind. Wenn ungültige Kombinationen vorhanden sind, die mehr als zwei Featureoptionspaare auflisten, wird jedoch nur eine Option aus der Kombination in die Liste aufgenommen.

Anforderungen

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

Siehe auch

IPrintCoreHelper-

IPrintCoreHelper::EnumConstrainedOptions