AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

WM_COPYDATA 64Bit -> 32Bit

Ein Thema von Gruber_Hans_12345 · begonnen am 4. Nov 2010 · letzter Beitrag vom 9. Nov 2010
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.553 Beiträge
 
Delphi 12 Athens
 
#1

AW: WM_COPYDATA 64Bit -> 32Bit

  Alt 4. Nov 2010, 13:03
Wo tritt denn die AV auf?

Du könntest dir ja auch erstmal an deine 32-Bit-Anwendung von einer anderen 32-Bit-Anwendung die Daten senden und shcauen ob es da läuft,
sowie die Daten von deiner 64-Bit-Anwendung an eine andere 64-Bit-Testanwendung senden.

Ansonsten bliebe auch noch MMF oder eine Pipe als Alternative.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#2

AW: WM_COPYDATA 64Bit -> 32Bit

  Alt 4. Nov 2010, 13:06
64bit. Hmm? Zufällig Vista oder höher? Wenn ja, könnte es auch sein, daß dir ohnehin die Integrity Levels (MSDN-Library durchsuchenWindows Integrity Mechanism) dazwischenfunken. Schon das Drag&Drop von Dateien auf ein Fenster mit höherem Integrity Level funktioniert meines Wissens nach nicht mehr.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.553 Beiträge
 
Delphi 12 Athens
 
#3

AW: WM_COPYDATA 64Bit -> 32Bit

  Alt 4. Nov 2010, 13:34
Wenn er von 64 auf die 32 Bit die Message sendet und die AV in 32 auftritt, also dem Ziel, dann muß es ja erfolgreich versendet worden sein?

Dieses Integrity Levels-Dingens sollte doch nur auftreten, wenn man Messages zwischen Anwendungen unterschiedlicher Rechte verwenden will?
Also z.B. von einem billigen User-Prozess zu einem mit höheren Adminrechten.
(wie z.B. Drag&Drop-Messages von einem normalen Explorer zu einer Anwendung mit Adminrechten)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#4

AW: WM_COPYDATA 64Bit -> 32Bit

  Alt 4. Nov 2010, 13:44
Wenn er von 64 auf die 32 Bit die Message sendet und die AV in 32 auftritt, also dem Ziel, dann muß es ja erfolgreich versendet worden sein?
... ups

Dieses Integrity Levels-Dingens sollte doch nur auftreten, wenn man Messages zwischen Anwendungen unterschiedlicher Rechte verwenden will?
Die klassischen Rechte haben damit nur bedingt zu tun, wie ich das verstanden habe. Müßte man mal Dezi fragen.

billigen User-Prozess
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#5

AW: WM_COPYDATA 64Bit -> 32Bit

  Alt 4. Nov 2010, 21:23
Die Ausrichtung (Alignment) der Strukturen ist eine andere. Schau mal, wie groß deine Strukturen in 64 und 32bit sind mit sizeof(). Bei 64bit brauchen solche Strukturen oftmals mehr Speicher als im 32bit Zielprozess allokiert wurde. WM_COPYDATA ist doch DDE?! Die Daten sind doch für den Zielprozess als Readonly zu betrachten, ich glaube daher nicht, dass Windows die Daten irgendwie konvertiert (außer in den Prozess zu kopieren).
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.441 Beiträge
 
Delphi 2007 Professional
 
#6

AW: WM_COPYDATA 64Bit -> 32Bit

  Alt 9. Nov 2010, 16:17
Also mittlerweile funkt es, das problem war im FPC bzw Lazarus, wo die TCopyDataStruct falsch definiert war, der Pointer Parameter war als DWORD definiert, und so kam nur müll in der 32Bit Anwendung an.
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz