Wie ich die genau beschaffen könnte ist mir immernoch unklar. Ich habe die
DLL und ein Programm das sie nutzt (kein Source der beiden!). Um an die Namen der Proceduren zu kommen hab ich die
DLL-Datei mit disasm disassmebliert. Was ich jetzt habe ist der Disassemblirte Code und meine
DLL die als Zwischenleitung fungiert.
Zitat:
Number of Exported Functions = 25 (decimal)
Addr:004426B8 Ord: 1 (0001h) Name: HarmonyGetVersion
Addr:004426C0 Ord: 2 (0002h) Name: HarmonyCreate
Addr:004426E4 Ord: 3 (0003h) Name: HarmonyRelease
Addr:00442708 Ord: 4 (0004h) Name: HarmonyInitMidi
Addr:0044272C Ord: 5 (0005h) Name: HarmonyInitWave
Addr:00442750 Ord: 6 (0006h) Name: HarmonyTermMidi
Addr:00442774 Ord: 7 (0007h) Name: HarmonyTermWave
Addr:00442798 Ord: 8 (0008h) Name: HarmonyCheckValidMidi
Addr:004427BC Ord: 9 (0009h) Name: HarmonyCheckValidWave
Addr:00442848 Ord: 10 (000Ah) Name: HarmonyFadeInMusic
Addr:00442874 Ord: 11 (000Bh) Name: HarmonyFadeOutMusic
Addr:004428A0 Ord: 12 (000Ch) Name: HarmonySetMusicVolume
Addr:004428CC Ord: 13 (000Dh) Name: HarmonySetMusicSpeed
Addr:004428F8 Ord: 14 (000Eh) Name: HarmonySetMusicPanpot
Addr:004427E0 Ord: 15 (000Fh) Name: HarmonyPlayMusic
Addr:00442924 Ord: 16 (0010h) Name: HarmonyStopMusic
Addr:00442948 Ord: 17 (0011h) Name: HarmonyGetMusicPlaying
Addr:0044296C Ord: 18 (0012h) Name: HarmonyGetMusicLooping
Addr:00442990 Ord: 19 (0013h) Name: HarmonyPlaySound
Addr:004429F8 Ord: 20 (0014h) Name: HarmonyPlaySoundEx
Addr:00442A6C Ord: 21 (0015h) Name: HarmonyStopSound
Addr:00442A90 Ord: 22 (0016h) Name: HarmonyCacheSound
Addr:00442AF8 Ord: 23 (0017h) Name: HarmonyReserveSound
Addr:00442B60 Ord: 24 (0018h) Name: HarmonyCancelSound
Addr:00442BC8 Ord: 25 (0019h) Name: HarmonyGetMidiTick
Zitat:
Sym = HarmonyGetVersion [004426B8:8 (268984)]
Sym = HarmonyCreate [004426C0:36 (268992)]
Sym = HarmonyRelease [004426E4:36 (269028)]
Sym = HarmonyInitMidi [00442708:36 (269064)]
Sym = HarmonyInitWave [0044272C:36 (269100)]
Sym = HarmonyTermMidi [00442750:36 (269136)]
Sym = HarmonyTermWave [00442774:36 (269172)]
Sym = HarmonyCheckValidMidi [00442798:36 (269208)]
Sym = HarmonyCheckValidWave [004427BC:36 (269244)]
Sym = HarmonyPlayMusic [004427E0:104 (269280)]
Sym = HarmonyFadeInMusic [00442848:44 (269384)]
Sym = HarmonyFadeOutMusic [00442874:44 (269428)]
Sym = HarmonySetMusicVolume [004428A0:44 (269472)]
Sym = HarmonySetMusicSpeed [004428CC:44 (269516)]
Sym = HarmonySetMusicPanpot [004428F8:44 (269560)]
Sym = HarmonyStopMusic [00442924:36 (269604)]
Sym = HarmonyGetMusicPlaying [00442948:36 (269640)]
Sym = HarmonyGetMusicLooping [0044296C:36 (269676)]
Sym = HarmonyPlaySound [00442990:104 (269712)]
Sym = HarmonyPlaySoundEx [004429F8:116 (269816)]
Sym = HarmonyStopSound [00442A6C:36 (269932)]
Sym = HarmonyCacheSound [00442A90:104 (269968)]
Sym = HarmonyReserveSound [00442AF8:104 (270072)]
Sym = HarmonyCancelSound [00442B60:104 (270176)]
Sym = HarmonyGetMidiTick [00442BC8:0 (270280)]
und dann natürlich noch den
ASM-Code jeder Funktion:
z.B.:
Zitat:
:004426B8 B8C8000000 mov eax, 000000C8
:004426BD C3 ret
:004426BE 8BC0 mov eax, eax