共用方式為


EngGetPrinterDriver 函式 (winddi.h)

EngGetPrinterDriver 函式會擷取指定印表機的驅動程序數據。

語法

ENGAPI BOOL EngGetPrinterDriver(
  [in]            HANDLE hPrinter,
  [in, optional]  LPWSTR pEnvironment,
  [in]            DWORD  dwLevel,
  [out, optional] BYTE   *lpbDrvInfo,
  [in]            DWORD  cbBuf,
  [out]           DWORD  *pcbNeeded
);

參數

[in] hPrinter

應該擷取驅動程序數據的印表機句柄。

[in, optional] pEnvironment

指定環境的 Null 終止字串指標。 例如,“Windows NT x86” 指定在 Intel 處理器上執行的 NT 型作業系統。 如果 pEnvironmentNULL,則會使用呼叫驅動程式和用戶端電腦的目前環境。

[in] dwLevel

指定 lpbDrvInfo 指向的結構版本。 此參數必須是下列其中一個值:

意義
1 GDI 會在 lpbDrvInfo 指向的緩衝區中寫入DRIVER_INFO_1結構。
2 GDI 會在 lpbDrvInfo 指向的緩衝區中寫入DRIVER_INFO_2結構。
3 GDI 會在 lpbDrvInfo 指向的緩衝區中寫入DRIVER_INFO_3結構。

[out, optional] lpbDrvInfo

GDI 放置要求之DRIVER_INFO_X 結構的緩衝區指標。

[in] cbBuf

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

[out] pcbNeeded

GDI 會將複製的位元組數目放在成功時 所指向緩衝區 的記憶體位置指標,或 cbBuf 太小時所需的位元元組數目。

傳回值

EngGetPrinterDriver 會在成功時傳回 TRUE ;否則會報告錯誤並傳回 FALSE

備註

印表機驅動程式 DLL 可以使用多個資料檔來支援不同的印表機模型。 印表機驅動程式會呼叫 EngGetPrinterDriver ,以判斷要使用的數據檔。 例如,Unidrv 轉譯器會呼叫此函式來判斷 GPD 檔案的名稱,而後置腳本驅動程式會呼叫此函式來判斷 PPD 檔案的名稱。 DRIVER_INFO_2和DRIVER_INFO_3結構包含指定資料檔位置的完整路徑和檔名。 然後,印表機驅動程式可以使用傳回的路徑和檔名來載入數據檔,方法是使用路徑和檔名作為單一自變數呼叫 EngLoadModule

Microsoft Windows SDK檔中會說明 DRIVER_INFO_X結構。

規格需求

需求
最低支援的用戶端 可在 Windows 2000 和更新版本的 Windows 作業系統中使用。
目標平台 Universal
標頭 winddi.h (包括 Winddi.h)
程式庫 Win32k.lib
Dll Win32k.sys

另請參閱

EngLoadModule