DeviceCapabilitiesW-Funktion (wingdi.h)
Die DeviceCapabilities Funktion ruft die Funktionen eines Druckertreibers ab.
Syntax
int DeviceCapabilitiesW(
[in] LPCWSTR pDevice,
[in] LPCWSTR pPort,
[in] WORD fwCapability,
[out] LPWSTR pOutput,
[in] const DEVMODEW *pDevMode
);
Parameter
[in] pDevice
Ein Zeiger auf eine mit Null beendete Zeichenfolge, die den Namen des Druckers enthält. Beachten Sie, dass dies der Name des Druckers und nicht des Druckertreibers ist.
[in] pPort
Ein Zeiger auf eine mit Null beendete Zeichenfolge, die den Namen des Ports enthält, mit dem das Gerät verbunden ist, z. B. LPT1.
[in] fwCapability
Die funktionen, die abgefragt werden sollen. Dieser Parameter kann einer der folgenden Werte sein:
Wert | Bedeutung |
---|---|
|
Ruft die Namen der Papierkörbe des Druckers ab. Der pOutput- Puffer empfängt ein Array von Zeichenfolgenpuffern. Jeder Zeichenfolgenpuffer ist 24 Zeichen lang und enthält den Namen eines Papierkorbs. Der Rückgabewert gibt die Anzahl der Einträge im Array an. Die Namenzeichenfolgen werden null beendet, es sei denn, der Name ist 24 Zeichen lang. Wenn pOutput-NULL-ist, ist der Rückgabewert die Anzahl der erforderlichen Bin-Einträge. |
|
Ruft eine Liste der verfügbaren Papierkörbe ab. Der pOutput Puffer empfängt ein Array von WORD- Werten, die die verfügbaren Papierquellen für den Drucker angeben. Der Rückgabewert gibt die Anzahl der Einträge im Array an. Eine Liste der möglichen Arraywerte finden Sie in der Beschreibung der dmDefaultSource- Member der DEVMODE--Struktur. Wenn pOutput-NULL-ist, gibt der Rückgabewert die erforderliche Anzahl von Einträgen im Array an. |
|
Wenn der Drucker die Sortierung unterstützt, lautet der Rückgabewert 1; andernfalls ist der Rückgabewert null. Der pOutput Parameter wird nicht verwendet. |
|
Wenn der Drucker den Farbdruck unterstützt, lautet der Rückgabewert 1; andernfalls ist der Rückgabewert null. Der pOutput Parameter wird nicht verwendet. |
|
Gibt die Anzahl der Exemplare zurück, die das Gerät drucken kann. |
|
Gibt die Versionsnummer des Druckertreibers zurück. |
|
Wenn der Drucker Duplexdruck unterstützt, lautet der Rückgabewert 1; andernfalls ist der Rückgabewert null. Der pOutput Parameter wird nicht verwendet. |
|
Ruft eine Liste der vom Drucker unterstützten Auflösungen ab. Der pOutput- Puffer empfängt ein Array von LONG- Werten. Für jede unterstützte Auflösung enthält das Array ein Paar LONG Werte, die die x- und y-Abmessungen der Auflösung in Punkt pro Zoll angeben. Der Rückgabewert gibt die Anzahl der unterstützten Auflösungen an. Wenn pOutput-NULL-ist, gibt der Rückgabewert die Anzahl der unterstützten Auflösungen an. |
|
Gibt die Anzahl der Bytes zurück, die für den gerätespezifischen Teil der DEVMODE- Struktur für den Druckertreiber erforderlich sind. |
|
Gibt das dmFields- Mitglied der DEVMODE- Struktur des Druckertreibers zurück. Das dmFields Member gibt an, welche Elemente im geräteunabhängigen Teil der Struktur vom Druckertreiber unterstützt werden. |
|
Ruft die Namen aller zusätzlichen Dateien ab, die geladen werden müssen, wenn ein Treiber installiert wird. Der pOutput- Puffer empfängt ein Array von Zeichenfolgenpuffern. Jeder Zeichenfolgenpuffer ist 64 Zeichen lang und enthält den Namen einer Datei. Der Rückgabewert gibt die Anzahl der Einträge im Array an. Die Namenzeichenfolgen werden null beendet, es sei denn, der Name ist 64 Zeichen lang. Wenn pOutput-NULL-ist, ist der Rückgabewert die Anzahl der Dateien. |
|
Gibt das maximale Papierformat zurück, das die dmPaperLength- und dmPaperWidth- Mitglieder der DEVMODE- Struktur des Druckertreibers angeben kann. Der LOWORD des Rückgabewerts enthält den maximalen dmPaperWidth--Wert, und das HIWORD enthält den maximalen dmPaperLength- Wert. |
|
Ruft die Namen der Papierformulare ab, die zurzeit zur Verwendung verfügbar sind. Der pOutput- Puffer empfängt ein Array von Zeichenfolgenpuffern. Jeder Zeichenfolgenpuffer ist 64 Zeichen lang und enthält den Namen eines Papierformulars. Der Rückgabewert gibt die Anzahl der Einträge im Array an. Die Namenzeichenfolgen werden null beendet, es sei denn, der Name ist 64 Zeichen lang. Wenn pOutput-NULL-ist, ist der Rückgabewert die Anzahl der Papierformulare. |
|
Ruft die Namen der unterstützten Medientypen ab. Der pOutput- Puffer empfängt ein Array von Zeichenfolgenpuffern. Jeder Zeichenfolgenpuffer ist 64 Zeichen lang und enthält den Namen eines unterstützten Medientyps. Der Rückgabewert gibt die Anzahl der Einträge im Array an. Die Zeichenfolgen werden null beendet, es sei denn, der Name ist 64 Zeichen lang. Wenn pOutput-NULL-ist, ist der Rückgabewert die Anzahl der erforderlichen Medientypnamen. |
|
Ruft eine Liste der unterstützten Medientypen ab. Der pOutput Puffer empfängt ein Array von DWORD-Werten, die die unterstützten Medientypen angeben. Der Rückgabewert gibt die Anzahl der Einträge im Array an. Eine Liste der möglichen Arraywerte finden Sie in der Beschreibung des dmMediaType Members der DEVMODE--Struktur. Wenn pOutput-NULL-ist, gibt der Rückgabewert die erforderliche Anzahl von Einträgen im Array an. |
|
Gibt das mindeste Papierformat zurück, das die dmPaperLength und dmPaperWidth Member der DEVMODE- Struktur des Druckertreibers angeben kann. Der LOWORD des Rückgabewerts enthält den minimalen dmPaperWidth- Wert, und das HIWORD enthält den minimalen dmPaperLength- Wert. |
|
Gibt die Beziehung zwischen Hoch- und Querformat für ein Gerät im Hinblick auf die Anzahl der Grad zurück, mit denen die Hochformatausrichtung gegen den Uhrzeigersinn gedreht wird, um die Querformatausrichtung zu erzeugen. Der Rückgabewert kann eine der folgenden Sein:
|
|
Ruft ein Array von ganzzahligen Zahlen ab, die angeben, dass der Drucker mehrere Dokumentseiten pro gedruckter Seite drucken kann. Der pOutput- Puffer empfängt ein Array von DWORD- Werten. Jeder Wert stellt eine unterstützte Anzahl von Dokumentseiten pro gedruckter Seite dar. Der Rückgabewert gibt die Anzahl der Einträge im Array an. Wenn pOutput-NULL-ist, gibt der Rückgabewert die erforderliche Anzahl von Einträgen im Array an. |
|
Ruft eine Liste der unterstützten Papiernamen ab (z. B. Letter oder Legal). Der pOutput- Puffer empfängt ein Array von Zeichenfolgenpuffern. Jeder Zeichenfolgenpuffer ist 64 Zeichen lang und enthält den Namen eines Papierformulars. Der Rückgabewert gibt die Anzahl der Einträge im Array an. Die Namenzeichenfolgen werden null beendet, es sei denn, der Name ist 64 Zeichen lang. Wenn pOutput-NULL-ist, ist der Rückgabewert die Anzahl der Papierformulare. |
|
Ruft eine Liste der unterstützten Papierformate ab. Der pOutput- Puffer empfängt ein Array von WORD- Werten, die die verfügbaren Papierformate für den Drucker angeben. Der Rückgabewert gibt die Anzahl der Einträge im Array an. Eine Liste der möglichen Arraywerte finden Sie in der Beschreibung der dmPaperSize Member der DEVMODE--Struktur. Wenn pOutput-NULL-ist, gibt der Rückgabewert die erforderliche Anzahl von Einträgen im Array an. |
|
Ruft die Abmessungen in Zehntel eines Millimeters jedes unterstützten Papierformats ab. Der pOutput- Puffer empfängt ein Array POINT- Strukturen. Jede Struktur enthält die Breite (x-Dimension) und die Länge (y-Dimension) eines Papierformats, als ob sich das Papier in der DMORIENT_PORTRAIT Ausrichtung befand. Der Rückgabewert gibt die Anzahl der Einträge im Array an. |
|
Ruft eine Liste der vom Drucker unterstützten Druckerbeschreibungssprachen ab. Der pOutput- Puffer empfängt ein Array von Zeichenfolgenpuffern. Jeder Puffer ist 32 Zeichen lang und enthält den Namen einer Druckerbeschreibungssprache. Der Rückgabewert gibt die Anzahl der Einträge im Array an. Die Namenzeichenfolgen werden null beendet, es sei denn, der Name ist 32 Zeichen lang. Wenn pOutput-NULL-ist, gibt der Rückgabewert die erforderliche Anzahl von Arrayeinträgen an. |
|
Der Rückgabewert ist die Menge des verfügbaren Druckerspeichers in Kilobyte. Der pOutput Parameter wird nicht verwendet. |
|
Der Rückgabewert gibt die Druckrate des Druckers an. Der für DC_PRINTRATEUNIT zurückgegebene Wert gibt die Einheiten des DC_PRINTRATE Werts an. Der pOutput Parameter wird nicht verwendet. |
|
Der Rückgabewert gibt die Druckrate des Druckers in Seiten pro Minute an. Der pOutput Parameter wird nicht verwendet. |
|
Der Rückgabewert ist einer der folgenden Werte, die die Druckrateeinheiten für den für das DC_PRINTRATE Flag zurückgegebenen Wert angeben. Der pOutput Parameter wird nicht verwendet.
|
|
Gibt den dmSize Member der DEVMODE- struktur des Druckertreibers zurück. |
|
Wenn der Drucker die Heftung unterstützt, ist der Rückgabewert ein Wert ungleich Null; andernfalls ist der Rückgabewert null. Der pOutput Parameter wird nicht verwendet. |
|
Ruft die Fähigkeiten des Treibers ab, um TrueType-Schriftarten zu verwenden. Für DC_TRUETYPEsollte der parameter pOutputNULLsein. Der Rückgabewert kann eine oder mehrere der folgenden Werte sein:
|
|
Gibt die Spezifikationsversion zurück, der der Druckertreiber entspricht. |
[out] pOutput
Ein Zeiger auf ein Array. Das Format des Arrays hängt von der Einstellung des fwCapability-Parameters ab. Sehen Sie sich jede oben aufgeführte Funktion an, um herauszufinden, was zurückgegeben wird, wenn pOutput-NULL-ist.
[in] pDevMode
Ein Zeiger auf eine DEVMODE--Struktur. Wenn dieser Parameter NULL-ist, ruft DeviceCapabilities die aktuellen Standardinitialisierungswerte für den angegebenen Druckertreiber ab. Andernfalls ruft die Funktion die In der Struktur enthaltenen Werte ab, auf die pDevMode Punkte verweist.
Rückgabewert
Wenn die Funktion erfolgreich ist, hängt der Rückgabewert von der Einstellung des fwCapability-Parameters ab. Ein Rückgabewert von Null weist im Allgemeinen darauf hin, dass während der erfolgreichen Ausführung der Funktion ein Fehlertyp aufgetreten ist, z. B. eine Funktion, die nicht unterstützt wird. Weitere Informationen finden Sie in den Beschreibungen für die werte fwCapability.
Wenn die Funktion -1 zurückgibt, kann dies entweder bedeuten, dass die Funktion nicht unterstützt wird oder ein allgemeiner Funktionsfehler aufgetreten ist.
Bemerkungen
Wenn ein Druckertreiber benutzerdefinierte Gerätefunktionen unterstützt, muss der Treiber die SetPrinterData--Funktion für jede benutzerdefinierte Funktion aufrufen. Die SetPrinterData--Funktion fügt dem Drucksystem die entsprechenden Druckerdaten hinzu, wodurch 32-Bit-Anwendungen auf die benutzerdefinierten Funktionen in 64-Bit-Windows-Installationen zugreifen können.
Für jede benutzerdefinierte Funktion müssen Sie zunächst Druckerdaten hinzufügen, die den Typ der Funktion beschreiben. Legen Sie dazu beim Aufrufen SetPrinterData-die pValueName- Zeichenfolge auf CustomDeviceCapabilityType_Xxxfest, wobei "Xxx" die hexadezimale Darstellung der Funktion ist. Beispielsweise könnten Sie "CustomDeviceCapabilityType_1234" haben. Die von Ihnen festgelegten Registrierungsdaten müssen vom typ REG_DWORD sein, und Sie müssen den Wert auf einen der folgenden Werte festlegen:
- 0, wenn es sich bei der benutzerdefinierten Funktion um eine DWORD-
- 1, wenn die benutzerdefinierte Funktion ein Puffer von Bytes ist
- 2, wenn es sich bei der benutzerdefinierten Funktion um ein Array von Elementen handelt
Anmerkung
Der wingdi.h-Header definiert DeviceCapabilities als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | wingdi.h (enthalten Windows.h) |
Library | WinSpool.lib |
DLL- | WinSpool.drv |