Share via


EnumPrintProcessorDatatypes 函式

EnumPrintProcessorDatatypes 函式會列舉指定之列印處理器支援的資料類型。

語法

BOOL EnumPrintProcessorDatatypes(
  _In_  LPTSTR  pName,
  _In_  LPTSTR  pPrintProcessorName,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pDatatypes,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

參數

pName [in]

Null 終止字串的指標,指定列印處理器所在的伺服器名稱。 如果此參數為 Null,則會列舉本機列印處理器的資料類型。

pPrintProcessorName [in]

Null 終止字串的指標,指定列舉其資料類型之列印處理器的名稱。

層級 [in]

pDatatypes緩衝區中傳回的資訊類型。 此參數必須是 1。

pDatatypes [out]

接收 DATATYPES_INFO_1 結構陣列之緩衝區的指標。 每個結構都會描述可用的資料類型。 緩衝區必須夠大,才能接收結構成員指向的任何字串或其他資料陣列。

若要判斷所需的緩衝區大小,請呼叫 EnumPrintProcessorDatatypes ,並將 cbBuf 設定為零。 EnumPrintProcessorDatatypes 會失敗, GetLastError 會傳回ERROR_INSUFFICIENT_BUFFER,而 ERROR_INSUFFICIENT_BUFFER 參數會傳回保留結構和其資料陣列所需的緩衝區大小,以位元組為單位。

cbBuf [in]

pDatatypes所指向之緩衝區的大小,以位元組為單位。

azureNeeded [out]

變數的指標,如果函式成功,則接收復制到 pDatatypes 緩衝區的位元組數目。 如果緩衝區太小,則函式會失敗,且變數會收到所需的位元組數目。

pcReturned [out]

變數的指標,接收 pDatatypes 緩衝區中傳回的結構數目。 這是支援的資料類型數目。

傳回值

如果函式成功,則傳回值是非零值。

如果此函式失敗,則傳回值為零。

備註

注意

這是封鎖或同步函式,可能不會立即傳回。 此函式傳回的速度取決於執行時間因素,例如網路狀態、列印伺服器組態,以及難以在撰寫應用程式時預測的印表機驅動程式實作因素。 從管理與使用者介面互動的執行緒呼叫此函式,可能會讓應用程式看起來沒有回應。

v

從 Windows Vista 開始,會從本機快取擷取遠端列印伺服器的資料類型資訊。

規格需求

需求
最低支援的用戶端
Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Winspool.h (包含 Windows.h)
程式庫
Winspool.lib
DLL
Winspool.drv
Unicode 與 ANSI 名稱
EnumPrintProcessorDatatypesW (Unicode) 和 EnumPrintProcessorDatatypesA (ANSI)

另請參閱

列印

列印多工緩衝處理器 API 函式

DATATYPES_INFO_1

EnumPrintProcessors