Prima in VB6 nella mia dll scrivevo così:

Public Function MyList(ByVal strSQL As String) As ADODB.Recordset
Set rs = New ADODB.Recordset

Set Conn = New ADODB.Connection
Conn.Open strConn
rs.Open strSQL, Conn, 1, 3
If Not rs.BOF And Not rs.EOF Then
Set MyList= rs.Clone
Else
Set MyList= Nothing
End If

rs.Close
Set rs = Nothing
Set Conn = Nothing
End Function

Come si fa in vbNET a passare recordset ed utilizzarlo nel codice del progetto che contiene la dll?