Aber ich verwende davon nur 160 Floats.
Du ja, aber die Bass.dll der du genau diesen Buffer zum rein Schreiben gibst schert sich nicht darum. Mit dem Parameter "BASS_DATA_FFT512" forderst du explizit 256 (danke für die Klärung) Werte (Floats) an, und so viele schreibt die
DLL dann auch. Völlig egal auf welche Länge das übergebene Array gesetzt wurde. (Genau genommen weiss die
DLL nichtmals, dass es ein Array ist. Nur, dass sie ab Speicheradresse X (=Pointer(Buffer), aber das weiss nur dein Code, nicht die
DLL) seine 256 Floats schreiben darf. Dass sie das auch wirklich darf, das ist in deinem Verantwortungsbereich.)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)