wie variable vom typ LPMSG* initialisieren
-
Hi!
Wie kann ich eine Variable vom Typ LPMSG* initialisieren? Ich benutze MSVC++
Vielen Dank im Voraus
-
gehört LPMSG zu MFC oder winapi?
-
LPMSG* pMsg = new MSG;
ist aber eigentlich nicht so üblich.
MSG msg;
LPMSG pMsg = &msg;
-
;;; schrieb:
LPMSG* pMsg = new MSG;
LPMSG* wäre MSG** - wozu auch immer man sowas braucht...?
-
sorry, hab mir verschrieben
-
@Dimah
zur winapi !Aller "schmutz" der mit LP (long pointer = 32 bit pointer) Anfaengt, ist fast zu 100% winapi !
Alles was mit MFC und so zu tun hat, ist meist als klasse realisiert und faengt mit C an ...
definiert die MFC ueberhaupt eigene reine Strukturen ???Nun koennt man denken, CMsg waer dann der MFC-Wrapper fuer die API windows Message structs (Msg) ... isses aber nicht ... fuer Mfc gibts kein Wrapper fuer Fenster-Nachrichten :p
CMsg taucht irgendwie nur in der MicrosoftDirectShow
class library auf ...
LPMSG* pMsg = new MSG;
ist aber eigentlich nicht so üblich.
MSG msg;
LPMSG pMsg = &msg;Kommt auf die verwendung an ...
du uebergibst nen Zeiger auf ne von dir verwaltete Struktur, wenn die selber erstellst . also musst sicherstellen, das die Struktur soloange exisitiert, wie die funktion die Strukt braucht ...
nen Statische Variable haelt nur solang bis den Scope der Funktion verlaest.
Da die meisten API funktionen aber nix eiligeres zu tun haben, als die Msg Strukt zu kopieren, und die kopie in die warteschlange zu stellen, braucht der zeiger auf die Struct nur waehrend des API aufrufes gueltig sein ....also meistens langt es wenn
MSG msg;
deklarierst ..... befuellst
und deinem API call &msg fuer den LPMSG Parameter uebergibst ...Ciao ...