【问题标题】:Wia API - Error on changing transfer file formatWia API - 更改传输文件格式时出错
【发布时间】:2020-05-18 10:48:14
【问题描述】:

我尝试使用 Windows Wia API 控制我的 Wifi 扫描仪。

我按照以下教程进行操作:
https://docs.microsoft.com/en-us/windows/win32/wia/-wia-wia-tutorial

我查看了示例:
https://github.com/pauldotknopf/WindowsSDK7-Samples/tree/master/multimedia/wia

我基本上是从datatransfer项目中复制代码:
https://github.com/pauldotknopf/WindowsSDK7-Samples/tree/master/multimedia/wia/datatransfer

一切正常。我可以与我的扫描仪通信并将文档扫描为“.BMP”文件。

现在我想尝试一些设置。我开始尝试更改文件格式。

DataTransfer.cpp 中:
https://github.com/pauldotknopf/WindowsSDK7-Samples/blob/master/multimedia/wia/datatransfer/DataTransfer.cpp

扫描发生在HRESULT DownloadItem(IWiaItem2* pWiaItem2 , BOOL bTransferFlag)
我以为那里指定了文件格式:


HRESULT DownloadItem(IWiaItem2* pWiaItem2 , BOOL bTransferFlag
{
    ...

                    GUID itemCategory = GUID_NULL;
                    ReadPropertyGuid(pWiaItem2,WIA_IPA_ITEM_CATEGORY,&itemCategory );

                    if( (!IsEqualIID(itemCategory,WIA_CATEGORY_FINISHED_FILE)) || (!IsEqualIID(itemCategory,WIA_CATEGORY_FOLDER)) )
                    {                     
                        /* WiaImgFmt_BMP sets the format to ".BMP" */
                        hr = WritePropertyGuid(pWiaPropertyStorage,WIA_IPA_FORMAT,WiaImgFmt_BMP);
                    }

                    if(FAILED(hr))
                    {
                        ReportError(TEXT("WritePropertyGuid() failed in DownloadItem().Format couldn't be set to BMP"),hr);
                    }

    ...

}

所以我尝试将WiaImgFmt_BMP 更改为其他格式,例如WiaImgFmt_JPEGWiaImgFmt_PNG 但他们返回错误:HRESLUT: 0x80070057

我怎样才能做到这一点?

我认为扫描仪可能不支持其他格式,但我不知道如何检查。 当我对此进行研究时,我只发现了对 Wia Mini Driver 的参考。但是我不太明白API和驱动程序之间的区别。如果有人可以向我解释这一点,我将不胜感激。

Windows 传真和扫描确实提供 PNG、JPEG 格式,我认为它们也使用 Wia,所以如果不支持这些格式,我会感到惊讶。

【问题讨论】:

  • 好的,所以我发现 HRESLUT: 0x8007005 意味着我没有访问权限。如果我查看 WIA_IPA_ACCESS_RIGHTS,它也设置为 WIA_ITEM_READ,这意味着只读。

标签: c++ windows format wia


【解决方案1】:

我认为它只支持 BMP 和 JPEG,你可以使用 IWiaTransfer::EnumWIA_FORMAT_INFO 方法知道它支持的格式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多