https://github.com/microsoft/windows-rs/issues/973#issuecomment-1346528303
これが唯一の正解
str.encode_utf16().chain(Some(0)).collect(); // 動かない
とか
OsStr::new(str).encode_wide().chain(Some(0).into_iter()).collect::<Vec<_>>() // 動かない
と書いてる人が多く見受けられるけど、どれも動かない。
UTF-16 にしたい場合
HSTRING::from(source).to_vec() // --> Vec<u16> これは動く
でよい。