Bagikan melalui


Antarmuka IADsPrintJob (iads.h)

Antarmuka IADsPrintJob adalah antarmuka ganda yang mewarisi dari IAD. Ini dirancang untuk mewakili pekerjaan cetak. Ketika pengguna mengirimkan permintaan ke printer untuk mencetak dokumen, pekerjaan cetak dibuat dalam antrean cetak. Metode properti memungkinkan Anda mengakses informasi tentang pekerjaan cetak. Informasi tersebut mencakup pencetak mana yang melakukan pencetakan, siapa yang mengirimkan dokumen, ketika dokumen dikirimkan, dan berapa banyak halaman yang akan dicetak.

Warisan

Antarmuka IADsPrintJob mewarisi dari IDispatch dan IAD. IADsPrintJob juga memiliki jenis anggota berikut:

Keterangan

Untuk mengelola pekerjaan cetak di seluruh jaringan, gunakan antarmuka IADsPrintJobOperations , yang mendukung fungsionalitas untuk memeriksa status pekerjaan cetak dan untuk menjeda atau melanjutkan operasi pencetakan dokumen, dan sebagainya.

Untuk mengakses pekerjaan cetak apa pun dalam antrean cetak, panggil metode IADsPrintQueueOperations::P rintJobs untuk mendapatkan objek koleksi yang menyimpan semua pekerjaan cetak dalam antrean cetak.

Contoh

Contoh kode berikut menunjukkan cara mengelola pekerjaan cetak yang dikirimkan ke printer, "\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

Contoh kode berikut menunjukkan cara mengelola pekerjaan cetak yang dikirimkan ke printer, "\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();

Persyaratan

   
Klien minimum yang didukung Windows Vista
Server minimum yang didukung Windows Server 2008
Target Platform Windows
Header iads.h

Lihat juga

IAD

Metode Properti IADsPrintJob

IADsPrintJobOperations

IADsPrintQueueOperations::P rintJobs

IDispatch