IADsPrintJob-Schnittstelle (iads.h)
Die IADsPrintJob-Schnittstelle ist eine duale Schnittstelle, die von IADs erbt. Es ist für die Darstellung eines Druckauftrags konzipiert. Wenn ein Benutzer eine Anforderung zum Drucken eines Dokuments an einen Drucker sendet, wird in der Druckwarteschlange ein Druckauftrag erstellt. Mit den Eigenschaftenmethoden können Sie auf die Informationen zu einem Druckauftrag zugreifen. Zu diesen Informationen gehört, welcher Drucker den Druck durchführt, wer das Dokument eingereicht hat, wann das Dokument eingereicht wurde und wie viele Seiten gedruckt werden.
Vererbung
Die IADsPrintJob-Schnittstelle erbt von IDispatch und IADs. IADsPrintJob verfügt auch über folgende Membertypen:
Hinweise
Um einen Druckauftrag in einem Netzwerk zu verwalten, verwenden Sie die IADsPrintJobOperations-Schnittstelle, die die Funktionalität unterstützt, um die status eines Druckauftrags zu untersuchen und den Druckvorgang des Dokuments anzuhalten oder fortzusetzen usw.
Um auf Druckaufträge in einer Druckwarteschlange zuzugreifen, rufen Sie die IADsPrintQueueOperations::P rintJobs-Methode auf, um das Sammlungsobjekt abzurufen, das alle Druckaufträge in der Druckwarteschlange enthält.
Beispiele
Das folgende Codebeispiel zeigt, wie Sie einen an den Drucker übermittelten Druckauftrag "\aMachine\aPrinter" verwalten.
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
Das folgende Codebeispiel zeigt, wie Sie einen an den Drucker übermittelten Druckauftrag "\aMachine\aPrinter" verwalten.
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();
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | iads.h |
Weitere Informationen
Methoden der IADsPrintJob-Eigenschaft