IADsPrintJob 属性方法

IADsPrintJob 接口的属性方法获取或设置下表中所述的属性。 有关详细信息,请参阅 Interface 属性方法

属性

描述

打印作业的说明。

访问类型:读/写

脚本数据类型: BSTR

// C++ method syntax
HRESULT get_Description(
  [out] BSTR* pbstrDescription
);
HRESULT put_Description(
  [in] BSTR bstrDescription
);

HostPrintQueue

处理打印作业的打印队列的 ADsPath 字符串。

访问类型:只读

脚本数据类型: BSTR

// C++ method syntax
HRESULT get_HostPrintQueue(
  [out] BSTR* pbstrHostPrintQueue
);

Notify

完成作业时要通知的用户。

访问类型:读/写

脚本数据类型: BSTR

// C++ method syntax
HRESULT get_Notify(
  [out] BSTR* pbstrNotify
);
HRESULT put_Notify(
  [in] BSTR bstrNotify
);

NotifyPath

完成打印作业时要通知的用户对象的 ADsPath 字符串。

访问类型:读/写

脚本数据类型: BSTR

// C++ method syntax
HRESULT get_NotifyPath(
  [out] BSTR* pbstrNotifyPath
);
HRESULT put_NotifyPath(
  [in] BSTR bstrNotifyPath
);

优先级

打印作业的优先级。

访问类型:读/写

脚本数据类型: LONG

// C++ method syntax
HRESULT get_Priority(
  [out] LONG* plPriority
);
HRESULT put_Priority(
  [in] LONG lPriority
);

大小

打印作业的大小(以字节为单位)。

访问类型:只读

脚本数据类型: LONG

// C++ method syntax
HRESULT get_Size(
  [out] LONG* plSize
);

StartTime

最早应启动打印作业的时间。

访问类型:读/写

脚本数据类型: DATE

// C++ method syntax
HRESULT get_StartTime(
  [out] DATE* pdateStartTime
);
HRESULT put_StartTime(
  [in] DATE dateStartTime
);

TimeSubmitted

作业提交到队列的时间。

访问类型:只读

脚本数据类型: DATE

// C++ method syntax
HRESULT get_TimeSubmitted(
  [out] DATE* pdateTimeSubmitted
);

TotalPages

打印作业中的页总数。

访问类型:只读

脚本数据类型: LONG

// C++ method syntax
HRESULT get_TotalPages(
  [out] LONG* plTotalPages
);

UntilTime

打印作业应启动的最近时间。

访问类型:读/写

脚本数据类型: DATE

// C++ method syntax
HRESULT get_UntilTime(
  [out] DATE* pdateUntilTime
);

用户

提交打印作业的用户的名称。

访问类型:只读

脚本数据类型: BSTR

// C++ method syntax
HRESULT get_User(
  [out] BSTR* pbstrUser
);

UserPath

提交此打印作业的用户对象的 ADsPath 字符串。

访问类型:只读

脚本数据类型: BSTR

// C++ method syntax
HRESULT get_UserPath(
  [out] BSTR* pbstrUserPath
);

示例

下面的代码示例演示如何处理打印作业对象的属性。

Dim pqo As IADsPrintQueueOperations
Dim pj As IADsPrintJob
On Error GoTo Cleanup

Set pqo = GetObject("WinNT://aMachine/aPrinter")
For Each pj In pqo.PrintJobs
    MsgBox "Host Printer: " & pj.HostPrintQueue
    MsgBox "Job description: " & pj.Description
    MsgBox "job requester: " & pj.User 
Next

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

下面的代码示例演示如何处理打印作业对象的属性。

IADsPrintQueueOperations *pqo = NULL;
IADsPrintJob *pJob = NULL;
HRESULT hr = S_OK;
BSTR bstr = NULL;
VARIANT var;
ULONG lFetch = 0;
IDispatch *pDisp = NULL;
IADsCollection *pColl = NULL;
IUnknown *pUnk = NULL;
LPWSTR adsPath =L"WinNT://aMachine/aPrinter";

VariantInit(&var);

hr = ADsGetObject(adsPath, 
                  IID_IADsPrintQueueOperations, 
                  (void**)&pqo);
if(FAILED(hr)){goto Cleanup;}


hr = pqo->PrintJobs(&pColl);

// Enumerate print jobs. Code omitted.

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


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


// Now Enumerate.
hr = pEnum->Next(1, &var, &lFetch);
if(FAILED(hr)){goto Cleanup;}

while(hr == S_OK)
{
    if (lFetch == 1)    
    {
        pDisp = V_DISPATCH(&var);
        pDisp->QueryInterface(IID_IADsPrintJob, (void**)&pJob);

        pJob->get_HostPrintQueue(&bstr);
        printf("HostPrintQueue: %S\n",bstr);
        SysFreeString(bstr);

        pJob->get_Description(&bstr);
        printf("Print job name: %S\n",bstr);
        SysFreeString(bstr);

        pJob->get_User(&bstr);
        printf("Requester: %S\n",bstr);
        SysFreeString(bstr);

        pJob->Release();
    }
    pDisp->Release();
    VariantClear(&var);
    hr = pEnum->Next(1, &var, &lFetch);
};

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

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
标头
Iads.h
DLL
Activeds.dll
IID
IID_IADsPrintJob定义为 32FB6780-1ED0-11CF-A988-00AA006BC149

另请参阅

IADsPrintJob

Interface 属性方法