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 |