Zitat von
Dezipaitor:
Ich dachte eigentlich, dass ein Marshall nur für OutOfProcess Server notwendig sind. Weil die Kommunikation über ein externes Protokoll passiert. D.h. Parameterwerte müssen als Bytestream gespeichert und auf der anderen Seite interpretiert werden.
Für InProcessServer ist das nicht notwendig, weil der Aufrufer und
COM denselben Speicher sich teilen, ja sogar derselbe Process sind. Es ist also ein ganz normaler Stackwind und Stackunwind Aufruf.
Man braucht dann einen (eigenen) Marschaller wenn man Datentypen verwendet die der Standard-Marschaller von Windows nicht von sich aus behandeln kann. Bei Visual C++ ist es üblich eigenen eigenen Marschaller zu basteln, bei Delphi kann man AFAIK keinen eigenen entwickeln (außer mit sehr Low-Level
API-Aufrufen).
Windows Vista - Eine neue Erfahrung in Fehlern.