共用方式為


IADsPrintJob 介面 (iads.h)

IADsPrintJob介面是繼承自IAD 的雙重介面。 它是設計來代表列印工作。 當使用者將要求提交至印表機以列印檔案時,會在列印佇列中建立列印工作。 屬性方法可讓您存取列印工作的相關資訊。 這類資訊包括哪些印表機會執行列印、提交檔的人員、提交檔時,以及列印多少頁。

繼承

IADsPrintJob介面繼承自IDispatchIAD。 IADsPrintJob 也有下列類型的成員:

備註

若要跨網路管理列印工作,請使用 IADsPrintJobOperations 介面,其支援檢查列印工作的狀態,以及暫停或繼續列印檔案的作業等等。

若要存取列印佇列中的任何列印工作,請呼叫 IADsPrintQueueOperations::P rintJobs 方法,以取得保存列印佇列中所有列印工作的集合物件。

範例

下列程式碼範例示範如何管理提交至印表機 「\aMachine\aPrinter」 的列印工作。

Dim pq As IADsPrintQueue
Dim pqo As IADsPrintQueueOperations
Dim pj As IADsPrintJob
Dim pjo As IADsPrintJobOperations
Dim pjs As IADsCollection

On Error GoTo Cleanup
 
Set pq = GetObject("WinNT://aMachine/aPrinter")
Set pqo = pq
For Each pj In pqo.PrintJobs
   MsgBox pj.class 
   MsgBox pj.description 
   MsgBox pj.HostPrintQueue
   Set pjo = pj
   If Hex(pjo.status) = 10 ' printing
      pjo.Pause
   Else
      pjo.Resume
  End If
Next

Cleanup:
    If (Err.Number<>0) Then
        MsgBox("An error has occurred. " & Err.Number)
    End If
    Set pq = Nothing
    Set pqo = Nothing
    Set pj = Nothing
    Set pjo = Nothing
    Set pjs = Nothing

下列程式碼範例示範如何管理提交至印表機 「\aMachine\aPrinter」 的列印工作。

IADsPrintJobOperations *pjo = NULL;
IADsPrintQueueOperations *pqo = NULL;
IADsCollection *pColl = NULL;
IUnknown *pUnk = NULL;
IEnumVARIANT *pEnum = NULL;
VARIANT var;
ULONG lFetch = 0;
IDispatch *pDisp = NULL;

long status;

HRESULT hr = S_OK;
hr = ADsGetObject(L"WinNT://aMachine/aPrinter", 
                  IID_IADsPrintQueueOperations, 
                  (void**)&pqo);
if(FAILED(hr)){goto Cleanup;}

hr = pqo->PrintJobs(&pColl);

hr = pColl->get__NewEnum(&pUnk);
if(FAILED(hr)){goto Cleanup;}

hr = pUnk->QueryInterface(IID_IEnumVARIANT,(void**)&pEnum);
if(FAILED(hr)){goto Cleanup;}

// Now Enumerate
VariantInit(&var);
hr = pEnum->Next(1, &var, &lFetch);
while(hr == S_OK)
{
    if (lFetch == 1)    
    {
        pDisp = V_DISPATCH(&var);
        pDisp->QueryInterface(IID_IADsPrintJobOperations, 
                              (void**)&pjo);

        pjo->get_Status(&status);
        printf("Job status: %x\n",status);
        if(stats == ADS_JOB_PRINTING) {
            pjo.Pause();
        }
        else {
            pjo.Resume();
        }
        pjo->Release();
    }
    pDisp->Release();
    VariantClear(&var);
    hr = pEnum->Next(1, &var, &lFetch);
};

Cleanup:
    VariantClear(&var);
    if(pColl) pColl->Release();
    if(pUnk) pUnk->Release();
    if(pEnum) pEnum->Release();
    if(pqo) pqo->Release();

需求

   
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 iads.h

另請參閱

IADs

IADsPrintJob 屬性方法

IADsPrintJobOperations

IADsPrintQueueOperations::P rintJobs

IDispatch