DrvDeviceCapabilities-Funktion (winddiui.h)

Die DrvDeviceCapabilities-Funktion einer Druckerschnittstellen-DLL gibt angeforderte Informationen zu den Funktionen eines Druckers zurück.

Syntax

DWORD DrvDeviceCapabilities(
                 HANDLE   hPrinter,
  [in]           PWSTR    pszDeviceName,
                 WORD     Capability,
  [out]          PVOID    pOutput,
  [in, optional] PDEVMODE pDevmode
);

Parameter

hPrinter

Vom Anrufer bereitgestellter Druckerhandle.

[in] pszDeviceName

Vom Aufrufer bereitgestellter Zeiger auf eine Druckernamenzeichenfolge.

Capability

Vom Aufrufer bereitgestelltes Bitflag, das die angeforderten Informationen angibt. Dies kann eines der flags sein, die in der folgenden Tabelle aufgeführt sind. (Die Flags sind in der Headerdatei Wingdi.h definiert.)

Flag Definition
DC_BINADJUST Wird für NT-basierte Betriebssysteme nicht verwendet.
DC_BINNAMES Der pOutput-Parameter verweist auf einen Puffer, den die Funktion mit einem Array von Zeichenfolgenpuffern füllen soll, die jeweils 24 Zeichen lang sind. Jeder Zeichenfolgenpuffer im Array sollte eine Breitzeichenzeichenfolge mit NULL-Termin enthalten, die den Namen eines Papierquellbehälters angibt. Der Rückgabewert der Funktion sollte die Anzahl der Elemente im zurückgegebenen Array sein. Wenn pOutputNULL ist, sollte die Funktion nur die Anzahl der erforderlichen Arrayelemente zurückgeben.
DC_BINS Der Parameter pOutput verweist auf einen Puffer, den die Funktion mit einem WORD-Array füllen soll. Jedes Arrayelement sollte eine Konstante (oder einen benutzerdefinierten Wert) mit DMBIN-Präfix enthalten, die einen unterstützten Papierquellbehälter darstellt. Der Rückgabewert der Funktion sollte die Anzahl der Elemente im zurückgegebenen Array sein. Wenn pOutputNULL ist, sollte die Funktion nur die Anzahl der erforderlichen Arrayelemente zurückgeben.
DC_COLLATE Der pOutput-Parameter wird nicht verwendet. Der Rückgabewert der Funktion sollte 1 sein, wenn der Drucker die Sortierung unterstützt. Andernfalls sollte der Rückgabewert null sein.
DC_COLORDEVICE Der pOutput-Parameter wird nicht verwendet. Der Rückgabewert der Funktion sollte 1 sein, wenn der Drucker den Farbdruck unterstützt. Andernfalls sollte der Rückgabewert null sein.
DC_COPIES Der pOutput-Parameter wird nicht verwendet. Der Rückgabewert der Funktion sollte die maximale Anzahl von Kopien sein, die der Drucker unterstützen kann.
DC_DATATYPE_PRODUCED Wird für NT-basierte Betriebssysteme nicht verwendet.
DC_DRIVER Der pOutput-Parameter wird nicht verwendet. Der Rückgabewert der Funktion sollte der dmDriverVersion-Member der internen [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew)-Struktur des Treibers sein.
DC_DUPLEX Der pOutput-Parameter wird nicht verwendet. Der Rückgabewert der Funktion sollte 1 sein, wenn der Drucker Duplexdruck unterstützt. Andernfalls sollte der Rückgabewert null sein.
DC_EMF_COMPLIANT Wird für NT-basierte Betriebssysteme nicht verwendet.
DC_ENUMRESOLUTIONS Der Parameter pOutput verweist auf einen Puffer, den die Funktion mit einem LONG-Array füllen soll. Für jede vom Drucker unterstützte Auflösung sollte die Funktion zwei lange Wörter (eines für die x-Dimension und eines für die y-Dimension ) der Auflösung in Punkt pro Zoll zurückgeben. Der Rückgabewert der Funktion sollte die Anzahl der unterstützten Auflösungen sein. Wenn pOutputNULL ist, sollte die Funktion nur die Anzahl der unterstützten Auflösungen zurückgeben.
DC_EXTRA Der pOutput-Parameter wird nicht verwendet. Der Rückgabewert der Funktion sollte der dmDriverExtra-Member der internen [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew)-Struktur des Treibers sein.
DC_FIELDS Der pOutput-Parameter wird nicht verwendet. Der Rückgabewert der Funktion sollte der dmFields-Member der internen [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew)-Struktur des Treibers sein. Das dmFields-Element gibt an, welche Member im geräteunabhängigen Teil der DEVMODEW-Struktur vom Druckertreiber unterstützt werden.
DC_FILEDEPENDENCIES Der Parameter pOutput verweist auf einen Puffer, den die Funktion mit einem Array von Zeichenfolgenpuffern füllen soll, die jeweils 64 Zeichen lang sind. Jeder Zeichenfolgenpuffer im Array sollte eine Breitzeichenzeichenfolge mit NULL-Termin enthalten, die den Namen einer Datei angibt, die mit dem Treiber installiert werden muss. Der Rückgabewert der Funktion sollte die Anzahl der Elemente im zurückgegebenen Array sein. Wenn pOutputNULL ist, sollte die Funktion nur die Anzahl der erforderlichen Arrayelemente zurückgeben.
DC_MANUFACTURER Wird für NT-basierte Betriebssysteme nicht verwendet.
DC_MAXEXTENT Der pOutput-Parameter wird nicht verwendet. Die Funktion sollte eine POINTS-Struktur zurückgeben (die in der Microsoft Windows SDK-Dokumentation beschrieben wird). Die -Struktur sollte die maximal zulässigen Werte für die Elemente dmPaperWidth (x-Dimension ) und dmPaperLength (y-Dimension ) der DEVMODEW-Struktur des Druckers enthalten.
DC_MEDIAREADY Der Parameter pOutput verweist auf einen Puffer, den die Funktion mit einem Array von Zeichenfolgenpuffern füllen soll, die jeweils 64 Zeichen lang sind. Jeder Zeichenfolgenpuffer im Array sollte eine Breitzeichenzeichenfolge mit NULL-Termin enthalten, die den Namen eines Papierformulars angibt, das zur Verwendung verfügbar ist. Der Rückgabewert der Funktion sollte die Anzahl der Elemente im zurückgegebenen Array sein. Wenn pOutputNULL ist, sollte die Funktion nur die Anzahl der erforderlichen Arrayelemente zurückgeben.
DC_MEDIATYPENAMES Der Parameter pOutput verweist auf einen Puffer, den die Funktion mit einem Array von Zeichenfolgenpuffern füllen soll, die jeweils 64 Zeichen lang sind. Jeder Zeichenfolgenpuffer im Array sollte eine Breitzeichenzeichenfolge mit NULL-Termin enthalten, die den Namen eines unterstützten Medientyps angibt. Der Rückgabewert der Funktion sollte die Anzahl der Elemente im zurückgegebenen Array sein. Wenn pOutputNULL ist, sollte die Funktion einfach die Anzahl der erforderlichen Arrayelemente zurückgeben.
DC_MEDIATYPES Der Parameter pOutput verweist auf einen Puffer, den die Funktion mit einem DWORD-Array füllen soll. Jedes Arrayelement sollte eine DMMEDIA-Präfixkonstante (siehe die Struktur [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) oder einen angepassten Wert enthalten, der einen unterstützten Medientyp darstellt. Der Rückgabewert der Funktion sollte die Anzahl der Elemente im zurückgegebenen Array sein. Wenn pOutputNULL ist, sollte die Funktion einfach die Anzahl der erforderlichen Arrayelemente zurückgeben.
DC_MINEXTENT Der pOutput-Parameter wird nicht verwendet. Die Funktion sollte eine POINTS-Struktur zurückgeben (die in der Windows SDK-Dokumentation beschrieben wird). Die -Struktur sollte die minimal zulässigen Werte für die Elemente dmPaperWidth (x-Dimension ) und dmPaperLength (y-Dimension ) der DEVMODEW-Struktur des Druckers enthalten.
DC_MODEL Wird für NT-basierte Betriebssysteme nicht verwendet.
DC_NUP Der Parameter pOutput verweist auf einen Puffer, den die Funktion mit einem DWORD-Array füllen soll. Jedes Arrayelement sollte eine ganze Zahl enthalten, die eine N-up-Option darstellt (d. a. jede ganze Zahl sollte eine unterstützte Anzahl von Dokumentseiten pro physischer Seite darstellen). Der Rückgabewert der Funktion sollte die Anzahl der Elemente im zurückgegebenen Array sein. Wenn pOutputNULL ist, sollte die Funktion nur die Anzahl der erforderlichen Arrayelemente zurückgeben.
DC_ORIENTATION Der pOutput-Parameter wird nicht verwendet. Der Rückgabewert der Funktion sollte die Anzahl der Drehungsgrade sein, die erforderlich sind, um eine Querformatausrichtung aus der Hochformatausrichtung zu erzeugen. Der Wert 0 (null) gibt an, dass die Ausrichtung im Querformat nicht unterstützt wird.
DC_PAPERNAMES Der pOutput-Parameter verweist auf einen Puffer, den die Funktion mit einem Array von Zeichenfolgenpuffern füllen soll, die jeweils 64 Zeichen lang sind. Jeder Zeichenfolgenpuffer im Array sollte eine BREITZEICHEN-, NULL-Zeichenfolge enthalten, die den Namen eines Papierformulars angibt. Der Rückgabewert der Funktion sollte die Anzahl der Elemente im zurückgegebenen Array sein. Wenn pOutputNULL ist, sollte die Funktion nur die Anzahl der erforderlichen Arrayelemente zurückgeben.
DC_PAPERS Der pOutput-Parameter verweist auf einen Puffer, den die Funktion mit einem WORD-Array füllen soll. Jedes Arrayelement sollte eine DMPAPER-Präfixkonstante (oder einen angepassten Wert) enthalten, der ein unterstütztes Papierformular darstellt. Der Rückgabewert der Funktion sollte die Anzahl der Elemente im zurückgegebenen Array sein. Wenn pOutputNULL ist, sollte die Funktion nur die Anzahl der erforderlichen Arrayelemente zurückgeben.
DC_PAPERSIZE Der pOutput-Parameter verweist auf einen Puffer, den die Funktion mit einem POINT-Array füllen soll. Jedes Arrayelement sollte die x - und y-Dimensionen des Papierformats eines Formulars in 0,1 mm Einheiten im Hochformat enthalten. Der Rückgabewert der Funktion sollte die Anzahl der Elemente im zurückgegebenen Array sein. Wenn pOutputNULL ist, sollte die Funktion nur die Anzahl der erforderlichen Arrayelemente zurückgeben.
DC_PERSONALITY Der pOutput-Parameter verweist auf einen Puffer, den die Funktion mit einem Array von Zeichenfolgenpuffern füllen soll, die jeweils 32 Zeichen lang sind. Jeder Zeichenfolgenpuffer im Array sollte eine Breitzeichenzeichenfolge enthalten, die NULL beendet ist, die die vom Drucker unterstützte Druckerbeschreibungssprache angibt (z. B. L"HP-GL/2"). Der Rückgabewert der Funktion sollte die Anzahl der Elemente im zurückgegebenen Array sein. Wenn pOutputNULL ist, sollte die Funktion nur die Anzahl der erforderlichen Arrayelemente zurückgeben.
DC_PRINTERMEM Der pOutput-Parameter wird nicht verwendet. Der Rückgabewert der Funktion sollte eine ganze Zahl sein, die die Menge des verfügbaren Druckerspeichers in Kilobyte darstellt.
DC_PRINTRATE Der pOutput-Parameter wird nicht verwendet. Der Rückgabewert der Funktion sollte eine ganze Zahl sein, die die Druckrate in den für DC_PRINTRATEUNIT angegebenen Einheiten darstellt.
DC_PRINTRATEPPM Der pOutput-Parameter wird nicht verwendet. Der Rückgabewert der Funktion sollte eine ganze Zahl sein, die die Druckrate in Seiten pro Minute darstellt.
DC_PRINTRATEUNIT Der pOutput-Parameter wird nicht verwendet. Der Rückgabewert der Funktion sollte die Einheiten identifizieren, die zum Angeben des für DC_PRINTRATE zurückgegebenen Werts verwendet werden. Eine der folgenden Konstanten muss angegeben werden: PRINTRATEUNIT_PPM – Pages/min. PRINTRATEUNIT_CPS – chars./sec. PRINTRATEUNIT_LPM – Zeilen/Min. PRINTRATEUNIT_IPM – Zoll/Min.
DC_SIZE Der pOutput-Parameter wird nicht verwendet. Der Rückgabewert der Funktion sollte der dmSize-Member der internen [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew)-Struktur des Treibers sein.
DC_STAPLE Der pOutput-Parameter wird nicht verwendet. Der Rückgabewert der Funktion sollte TRUE sein, wenn der Drucker Heften unterstützt, und FALSE , wenn der Drucker das Heften nicht unterstützt.
DC_TRUETYPE Der pOutput-Parameter wird nicht verwendet. Der Rückgabewert der Funktion kann null, mindestens eins oder mehrere der folgenden Flags sein: DCTT_BITMAP: Das Gerät kann TrueType-Schriftarten als Grafiken drucken. DCTT_DOWNLOAD: Das Gerät kann heruntergeladene TrueType-Schriftarten akzeptieren. DCTT_DOWNLOAD_OUTLINE: (nur Windows 95/98/Me) Das Gerät kann Gliederungs-TrueType-Schriftarten herunterladen. DCTT_SUBDEV: Das Gerät kann Geräteschriftarten durch TrueType-Schriftarten ersetzen.
DC_VERSION Der pOutput-Parameter wird nicht verwendet. Der Rückgabewert der Funktion sollte der dmSpecVersion-Member der internen [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew)-Struktur des Treibers sein.

[out] pOutput

Ein vom Aufrufer bereitgestellter Zeiger auf einen Puffer, um von der Funktion bereitgestellte Informationen zu empfangen. Die Verwendung des Puffers hängt vom Wert ab, der für den Capability-Parameter empfangen wird.

[in, optional] pDevmode

Ein vom Aufrufer bereitgestellter Zeiger auf eine DEVMODEW-Struktur , die die aktuellen Eigenschaften des Druckauftrags beschreibt. Wenn dieser Parameter NULL ist, ruft DrvDeviceCapabilities die aktuellen Standardinitialisierungswerte für den angegebenen Druckertreiber ab, z. B. die DEVMODEW-Standardstruktur des Benutzers der Druckwarteschlange.

Rückgabewert

Der Rückgabewert der Funktion ist vom Wert abhängig, der für den Capability-Parameter empfangen wird. Wenn der empfangene Wert "Capability" eine Funktion darstellt, die vom Treiber nicht unterstützt wird, oder wenn ein Fehler auftritt, sollte die Funktion GDI_ERROR zurückgeben.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile winddiui.h (include Winddiui.h)