Frage an .net, wic, windows-server-2008, vb.net, windows-server-2008-r2 – WIC CreateDecoderFromStream gibt 0x88982F50 nach der Servermigration zurück

3

Ich habe eine Routine zur Erstellung von Miniaturansichten, die ich mit WIC für eine .NET-App erstellt habe. Es hat im letzten Jahr gut funktioniert, aber wir sind gerade auf einen neuen Server umgestiegen.

Alter Server war W2k8 R2 Enterprise SP1 Neuer Server ist W2k8 Standard SP1

Hier ist der Code, der fehlschlägt

    Public Sub New(ByVal PictureData As Byte())
        Me.WICFactory = New WICImagingFactory()

        Dim InputStream As IWICStream = WICFactory.CreateStream()
        InputStream.InitializeFromMemory(PictureData, PictureData.Length)

        InputDecoder = WICFactory.CreateDecoderFromStream(InputStream, Nothing, WICDecodeOptions.WICDecodeMetadataCacheOnDemand)

        '^===== This line throws the HRESULT 0x88982F50

Ich habe geprüft und die Bilddaten sind gültige Daten. Das gleiche Bild funktioniert einwandfrei, wenn ich den Code auf dem alten Server ausführe.

Deine Antwort

2   die antwort
1

dass WIC keine Decoder-Klasse finden konnte, die für den Dateityp in Ihrem Stream registriert ist.

Folgendes würde ich vorschlagen:

Drucken Sie auf dem alten Server, auf dem es funktioniert, den Wert von InputDecoder.GetDecoderInfo (). GetCLSID () und möglicherweise auch GetAuthor / GetFriendlyName aus. Wenn es sich um eine der aufgelisteten integrierten CLSIDs handeltHier, dann ist der WIC auf Ihrem neuen Computer wahrscheinlich defekt. Andernfalls müssen Sie herausfinden, woher der auf dem alten Computer verwendete Decoder stammt, und ihn auf dem neuen Computer installieren.

Oder suchen Sie einfach nach einem Decoder für die Art der Datei, die Sie haben.

1

dass ich Server 2008 SP1 ausführte. Wie beschrieben indiese Frage, müssen Sie ein Plattform-Update auf Server 2008 (nach SP2) anwenden, bevor WIC verfügbar ist. (Es ist nativ in R2 verfügbar)

Verwandte Fragen