Freigeben über


GetPrintProcessorCapabilities-Funktion (winsplp.h)

Die GetPrintProcessorCapabilities-Funktion eines Druckprozessors gibt Funktionen zurück, die einem angegebenen Eingabedatentyp zugeordnet sind.

Syntax

DWORD GetPrintProcessorCapabilities(
  [in]  LPTSTR  pValueName,
  [in]  DWORD   dwAttributes,
  [out] LPBYTE  pData,
  [in]  DWORD   nSize,
  [out] LPDWORD pcbNeeded
);

Parameter

[in] pValueName

Vom Aufrufer bereitgestellter Zeiger auf eine Zeichenfolge, die einen Datentyp darstellt, der vom Druckprozessor unterstützt wird. Der Zeichenfolgenzeiger muss vom Typ LPWSTR sein.

[in] dwAttributes

Vom Aufrufer bereitgestellte Attribute flags. Weitere Informationen finden Sie im Attributes-ElementPRINTER_INFO_x-Strukturen .

[out] pData

Vom Aufrufer bereitgestellter Zeiger auf eine PRINTPROCESSOR_CAPS_1- oder PRINTPROCESSOR_CAPS_2-Struktur .

[in] nSize

Vom Aufrufer bereitgestellter Wert, der die Größe des Puffers darstellt, auf den pData verweist.

Wenn der Wert kleiner als sizeof(PRINTPROCESSOR_CAPS_1 ist), sollte diese Funktion einen Wert bereitstellen, der dem Wert sizeof(PRINTPROCESSOR_CAPS_1) oder sizeof(PRINTPROCESSOR_CAPS_2 entspricht), je nachdem, welche Struktur vom Druckprozessor unterstützt wird.

Wenn der Wert kleiner als sizeof(PRINTPROCESSOR_CAPS_1 ist), gibt der Winprint-Druckprozessor den Wert sizeof(PRINTPROCESSOR_CAPS_2) an.

[out] pcbNeeded

Vom Aufrufer bereitgestellter Zeiger auf einen Speicherort, um die erforderliche Mindestgröße für den Puffer zu erhalten, auf den pData verweist.

Rückgabewert

Wenn der Vorgang erfolgreich ist, sollte die Funktion ERROR_SUCCESS zurückgeben. Andernfalls sollte ein Win32-Fehlercode zurückgegeben werden.

Hinweise

Druckprozessoren können optional eine GetPrintProcessorCapabilities-Funktion exportieren. Der Zweck der Funktion besteht darin, eine ausgefüllte PRINTPROCESSOR_CAPS_1- oder PRINTPROCESSOR_CAPS_2-Struktur für jeden Eingabedatentyp zurückzugeben, den der Druckprozessor unterstützt.

Der Spooler ruft die GetPrintProcessorCapabilities-Funktion eines Druckprozessors auf, wenn eine Anwendung GetPrinterData aufruft und einen Wertnamen mit dem Format PrintProcCaps_datatype angibt, wobei datentyp der Name eines Eingabedatentyps ist. Vor dem Aufrufen von GetPrintProcessorCapabilities entfernt der Spooler das Präfix PrintProcCaps_ aus der Wertnamenzeichenfolge.

Die Funktion sollte ermitteln, ob der empfangene Puffer groß genug ist, und sollte, wenn dies der Grund ist, entweder die PRINTPROCESSOR_CAPS_1 oder PRINTPROCESSOR_CAPS_2 Struktur ausfüllen und zurückgeben. Der Wert von nSize bestimmt, ob PRINTPROCESSOR_CAPS_1 oder PRINTPROCESSOR_CAPS_2 verwendet wird.

Die Funktion sollte immer die Position verwenden, auf die von pcbNeeded verwiesen wird, um die erforderliche Puffergröße zurückzugeben, unabhängig davon, ob der tatsächliche Puffer groß genug ist oder nicht.

Der angegebene Rückgabewert wird zum Rückgabewert, den der Spooler für GetPrinterData bereitstellt.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile winsplp.h (einschließlich Winsplp.h)