IADsPrintJob 인터페이스(iads.h)
IADsPrintJob 인터페이스는 IAD에서 상속되는 이중 인터페이스입니다. 인쇄 작업을 나타내기 위해 설계되었습니다. 사용자가 문서를 인쇄하기 위해 프린터에 요청을 제출하면 인쇄 큐에 인쇄 작업이 만들어집니다. 속성 메서드를 사용하면 인쇄 작업에 대한 정보에 액세스할 수 있습니다. 이러한 정보에는 인쇄를 수행하는 프린터, 문서를 제출한 사람, 문서가 제출된 시기 및 인쇄할 페이지 수가 포함됩니다.
상속
IADsPrintJob 인터페이스는 IDispatch 및 IAD에서 상속됩니다. 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 |