Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Prüfen, ob PChar einen Ordinalwert enthält?

  Alt 22. Feb 2014, 14:07
Hallo zusammen,

gibt es eine Standard-Vorhergehensweise, um zu prüfen, ob ein P(Ansi)Char Wert als Ordinalwert gebraucht wird? GetProcAddress erlaubt ja beispielsweise PAnsiChar Werte in dieser Form zu [strike]miss[/strike]ge-brauchen. Auch Resourcen können auf diesem Wege adressiert werden.

Folgendes habe ich öfters mal gefunden:
IsOrdinal := (NativeUInt(PCharValue) shr 16) = 0; Hier wird impliziert, dass der PChar nur bei Verwendung von mehr als 16 Bits einen validen Pointer enthalten kann.

Kann man das so nehmen, oder gibt es hier eventuell irgendeine Art von Vorgabe von MS selbst?

Viele Grüße
Zacherl
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat