a string in the "[<username>[:<password>]@]<DSN>" form
a place to store the new string containing the <DSN> part
a place to store the new string containing the <username> part
a place to store the new string containing the <password> part
Extract the DSN, username and password from string. in string, the various parts are strings which are expected to be encoded using an RFC 1738 compliant encoding. If they are specified, the returned username and password strings are correctly decoded.
out_username and out_password may be set to null depending on string's format.