OpenPrinter函數__函數

來源:互聯網
上載者:User


OpenPrinter函數


OpenPrinter函數擷取指定印表機或列印伺服器的標識控制代碼。

BOOL OpenPrinter(

    LPTSTR pPrinterName, // 指向印表機或伺服器名稱的指標
    LPHANDLE phPrinter,         // 指向印表機或伺服器的控制代碼
    LPPRINTER_DEFAULTS pDefault //指向印表機預設結構的指標 
   ); 

參數

pPrinterName
指向一個以Null終結的字串,用來指定印表機或列印伺服器的名稱。

phPrinter
指向一個變數,以接收控制代碼標識開啟的印表機或列印伺服器對象。

pDefault
指向一個 PRINTER_DEFAULTS 結構。此值可以為空白。


傳回值

如果函數成功,傳回值是非零。
如果函數失敗,傳回值是零。要得到擴充的錯誤資訊,請調用getlasterror函數 。

備忘

pDefault參數允許一個應用程式
來指定資料類型和裝置模式值用於StartDocPrinter函數提交列印文檔 。不過,一旦檔案已經開始,
這些值可以使用setjob函數淩駕(覆蓋)。
 
PRINTER_DEFAULTS 資料結構成員之一 DesiredAccess , 指向由pDefault指定的openprinter控制代碼許可權。
如果應用程式要開啟一個印表機執行管理工作。
例如setprinter函數,它應開啟印表機與PRINTER_ALL_ACCESS 許可權。
如果某個應用程式只執行基本的列印業務只要PRINTER_ACCESS_USE就足夠了。

在Windows 95 : openprinter忽略了desiredaccess成員printer_defaults 。

應用程式可以決定客戶在列印伺服器上有什麼許可權,或擷取一個列印伺服器控制代碼以調用waitforprinterchange 。
這樣,它應要求openprinter與pprintername設定為伺服器的名稱,並應指定一個服務許可權值,如SERVER_ALL_ACCESS 。
printer_defaults結構的成員pdatatype和pdevmode應設定為NULL 。
該控制代碼經過這樣的調用可能會被傳遞到ClosePrinter 或 WaitForPrinterChange 函數。

如果使用者並不持有開啟一個指定的印表機或列印伺服器的許可權,與預期的許可, openprinter調用將失敗,並且

getlasterror將傳回值error_access_denied 。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.