Seite 1 von 1

UnDecorateSymbolName_ und Unicode

Verfasst: 31.03.2009 11:07
von jpd
Hallo,

ich würde gerne diese procedure in Unicode ausführen,
leider wird immer nur der erste zeichen des name angezeigt.

kann jemand bitte helfen diese in unicode modus am laufen zu kriegen?

Vielen Dank
jpd


Code: Alles auswählen

Procedure LibFuncName(dll_file.s)

  Protected Line.l = 0, OpenLib.l
  OpenLib=OpenLibrary(#PB_Any,dll_file) 
  If OpenLib
    If ExamineLibraryFunctions(OpenLib) <>0
      Result = CountLibraryFunctions(OpenLib)
      If  result
        While NextLibraryFunction() 
          decoratedname$=LibraryFunctionName() 
          undecoratedname$=Space(256)
          UnDecorateSymbolName_(decoratedname$,undecoratedname$,256 ,$1000) 
          Debug undecoratedname$
        Wend 
      EndIf
    Else
      Debug "Cannot Examine DLL!"
    EndIf
    CloseLibrary(OpenLib)
  EndIf 
   

EndProcedure


LibFuncName("C:\Windows\System32\wsock32.DLL")



Verfasst: 31.03.2009 15:28
von ts-soft

Code: Alles auswählen

Prototype UnDecorateSymbolName(decoratedname.s, undecoratedname.s, length.l, flags.l)
OpenLibrary(0, "DbgHelp.dll")
CompilerIf #PB_Compiler_Unicode
  Global UnDecorateSymbolName.UnDecorateSymbolName = GetFunction(0, "UnDecorateSymbolNameW")
CompilerElse
  Global UnDecorateSymbolName.UnDecorateSymbolName = GetFunction(0, "UnDecorateSymbolName")
CompilerEndIf

Procedure LibFuncName(dll_file.s)

  Protected Line.l = 0, OpenLib.l
  OpenLib=OpenLibrary(#PB_Any,dll_file)
  If OpenLib
    If ExamineLibraryFunctions(OpenLib) <>0
      Result = CountLibraryFunctions(OpenLib)
      If  result
        While NextLibraryFunction()
          decoratedname$=LibraryFunctionName()
          undecoratedname$=Space(256)
          UnDecorateSymbolName(decoratedname$,undecoratedname$,256 ,$1000)
          Debug undecoratedname$
        Wend
      EndIf
    Else
      Debug "Cannot Examine DLL!"
    EndIf
    CloseLibrary(OpenLib)
  EndIf
   

EndProcedure


LibFuncName("C:\Windows\System32\wsock32.DLL")


Verfasst: 31.03.2009 16:04
von jpd
Hallo Ts-soft,

Vielen Dank!

müsste die UnDecorateSymbolName_(

nicht beide funktionen berücksichtigen?

kann überprüft werde was PB für eine xxx_ funktion importiert?

Danke
jpd

Verfasst: 31.03.2009 16:09
von ts-soft
jpd hat geschrieben: müsste die UnDecorateSymbolName_(

nicht beide funktionen berücksichtigen?
Ich denke mal, das wurde nicht autom. berücksichtigt, weil die ANSI Version
kein A am Ende hat :mrgreen:

Verfasst: 31.03.2009 16:19
von jpd
klingt logisch!

Danke.