I'm pretty sure autohotkey can't make calls to managed dll assemblies using complex types as parameters. What you might want to do is research on how to do what I did using plain old directsound dlls ...
Can you create a complex object in AHK? This can't be done with just basic types like strings and ints. You need to create objects for devices and speakers and pass those objects to directsound.