GetPrintProcessorCapabilities 函式 (winsplp)

列印處理器的 GetPrintProcessorCapabilities 函數會傳回與指定之輸入資料類型相關聯的功能。

語法

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

參數

[in] pValueName

呼叫端提供的字串指標,代表列印處理器所支援的資料類型。 字串指標的類型必須是 LPWSTR。

[in] dwAttributes

呼叫端提供的屬性旗標。 請參閱 Microsoft Windows SDK 檔) 所述的 PRINTER_INFO_x結構的屬性成員 (。

[out] pData

呼叫端提供的 PRINTPROCESSOR_CAPS_1 或 PRINTPROCESSOR_CAPS_2 結構的指標 (Windows SDK 檔) 中所述。

[in] nSize

呼叫端提供的值,表示 .pdata所指向的緩衝區大小。

如果值小於 sizeof (PRINTPROCESSOR_CAPS_1) ,則根據列印處理器支援的結構而定,此函數應該提供等於 sizeof (PRINTPROCESSOR_CAPS_1) 或 sizeof (PRINTPROCESSOR_CAPS_2) 的值。

注意 如果值小於 sizeof (PRINTPROCESSOR_CAPS_1) ,winprint 列印處理器會為 PRINTPROCESSOR_CAPS_2 Vista 作業系統提供 sizeof () Windows 的值,或針對舊版作業系統版本提供 sizeof (PRINTPROCESSOR_CAPS_1) 。

[out] pcbNeeded

呼叫端提供的位置指標,可接收 .pdata所指向之緩衝區的最小必要大小。

傳回值

如果作業成功,函數應該會傳回 ERROR_SUCCESS。 否則,它應該會傳回 Win32 錯誤碼。

備註

列印處理器可以選擇性地匯出 GetPrintProcessorCapabilities 函式。 函式的目的是要針對列印處理器所支援的每個輸入資料類型,傳回已填滿的 PRINTPROCESSOR_CAPS_1 或 PRINTPROCESSOR_CAPS_2 結構。

當應用程式呼叫 Windows SDK 檔) 中所述的GetPrinterData (、指定具有 PrintProcCaps_datatype格式的值名稱(其中datatype是輸入資料類型的名稱)時,多工緩衝處理器會呼叫列印處理器的GetPrintProcessorCapabilities函式。 在呼叫 GetPrintProcessorCapabilities 之前, 多工緩衝處理器會從值名稱字串中移除 PrintProcCaps_ 的前置詞。

函數應該判斷接收的緩衝區是否夠大,如果是的話,應該在 Windows SDK 檔) 中定義 PRINTPROCESSOR_CAPS_1 或 PRINTPROCESSOR_CAPS_2 結構 (,並傳回。 NSize的值會決定是否要使用 PRINTPROCESSOR_CAPS_1 或 PRINTPROCESSOR_CAPS_2。

函式應該一律使用 pcbNeeded 所指向的位置,以傳回所需的緩衝區大小,不論實際的緩衝區是否夠大。

指定的傳回值會成為多工緩衝處理器針對 GetPrinterData提供的傳回值。

規格需求

   
目標平台 桌面
標頭 winsplp (包含 Winsplp)