Hallo,
Beim Versuch die Funktion TakeScreenShotToArray
aufzurufen, ergibt sich für mich folgendes Problem:
Ich lese aus o.g. Funktionsbeschreibung, dass die Funktion als Rückgabewert ein Byte() Array mit fest definierter Größe zurückliefert (SafeArray).
Leider bekomme ich wenn ich den Funktionsaufruf folgendermaßen implementiere:
eine exception:
Ich weiss langsam echt nicht weiter
Aus dem Sourcode der VirtualBox API hab ich herauslesen könnten das es sich bei dem o.g. Array octet[] um ein SafeArray handeln muss. Nun widersprechen sich allerdings die Aussagen in diversen Foren... Ein VB.net Array ist IMMER ein SafeARray... bzw. ist es nicht... was ist nun richtig und wer könnte mir einen kleinen Denkanstoß geben?
Gruß Kai B.
Beim Versuch die Funktion TakeScreenShotToArray
octet[] IDisplay::takeScreenShotToArray(
[in] unsigned long screenId,
[in] unsigned long width,
[in] unsigned long height)
screenId Monitor to take screenshot from.
width Desired image width.
height Desired image height.
Takes a guest screen shot of the requested size and returns it as an array of bytes in
uncompressed 32-bit RGBA format. A pixel consists of 4 bytes in order: R, G, B, 0xFF.
[in] unsigned long screenId,
[in] unsigned long width,
[in] unsigned long height)
screenId Monitor to take screenshot from.
width Desired image width.
height Desired image height.
Takes a guest screen shot of the requested size and returns it as an array of bytes in
uncompressed 32-bit RGBA format. A pixel consists of 4 bytes in order: R, G, B, 0xFF.
Ich lese aus o.g. Funktionsbeschreibung, dass die Funktion als Rückgabewert ein Byte() Array mit fest definierter Größe zurückliefert (SafeArray).
Leider bekomme ich wenn ich den Funktionsaufruf folgendermaßen implementiere:
Code:
Dim data1() As Byte Try data1 = display.TakeScreenShotToArray(0, breite, hoehe) Catch ex As Exception Console.WriteLine(ex.Message) End Try
Specified array was not of the expected type.
'System.Runtime.InteropServices.SafeArrayTypeMisma tchException'
'System.Runtime.InteropServices.SafeArrayTypeMisma tchException'
Aus dem Sourcode der VirtualBox API hab ich herauslesen könnten das es sich bei dem o.g. Array octet[] um ein SafeArray handeln muss. Nun widersprechen sich allerdings die Aussagen in diversen Foren... Ein VB.net Array ist IMMER ein SafeARray... bzw. ist es nicht... was ist nun richtig und wer könnte mir einen kleinen Denkanstoß geben?
Gruß Kai B.