Hallo Autoit-ler,
heute habe ich ein mehr oder weniger großes Problem, was ich allein wohl leider nicht zu überwinden vermag. Mein Problem ist folgendes:
Ich muss ein DllStruct erstellen, in welchem ein DllCallback als Datentyp angegeben werden muss. Ich habe ein explizites Beispiel vorliegen:
Hier also der Code für den Struct in C-Code:
Code
typedef struct {
int cbsize;
unsigned int length;
unsigned int fileoffset;
int numchannels;
int defaultfrequency;
FMOD_SOUND_FORMAT format;
unsigned int decodebuffersize;
int initialsubsound;
int numsubsounds;
int * inclusionlist;
int inclusionlistnum;
FMOD_SOUND_PCMREADCALLBACK pcmreadcallback;
FMOD_SOUND_PCMSETPOSCALLBACK pcmsetposcallback;
FMOD_SOUND_NONBLOCKCALLBACK nonblockcallback;
const char * dlsname;
const char * encryptionkey;
int maxpolyphony;
void * userdata;
FMOD_SOUND_TYPE suggestedsoundtype;
FMOD_FILE_OPENCALLBACK useropen;
FMOD_FILE_CLOSECALLBACK userclose;
FMOD_FILE_READCALLBACK userread;
FMOD_FILE_SEEKCALLBACK userseek;
FMOD_FILE_ASYNCREADCALLBACK userasyncread;
FMOD_FILE_ASYNCCANCELCALLBACK userasynccancel;
FMOD_SPEAKERMAPTYPE speakermap;
FMOD_SOUNDGROUP * initialsoundgroup;
unsigned int initialseekposition;
FMOD_TIMEUNIT initialseekpostype;
int ignoresetfilesystem;
int cddaforceaspi;
unsigned int audioqueuepolicy;
unsigned int minmidigranularity;
int nonblockthreadid;
} FMOD_CREATESOUNDEXINFO;
Alles anzeigen
Dabei ist zum Beispiel fmod_pcmreadcallback ein callback. Dessen Code habt ihr hier, in c/c++ code:
Code
FMOD_RESULT F_CALLBACK FMOD_SOUND_PCMREADCALLBACK(
FMOD_SOUND * sound,
void * data,
unsigned int datalen
);
Ich bin mir sicher, dass ich nah am Durchblick bin, aber im Moment habe ich noch ein Brett vorm Kopf... wie kann ich das ungefähr realisieren? Bitte helft mir ;). Danke schonmal im Vorraus.
mfg.
Timtam