PrintTaskRequest クラス

定義

印刷タスクを作成するためのシステムからの要求を格納します。 このオブジェクトは、 PrintTaskRequested イベントに渡されるPrintTaskRequestedEventArgs オブジェクトから使用できます。

public ref class PrintTaskRequest sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class PrintTaskRequest final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class PrintTaskRequest
Public NotInheritable Class PrintTaskRequest
継承
Object Platform::Object IInspectable PrintTaskRequest
属性

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox で導入)
API contract
Windows.Foundation.UniversalApiContract (v1.0 で導入)

注釈

PrintTaskRequest クラスは、新しい PrintTask オブジェクトを作成するためにアプリによって使用されます。 PrintTask オブジェクトは、PrintTaskRequested イベントに応答して作成され、アプリに印刷するコンテンツがあることをシステムに示します。 CreatePrintTask メソッドを使用して PrintTask オブジェクトを作成する場合、アプリは PrintTask の名前と PrintTaskSourceRequestedHandler イベント ハンドラーを指定する必要があります。これは、印刷するコンテンツが必要な場合に呼び出されます。

アプリでは、 PrintTaskRequested イベント ハンドラーで可能な最小限の作業を行う必要があります。これは、応答に短時間しか指定できないためです。 可能な限り、アプリは PrintTask を 作成し、 PrintTaskSourceRequestedHandler イベント ハンドラーが呼び出されるまでコンテンツの初期化を遅延させる必要があります。

アプリが PrintTaskRequested ハンドラー中に非同期操作を実行する必要がある場合は、 PrintTaskRequestedDeferral オブジェクトを取得して使用する必要があります。 イベント ハンドラーが終了する前、通常は非同期操作が開始される前に、アプリは PrintTaskRequest オブジェクトの GetDeferral メソッドを呼び出して PrintTaskRequestedDeferral オブジェクトを取得する必要があります。 非同期操作が完了したら、アプリは PrintTaskRequestedDeferral オブジェクトの Complete メソッドを呼び出して、印刷タスクの要求が完了したことを通知する必要があります。 要求を受け入れるためには、Deadline に達する前に Complete メソッドの呼び出しが行われる必要があります。

PrintTaskRequestCreatePrintTask メソッドを使用して、印刷タスクを作成できます。 印刷タスクの作成を示す UWP 印刷サンプル のコード スニペットを次に示します。

protected virtual void PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs e)
{
    PrintTask printTask = null;
    printTask = e.Request.CreatePrintTask("C# Printing SDK Sample", sourceRequested =>
    {
        // Print Task event handler is invoked when the print job is completed.
        printTask.Completed += async (s, args) =>
        {
            // Notify the user when the print operation fails.
            if (args.Completion == PrintTaskCompletion.Failed)
            {
                await scenarioPage.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
                {
                    MainPage.Current.NotifyUser("Failed to print.", NotifyType.ErrorMessage);
                });
            }
        };

        sourceRequested.SetSource(printDocumentSource);
    });
}

この印刷シナリオとその他の印刷シナリオの詳細については、「 印刷UWP 印刷のサンプル」を参照してください。

プロパティ

Deadline

アプリが PrintTaskRequested イベントに応答する必要がある期間を示す DateTime 値を取得します。 期限に達するまでに、システムが PrintTaskRequested イベント ハンドラーから応答を受信していない場合、印刷タスクは無視されます。

メソッド

CreatePrintTask(String, PrintTaskSourceRequestedHandler)

アプリに印刷するコンテンツがあることを示す新しい PrintTask を作成します。

GetDeferral()

PrintTaskRequest に関連付けられている遅延オブジェクトを取得します。 遅延オブジェクトは、 PrintTaskRequested イベント ハンドラーでの非同期呼び出しを処理するために使用されます。

適用対象

こちらもご覧ください