Sergey Khodych wrote:
In ascii function you are calling unicode function and copying it's output (unicode string) to the ascii string buffer. This is wrong. Also because these functions deal with strings you have to implement both ascii and unicode functions at the same time. You can't forward one to the other.
Variable ps->wsz not a ascii string buffer because wsz field of struct DIPROPSTRING has type WCHAR[MAX_PATH]. Function IDirectInputDevice8::GetProperty works only with unicode strings.
No, there are 2 separate implementations - one ascii another unicode. During the object creation one would specify either ascii or unicode RIID.
Vitaliy.