Odszyfruj klucz profilu WEP wlan przy użyciu CryptUnprotectData

Próbuję odszyfrować klucz profilu WEP za pomocąCryptUnprotectData. Sposób pobrania klucza profilu polega na wyeksportowaniu profilu za pomocą netsh.

netsh wlan export profile name="MyWEP" folder="./"

Na razie ręcznie skopiowałem klucz materiału z pliku .xml wygenerowanego przez polecenie netsh do mojego programu. A sposób, w jaki odszyfrowywam to -

DATA_BLOB DataOut, DataVerify;
DataOut.cbData = encryptData.length();
DataOut.pbData = (BYTE*)("I_Manually_Copy_The_WEP_Key_Here");

if (CryptUnprotectData( &DataOut,
                        NULL,
                        NULL,
                        NULL,
                        NULL,
                        0,
                        &DataVerify))
{
    printf("The decrypted data is: %s\n", DataVerify.pbData);
}
else
{
    printf("Failed. Error Code: %d", GetLastError());
}

Ale dostaję kod błędu13 powołując się na nieprawidłowe dane. Co ja robię źle ? W Win 7 i nowszych mogę bezpośrednio korzystaćWlanGetProfile z parametremWLAN_PROFILE_GET_PLAINTEXT_KEY . Ale mamNIE opcja włączonaWidok niż użyć funkcji CryptUnprotectData. Widziałem podobne postytutaj, tutaj ale nie otrzymałem zbyt wielu przydatnych informacji. Ponadto używam tego samego systemu z tymi samymi danymi logowania użytkownika. Czy ktoś mógłby mi zaproponować, jak postępować?

PS: Wysłałem to samo pytanie na forach Windows Desktop SDK, ale jeszcze nie otrzymałem odpowiedzi. Próbuję szczęścia na TAK.

questionAnswers(1)

yourAnswerToTheQuestion