共用方式為


DrvDeviceCapabilities 函式 (winddiui.h)

印表機介面 DLL 的 DrvDeviceCapabilities 函式會傳回印表機功能的要求資訊。

語法

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

參數

hPrinter

呼叫端提供的印表機句柄。

[in] pszDeviceName

印表機名稱字串的呼叫端提供的指標。

Capability

呼叫端提供的位旗標,指出所要求的資訊。 這可以是下表所列的其中一個旗標。 (旗標定義於頭檔 Wingdi.h.)

定義
DC_BINADJUST 不適用於 NT 型作系統。
DC_BINNAMES pOutput 參數指向函式應該填入字元串緩衝區陣列的緩衝區,長度每24個字元。 陣列中的每個字串緩衝區都應該包含一個寬字元的NULL 終止字串,指定紙張來源量化的名稱。 函式的傳回值應該是傳回數位列中的項目數。 如果 pOutputNULL,則函式應該只會傳回所需的陣列元素數目。
DC_BINS pOutput 參數會指向函式應該填入 WORD 陣列的緩衝區。 每個陣列元素都應該包含 DMBIN 前置常數(或自定義值),代表支援的紙張來源量化。 函式的傳回值應該是傳回數位列中的項目數。 如果 pOutputNULL,則函式應該只會傳回所需的陣列元素數目。
DC_COLLATE 不使用 pOutput 參數。 如果印表機支援定序,則函式的傳回值應該是1;否則,傳回值應該是零。
DC_COLORDEVICE 不使用 pOutput 參數。 如果印表機支援彩色列印,則函式的傳回值應該是1;否則,傳回值應該是零。
DC_COPIES 不使用 pOutput 參數。 函式的傳回值應該是印表機可支援的最大複本數目。
DC_DATATYPE_PRODUCED 不適用於 NT 型作系統。
DC_DRIVER 不使用 pOutput 參數。 函式的傳回值應該是驅動程序內部 [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) 結構的 dmDriverVersion 成員。
DC_DUPLEX 不使用 pOutput 參數。 如果印表機支援雙面列印,則函式的傳回值應該是1;否則,傳回值應該是零。
DC_EMF_COMPLIANT 不適用於 NT 型作系統。
DC_ENUMRESOLUTIONS pOutput 參數指向函式應該填入 LONG 陣列的緩衝區。 針對印表機支援的每個解析度,函式應該傳回兩個長字(一個用於 x 維度,另一個用於解析度的 y 維度),以每英吋點為單位。 函式的傳回值應該是支援的解析度數目。 如果 pOutputNULL,則函式應該只會傳回支援的解析度數目。
DC_EXTRA 不使用 pOutput 參數。 函式的傳回值應該是驅動程序內部 [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) 結構的 dmDriverExtra 成員。
DC_FIELDS 不使用 pOutput 參數。 函式的傳回值應該是驅動程序內部 [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi/ns-wingdi-devmodew) 結構的 dmFields 成員。 dmFields 成員表示列印機驅動程序支援 DEVMODEW 結構裝置獨立部分的成員。
DC_FILEDEPENDENCIES pOutput 參數會指向函式應該填入字元串緩衝區陣列的緩衝區,長度每 64 個字元。 數位中的每個字串緩衝區都應該包含寬字元、以 NULL 結尾的字串,指定必須隨驅動程式一起安裝的檔名。 函式的傳回值應該是傳回數位列中的項目數。 如果 pOutputNULL,則函式應該只會傳回所需的陣列元素數目。
DC_MANUFACTURER 不適用於 NT 型作系統。
DC_MAXEXTENT 不使用 pOutput 參數。 函式應該會傳回 POINTS 結構(如Microsoft Windows SDK 檔中所述)。 結構應包含印表機 DEVMODEW 結構之 dmPaperWidthx 維度) 和 dmPaperLengthy 維度) 成員的允許值上限。
DC_MEDIAREADY pOutput 參數會指向函式應該填入字元串緩衝區陣列的緩衝區,長度每 64 個字元。 陣列中的每個字串緩衝區都應該包含寬字元的NULL終止字串,指定可供使用的紙張窗體名稱。 函式的傳回值應該是傳回數位列中的項目數。 如果 pOutputNULL,則函式應該只會傳回所需的陣列元素數目。
DC_MEDIATYPENAMES pOutput 參數會指向函式應該填入字元串緩衝區陣列的緩衝區,長度每 64 個字元。 陣列中的每個字串緩衝區都應該包含寬字元、以NULL 結尾的字串,以指定支援的媒體類型名稱。 函式的傳回值應該是傳回數位列中的項目數。 如果 pOutputNULL,則函式應該只會傳回所需的陣列元素數目。
DC_MEDIATYPES pOutput 參數指向函式應該填入 DWORD 陣列的緩衝區。 每個陣列元素都應該包含 DMMEDIA 前置常數(請參閱 [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) 或自定義值,代表支持的媒體類型。 函式的傳回值應該是傳回數位列中的項目數。 如果 pOutputNULL,則函式應該只會傳回所需的陣列元素數目。
DC_MINEXTENT 不使用 pOutput 參數。 函式應該會傳回 POINTS 結構(如 Windows SDK 檔中所述)。 結構應包含印表機 DEVMODEW 結構的 dmPaperWidthx 維度)和 dmPaperLengthy 維度) 成員的最小允許值。
DC_MODEL 不適用於 NT 型作系統。
DC_NUP pOutput 參數指向函式應該填入 DWORD 陣列的緩衝區。 每個數位元素都應該包含代表 N-up 選項的整數(也就是說,每個整數應該代表每個實體頁面支援的文件頁數)。 函式的傳回值應該是傳回數位列中的項目數。 如果 pOutputNULL,則函式應該只會傳回所需的陣列元素數目。
DC_ORIENTATION 不使用 pOutput 參數。 函式的傳回值應該是從直向產生橫向方向所需的旋轉度數。 值為零表示不支援橫向方向。
DC_PAPERNAMES pOutput 參數會指向函式應該填入字元串緩衝區陣列的緩衝區,長度每 64 個字元。 陣列中的每個字串緩衝區都應該包含指定紙張表單名稱的寬字元 NULL 終止字串。 函式的傳回值應該是傳回數位列中的項目數。 如果 pOutputNULL,則函式應該只會傳回所需的陣列元素數目。
DC_PAPERS pOutput 參數會指向函式應該填入 WORD 陣列的緩衝區。 每個數位元素都應該包含代表支援紙張表單的 DMPAPER 前置常數(或自定義值)。 函式的傳回值應該是傳回數位列中的項目數。 如果 pOutputNULL,則函式應該只會傳回所需的陣列元素數目。
DC_PAPERSIZE pOutput 參數會指向函式應該填入 POINT 陣列的緩衝區。 每個陣列元素都應該包含 x,並以直向方向,以0.1公厘為單位的表單紙張大小 y 維度。 函式的傳回值應該是傳回數位列中的項目數。 如果 pOutputNULL,則函式應該只會傳回所需的陣列元素數目。
DC_PERSONALITY pOutput 參數指向函式應該填入字元串緩衝區陣列的緩衝區,長度每32個字元。 數位中的每個字串緩衝區都應該包含寬字元的NULL 終止字串,指定印表機支援的印表機描述語言(例如 L“HP-GL/2” 函式的傳回值應該是傳回數位列中的項目數。 如果 pOutputNULL,則函式應該只會傳回所需的陣列元素數目。
DC_PRINTERMEM 不使用 pOutput 參數。 函式的傳回值應該是整數,代表可用印表機記憶體的數量,以 KB 為單位。
DC_PRINTRATE 不使用 pOutput 參數。 函式的傳回值應該是代表列印速率的整數,以指定給DC_PRINTRATEUNIT的單位。
DC_PRINTRATEPPM 不使用 pOutput 參數。 函式的傳回值應該是代表列印速率的整數,以每分鐘為單位。
DC_PRINTRATEUNIT 不使用 pOutput 參數。 函式的傳回值應該識別用來指定針對 DC_PRINTRATE 傳回值的單位。 必須指定下列其中一個常數:PRINTRATEUNIT_PPM - pages/min。 PRINTRATEUNIT_CPS - chars./sec. PRINTRATEUNIT_LPM - lines/min。 PRINTRATEUNIT_IPM - 英吋/分鐘。
DC_SIZE 不使用 pOutput 參數。 函式的傳回值應該是驅動程序內部 [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi/ns-wingdi-devmodew) 結構的 dmSize 成員。
DC_STAPLE 不使用 pOutput 參數。 如果印表機支援裝訂,則函式的傳回值應該 TRUE,如果印表機不支援裝訂,FALSE
DC_TRUETYPE 不使用 pOutput 參數。 函式的傳回值可以是零、一或多個下列旗標:DCTT_BITMAP:裝置可以將 TrueType 字型列印為圖形。 DCTT_DOWNLOAD:裝置可以接受下載的 TrueType 字型。 DCTT_DOWNLOAD_OUTLINE: (僅限 Windows 95/98/Me) 裝置可以下載大綱 TrueType 字型。 DCTT_SUBDEV:裝置可以將裝置字型取代為 TrueType 字型。
DC_VERSION 不使用 pOutput 參數。 函式的傳回值應該是驅動程序內部 [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi/ns-wingdi-devmodew) 結構的 dmSpecVersion 成員。

[out] pOutput

呼叫端提供的緩衝區指標,以接收函式提供的資訊。 緩衝區的使用取決於針對 Capability 參數收到的值。

[in, optional] pDevmode

描述目前列印作業特性之 DEVMODEW 結構的呼叫端提供的指標。 如果此參數 NULLDrvDeviceCapabilities 擷取指定印表機驅動程式目前的預設初始化值,例如列印佇列的用戶預設 DEVMODEW 結構。

傳回值

函式的傳回值取決於針對 Capability 參數收到的值。 如果收到的 功能 值代表驅動程式不支援的功能,或遇到錯誤,函式應該會傳回GDI_ERROR。

要求

要求 價值
目標平臺 桌面
標頭 winddiui.h (包括 Winddiui.h)