A varredura de imagem WIA C # falha com HRESULT: 0x80070050
Espero que alguém se depare com isso - estou tentando capturar imagens de um scanner de documentos usando o WIA, no entanto, em máquinas aleatórias ao tentar transferir o resultado da imagem - o WIA informa "O arquivo existe. - HRESULT: 0x80070050)" . Em todas as máquinas com esse problema, o uso inicial do software foi bem-sucedid
Consigo me conectar com sucesso ao scanner, consulte Nome, Fabricante, et
Decidi que posso digitalizar uma imagem com êxito, se executar o código em uma conta de usuário alternativa (usando o botão direito do mouse em executar como administrador). No entanto, a execução do código na mesma conta de usuário com privilégios elevados resulta no mesmo err
NOTA: A exceção está acontecendo no Item1.Transfer - até o momento eu ainda não forneci ao WIA um caminho de arquivo, portanto esse não pode ser o arquivo ao qual ele está se referind
WIA.DeviceManager DeviceManager1 = new WIA.DeviceManagerClass();
WIA.Device Scanner = DeviceManager1.DeviceInfos[i].Connect();
WIA.Item Item1 = null;
foreach (WIA.Item CurrentItem in Scanner.Items) {
Item1 = CurrentItem;
break;
}
WIA.ImageFile Image1 = new WIA.ImageFile();
//Attempt To Capture Scan
Image1 = (WIA.ImageFile)Item1.Transfer(WIA.FormatID.wiaFormatJPEG);
//Save To File
Image1.SaveFile(Path.Combine(Path.GetTempPath(), Path.GetRandomFileName() + @"\scan" + DateTime.Now.Ticks + ".jpg");
A resposta mais lógica é que o WIA está armazenando um arquivo temporário durante a captura de imagem - que eu não conheço - e não pode substituir uma verificação anterior. Alguém sabe onde isso pode ser?