Buenas Club Delphi,
Esta tarde he tenido un rato libre (bendito lujo), y he logrado solucionar el problema. En realidad, como veréis, la cosa es mucho más sencilla de lo que parecía. Únicamente hacía falta tener un poco de tiempo para investigar. Os dejo una función de ejemplo por si alguien le sirve en el futuro:
Código Delphi
[-]procedure TForm1.SaveCredentials(Target: WideString; User: WideString; Password: WideString);
begin
CREDENTIALS.TargetName := PWideChar(Target);
CREDENTIALS.Type_:= CRED_TYPE_GENERIC;
CREDENTIALS.UserName := PWideChar(User);
CREDENTIALS.Persist := CRED_PERSIST_ENTERPRISE;
CREDENTIALS.CredentialBlob := PByte(Password);
CREDENTIALS.CredentialBlobSize := 2*(Length(Password));
if CredWrite(@CREDENTIALS,0) then
ShowMessage('Sucess')
else
ShowMessage(IntToStr(GetLastError));
end;
Hay que tener en cuenta que he tenido que utilizar la librería "JEDI Windows API" que traduce las funciones avanzadas de la API de Windows a DELPHI. No es mayor problema, ya sabemos que la gente de PROJECT JEDI hace un fabuloso trabajo traduciendo cabeceras de C a DELPHI. En fin, en definitiva, hay que llamar a JwaWinCred.
Por cierto, la variable CREDENTIALS es del tipo CREDENTIALW (contenida en JwaWinCred).
Links de interés (Por favor, que algún moderador formatee bien los enlaces. Es en atención a posibles usuarios interesados en este tema. Muchas gracias):
Muchas gracias a todos por la atención. Espero que esta información le resulte útil a alguien.