Decrypt chave de perfil WEP wlan usando CryptUnprotectData

Eu estou tentando decifrar a chave do perfil WEP usandoCryptUnprotectData. A maneira como eu obtive a chave do perfil é exportando o perfil usando o netsh.

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

Por enquanto, copiei manualmente o material de chave do arquivo .xml gerado pelo comando netsh para o meu programa. E o caminho, estou decifrando é -

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());
}

Mas estou recebendo o código de erro13 citando dados inválidos. O que estou fazendo de errado ? No Win 7 e posterior, posso usar diretamenteWlanGetProfile com o parâmetroWLAN_PROFILE_GET_PLAINTEXT_KEY . Mas eu tenhoNÃO opção emVista do que usar a função CryptUnprotectData. Eu vi mensagens semelhantesAqui, Aqui mas não obteve muita informação útil. Além disso, estou usando o mesmo sistema com as mesmas credenciais de logon do usuário. Alguém poderia me sugerir como proceder?

PS: Eu publiquei a mesma pergunta nos fóruns do Windows Desktop SDK, mas ainda não obtive resposta. Tentando minha sorte em SO.

questionAnswers(1)

yourAnswerToTheQuestion