PrintTaskRequest クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
印刷タスクを作成するためのシステムからの要求を格納します。 このオブジェクトは、 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
- 継承
- 属性
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 メソッドの呼び出しが行われる必要があります。
PrintTaskRequest の CreatePrintTask メソッドを使用して、印刷タスクを作成できます。 印刷タスクの作成を示す 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 イベント ハンドラーでの非同期呼び出しを処理するために使用されます。 |