印表機目錄服務的印表後台處理程式支援
目錄服務的列印後台處理程式支援包含:
發佈列印佇列
維護三個登錄機碼
允許存取多任務緩衝處理程式維護的登錄機碼
傳回列印佇列的發行集狀態
發佈列印佇列
SetPrinter 函式可讓呼叫端發佈、取消發佈或更新列印佇列物件。 為了達到這些目的,必須以輸入結構呼叫SetPrinter 函式PRINTER_INFO_7。
只有當列印佇列物件與描述使用者所連接之列印伺服器的計算機對象相關聯時,才能發行列印佇列物件。 用戶發佈列印佇列的能力取決於其訪問許可權,如使用者的用戶端安全性內容所包含。 如果您有列印佇列的管理印表機許可權,可以發佈列印佇列。
維護三個登錄機碼
三個登錄機碼包含列印佇列物件中發佈之所有資訊的複本。 三個索引鍵會使用 winspool.h 中定義的下列標識符來參考:
答案 | 定義 |
---|---|
SPLDS_DRIVER_KEY | 儲存驅動程式特定資訊,可由多任務緩衝處理器或驅動程式提供。 |
SPLDS_SPOOLER_KEY | 儲存多任務緩衝處理程式所提供的多任務緩衝處理特定資訊。 |
SPLDS_USER_KEY | 儲存應用程式提供的使用者特定資訊。 |
多任務緩衝處理器會使用SPLDS_DRIVER_KEY來儲存可藉由呼叫 DeviceCapabilities 函式取得的驅動程式功能。 驅動程式負責儲存多任務緩衝處理器無法取得的驅動程式功能,如 印表機目錄服務的印表機驅動程序支援中所述。 儲存在這些索引鍵下的值必須由 winspool.h 中定義的 SPLDS_前置常數來識別。
多任務緩衝處理程式會追蹤自上次更新列印佇列對象以來,這些索引鍵底下的哪些值已經過修改。 每次多任務緩衝處理程式發佈或更新列印佇列物件時,都會將所有已修改的值複製到物件中。
允許存取多任務緩衝處理程式維護的登錄機碼
多任務緩衝處理器可藉由呼叫 SetPrinterDataEx、GetPrinterDataEx 和 EnumPrinterDataEx 函式,來存取三個多任務緩衝處理程式維護的登錄機碼。 SetPrinterDataEx 函式會在索引鍵下設定值,而 GetPrinterDataEx 和 EnumPrinterDataEx 則會傳回目前的值。 驅動程式不應在SPLDS_SPOOLER_KEY機碼下設定值。 這些函式的呼叫端未指定完整的登錄路徑;函式會自動判斷指定之列印佇列登錄項目的路徑。
傳回列印佇列的發行集狀態
GetPrinter 函式可讓呼叫端判斷列印佇列目前是否已發佈。 為此,必須使用輸入結構呼叫GetPrinter 函式PRINTER_INFO_7。 函式會傳回列印佇列的發行集狀態, (已發行或未發佈) 和對象標識碼。