A printer interface DLL's DrvDeviceCapabilities function returns requested information about a printer's capabilities.
DWORD
DrvDeviceCapabilities(
HANDLE hPrinter,
PWSTR pDeviceName,
WORD iDevCap,
VOID *pvOutput,
PDEVMODE pDevMode
);
| Flag | Definition |
|---|---|
| DC_BINADJUST | Not used for NT-based operating systems. |
| DC_BINNAMES | The pvOutput parameter points to a buffer that the function should fill with an array of string buffers, each 24 characters in length. Each array element should contain a NULL-terminated string representing a name for a paper source bin.
The function's return value should be the number of elements in the returned array. If pvOutput is NULL, the function should just return the number of array elements required. |
| DC_BINS | The pvOutput parameter points to a buffer that the function should fill with a WORD array. Each array element should contain a DMBIN-prefixed constant (or customized value) representing a supported paper source bin.
The function's return value should be the number of elements in the returned array. If pvOutput is NULL, the function should just return the number of array elements required. |
| DC_COLLATE | The pvOutput parameter is not used.
The function's return value should be 1 if the printer supports collating; otherwise, the return value should be zero. |
| DC_COLORDEVICE | The pvOutput parameter is not used.
The function's return value should be 1 if the printer supports color printing; otherwise, the return value should be zero. |
| DC_COPIES | The pvOutput parameter is not used.
The function's return value should be the maximum number of copies the printer can support. |
| DC_DATATYPE_PRODUCED | Not used for NT-based operating systems. |
| DC_DRIVER | The pvOutput parameter is not used.
The function's return value should be the dmDriverVersion member of the driver’s internal DEVMODE structure. |
| DC_DUPLEX | The pvOutput parameter is not used.
The function's return value should be 1 if the printer supports duplex printing; otherwise, the return value should be zero. |
| DC_EMF_COMPLIANT | Not used for NT-based operating systems. |
| DC_ENUMRESOLUTIONS | The pvOutput parameter points to a buffer that the function should fill with a LONG array. For each resolution supported by the printer, the function should return two long words (one for the x dimension and one for the y dimension) of the resolution, in dots per inch.
The function's return value should be the number of resolutions supported. If pvOutput is NULL, the function should just return the number of resolutions supported. |
| DC_EXTRA | The pvOutput parameter is not used.
The function's return value should be the dmDriverExtra member of the driver’s internal DEVMODE structure. |
| DC_FIELDS | The pvOutput parameter is not used.
The function's return value should be the dmFields member of the driver’s internal DEVMODE structure. |
| DC_FILEDEPENDENCIES | The pvOutput parameter points to a buffer that the function should fill with an array of string buffers, each 64 characters in length. Each array element should contain a NULL-terminated string representing a name for a file that must be installed with the driver.
The function's return value should be the number of elements in the returned array. If pvOutput is NULL, the function should just return the number of array elements required. |
| DC_MANUFACTURER | Not used for NT-based operating systems. |
| DC_MAXEXTENT | The pvOutput parameter is not used.
The function should return a POINTS structure (described in the Platform SDK documentation). The structure should contain the maximum allowable values for the dmPaperWidth (x dimension) and dmPaperLength (y dimension) members of the printer's DEVMODE structure. |
| DC_MEDIAREADY | The pvOutput parameter points to a buffer that the function should fill with an array of string buffers, each 64 characters in length. Each array element should contain a NULL-terminated string representing a name for a paper form that is available for use.
The function's return value should be the number of elements in the returned array. If pvOutput is NULL, the function should just return the number of array elements required. |
| DC_MEDIATYPENAMES | The pvOutput parameter points to a buffer that the function should fill with an array of string buffers, each 64 characters in length. Each array element should contain a NULL-terminated string representing a name for a supported media type.
The function's return value should be the number of elements in the returned array. If pvOutput is NULL, the function should simply return the number of array elements required. |
| DC_MEDIATYPES | The pvOutput parameter points to a buffer that the function should fill with a DWORD array. Each array element should contain a DMMEDIA-prefixed constant (see the DEVMODE structure) or customized value representing a supported media type.
The function's return value should be the number of elements in the returned array. If pvOutput is NULL, the function should simply return the number of array elements required. |
| DC_MINEXTENT | The pvOutput parameter is not used.
The function should return a POINTS structure (described in the Platform SDK documentation). The structure should contain the minimum allowable values for the dmPaperWidth (x dimension) and dmPaperLength (y dimension) members of the printer's DEVMODE structure. |
| DC_MODEL | Not used for NT-based operating systems. |
| DC_NUP | The pvOutput parameter points to a buffer that the function should fill with a DWORD array. Each array element should contain an integer representing an N-up option (that is, each integer should represent a supported number of document pages per physical page).
The function's return value should be the number of elements in the returned array. If pvOutput is NULL, the function should just return the number of array elements required. |
| DC_ORIENTATION | The pvOutput parameter is not used.
The function's return value should be the number of degrees of rotation required to produce landscape orientation from portrait orientation. A value of zero indicates landscape orientation is not supported. |
| DC_PAPERNAMES | The pvOutput parameter points to a buffer that the function should fill with an array of string buffers, each 64 characters in length. Each array element should contain a NULL-terminated string representing a name for a paper form.
The function's return value should be the number of elements in the returned array. If pvOutput is NULL, the function should just return the number of array elements required. |
| DC_PAPERS | The pvOutput parameter points to a buffer that the function should fill with a WORD array. Each array element should contain a DMPAPER-prefixed constant (or customized value) representing a supported paper form.
The function's return value should be the number of elements in the returned array. If pvOutput is NULL, the function should just return the number of array elements required. |
| DC_PAPERSIZE | The pvOutput parameter points to a buffer that the function should fill with a POINT array. Each array element should contain the x and y dimensions of a form's paper size, in 0.1 mm units, in portrait orientation.
The function's return value should be the number of elements in the returned array. If pvOutput is NULL, the function should just return the number of array elements required. |
| DC_PERSONALITY | The pvOutput parameter points to a buffer that the function should fill with an array of string buffers, each 32 characters in length. Each array element should contain a NULL-terminated string representing a printer description language supported by the printer.
The function's return value should be the number of elements in the returned array. If pvOutput is NULL, the function should just return the number of array elements required. |
| DC_PRINTERMEM | The pvOutput parameter is not used.
The function's return value should be an integer representing the amount of available printer memory, in kilobytes. |
| DC_PRINTRATE | The pvOutput parameter is not used.
The function's return value should be an integer representing the print rate, in the units specified for DC_PRINTRATEUNIT. |
| DC_PRINTRATEPPM | The pvOutput parameter is not used.
The function's return value should be an integer representing the print rate, in pages per minute. |
| DC_PRINTRATEUNIT | The pvOutput parameter is not used.
The function's return value should identify the units used for specifying the value returned for DC_PRINTRATE. One of the following constants must be specified: PRINTRATEUNIT_PPM – pages/min. |
| DC_SIZE | The pvOutput parameter is not used.
The function's return value should be the dmSize member of the driver’s internal DEVMODE structure. |
| DC_STAPLE | The pvOutput parameter is not used.
The function's return value should be TRUE if the printer supports stapling, and FALSE if the printer does not support stapling. |
| DC_TRUETYPE | The pvOutput parameter is not used.
The function's return value can be zero, one, or more of the following flags: DCTT_BITMAP: The device can print TrueType fonts as graphics. |
| DC_VERSION | The pvOutput parameter is not used.
The function's return value should be the dmSpecVersion member of the driver’s internal DEVMODE structure. |
The function's return value is dependent on the value received for the iDevCap parameter. If the received iDevCap value represents a capability that the driver does not support, or if an error is encountered, the function should return GDI_ERROR.
Declared in winddiui.h. Include winddiui.h.