1. It's a different type, so reinterpret_cast. It's very ugly by the way ;)
3. Nop, no parenthesis for arguments, even if they are complex expressions. You can also use "2" directly; in this case it's not a magic number, just the number of points you want to convert. But maybe this way of calling the function is "standard" (i.e. shown on the MSDN)?