Re: API-Funktion gibt Pointer auf ein Array einer Struktur zurück - wie zugreifen?

From: Gottfried Lesigang (gottfried.lesigang_at_web.de)
Date: 10/15/04


Date: Fri, 15 Oct 2004 20:12:46 +0200

Hallo Mathias!

> die API-Funktion FaxEnumJobs gibt einen Pointer auf ein Array von
> FAX_JOB_ENTRY-Strukturen zurück. Wie bekomme ich nun unter VB die Daten
> aus diesem Struktur-Array in den Zugriff?

Du legst dir einen "Type" mit genau dieser Struktur an und dimensionierst
ein ausreichend großes Array dieses Typs. Dann kopierst du mit
"RtlMoveMemory" (wird meist "CopyMemory" genannt) den Speicherbereich
beginnend mit dem erhaltenen Pointer an die Adresse "VarPtr(DeinArray(0))"
(0 steht hier für den untersten Index... ). Danach hast du - identische
Struktur vorausgesetzt - vollen Zugriff auf diese Daten!

HTH
Gottfried



Relevant Pages

  • Re: Speicherverwaltung: eigene vs. System
    ... Mit mmaphat man einen Weg geschaffen dies zu zu umgehen, indem die Funktion die Plattenpuffer direkt in den Speicherbereich des Prozesses einblendet. ... Letztlich ist mmapfür einen direkteren und schnelleren Zugriff auf Dateien konzipiert worden und nicht für das reservieren von Speicherbereichen. ... Ansonsten könnte ich mir noch vorstellen, dass man mittels mmapdie 2GB-Grenze bei 32-Bit-Systemen umgeht, indem man immer nur einen Teil des Speichers in die Applikation einblendet. ...
    (de.comp.os.unix.programming)
  • Re: xp Arbeitsstationsdienst startet nicht fehler 998
    ... Fehler 998: Unzulässiger Zugriff auf einen Speicherbereich ... Ich mag kein TOFU. ...
    (microsoft.public.de.german.windowsxp.networking)