Description is a WCHAR. You then take the address of that. Then you cast that address, which is a WCHAR **, to a WCHAR *.
The type of &adapterDesc.Description is WCHAR (*), not WCHAR **. The types on either side of the assignment are ultimately different and incompatible, but the pointer is likely going to end up pointing to the first element of the Description array anyway in practice, setting aside all the theoretical problems.