ImageScanner.ScanFilesToFolderAsync 方法

定义

使用指定的扫描源启动扫描作业,并将一个或多个图像写入 TIFF、XPS 和 PDF 等多页文件;或指定文件夹位置的一个或多个单页文件(如 DIB、PNG、JPG 和 TIFF)。 返回扫描进度。

public:
 virtual IAsyncOperationWithProgress<ImageScannerScanResult ^, unsigned int> ^ ScanFilesToFolderAsync(ImageScannerScanSource scanSource, StorageFolder ^ storageFolder) = ScanFilesToFolderAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<ImageScannerScanResult, uint32_t> ScanFilesToFolderAsync(ImageScannerScanSource const& scanSource, StorageFolder const& storageFolder);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<ImageScannerScanResult,uint> ScanFilesToFolderAsync(ImageScannerScanSource scanSource, StorageFolder storageFolder);
function scanFilesToFolderAsync(scanSource, storageFolder)
Public Function ScanFilesToFolderAsync (scanSource As ImageScannerScanSource, storageFolder As StorageFolder) As IAsyncOperationWithProgress(Of ImageScannerScanResult, UInteger)

参数

scanSource
ImageScannerScanSource

图像扫描源。

storageFolder
StorageFolder

扫描的文件的目标文件夹位置。

返回

IAsyncOperationWithProgress<ImageScannerScanResult,UInt32>

Windows.Foundation.IAsyncOperationWithProgress<Windows.Devices.Scanners.ImageScannerScanResult,unsigned int>

IAsyncOperationWithProgress<ImageScannerScanResult,uint32_t>

ImageScannerScanResult 中扫描的图像文件列表以及 UInt32 中 WIA 扫描作业的进度,指示已传输到目标文件夹的文件数。

属性

注解

这些文件使用临时名称命名,其标准文件扩展名取决于文件格式类型。

注意

在 UWP 应用中,调用此方法时,应用必须可见并在前台运行。

当应用取消异步调用时,它会启动当前扫描作业的取消请求。 无法保证如果应用取消异步调用,扫描作业将被取消。 如果取消失败,扫描程序可能会因以下原因而停止:

  • 扫描程序需要几秒钟才能停止扫描。
  • 仅当纸 (用完送纸器获取) 时,它才会停止。
  • 它完成将扫描头运行到床尾,然后将扫描头完全返回到其寄存的位置, (进行平板获取) 。

在内部,异步取消会将当前 WIA 2.0 扫描作业从应用内标记为已取消。 如果 WIA 设备对 WIA 服务进行下一次回调,作业取消可能不会成功传达给 WIA 驱动程序。 但是,即使 WIA 驱动程序收到来自其某个回调的取消请求,也不能保证该驱动程序可以立即或在任何可预测的时间段后成功停止扫描程序。

下面是此函数返回的 WIA 特定 HRESULT 错误代码以及标准 COM HRESULT 错误代码的列表。

注意

(API 将调用 WinRTOriginateError 和/或 OriginateErrorWithResourceString (所有特定 WIA 错误都将具有针对 WIA 特定故障 HRESULTs) 的可本地化错误说明) :

WIA_ERROR_GENERAL_ERRORWIA_ERROR_PAPER_JAMWIA_ERROR_PAPER_EMPTY
WIA_ERROR_PAPER_PROBLEMWIA_ERROR_OFFLINEWIA_ERROR_BUSY
WIA_ERROR_WARMING_UPWIA_ERROR_USER_INTERVENTIONWIA_ERROR_ITEM_DELETED
WIA_ERROR_DEVICE_COMMUNICATIONWIA_ERROR_INVALID_COMMANDWIA_ERROR_INCORRECT_HARDWARE_SETTING
WIA_ERROR_DEVICE_LOCKEDWIA_ERROR_EXCEPTION_IN_DRIVERWIA_ERROR_INVALID_DRIVER_RESPONSE
WIA_ERROR_COVER_OPENWIA_ERROR_LAMP_OFFWIA_ERROR_MULTI_FEED

有两种特殊情况:

  • WIA 的 HRESULT S_FALSE将转换为已取消的异步调用 (AsyncStatus.Canceled) 。
  • WIA 的WIA_ERROR_PAPER_EMPTY将由此 API 转换为成功返回 (AsyncStatus.Completed) ,其中文件列表 (IVectorView.Size 设置为 0) 。 为了防止孤立文件,此方法会在发生故障之前删除用于在发生故障时传输映像的任何剩余孤立文件。 方法将传输文件保存为临时文件,并保留这些文件,直到扫描作业完成。 应用必须指示用户重新扫描文档。

适用于