Scrivere un gestore personalizzato
È possibile scrivere un gestore personalizzato se si è un amministratore del server IIS che vuole il supporto predefinito di Servizi Desktop remoto, ma maggiore controllo sulle richieste utente e sui diritti di accesso.
Il gestore MSDFMAP implementa l'interfaccia IDataFactoryHandler.
Importante
A partire da Windows 8 e Windows Server 2012, i componenti del server Servizi Desktop remoto non sono più inclusi nel sistema operativo Windows (vedere Windows 8 e Guida di riferimento per la compatibilità di Windows Server 2012 per ulteriori dettagli). I componenti client RDS verranno rimossi in una versione futura di Windows. Evitare di usare questa funzionalità nel nuovo lavoro di sviluppo e pianificare la modifica delle applicazioni che attualmente usano questa funzionalità. Le applicazioni che usano RDS devono eseguire la migrazione a WCF Data Service.
Interfaccia IDataFactoryHandler
Questa interfaccia include due metodi, GetRecordset e Reconnect. Entrambi i metodi richiedono che la proprietà CursorLocation sia impostata su adUseClient.
Entrambi i metodi accettano argomenti visualizzati dopo la prima virgola nella parola chiave "Handler=". Ad esempio, "Handler=progid,arg1,arg2;"
passerà una stringa di argomento di "arg1,arg2"
e "Handler=progid"
passerà un argomento Null.
Metodo GetRecordset
Questo metodo esegue una query sull'origine dati e crea un nuovo oggetto Recordset utilizzando gli argomenti forniti. Il recordset deve essere aperto con adLockBatchOptimistic e non deve essere aperto in modo asincrono.
Argomenti
conn Stringa di connessione.
argomenti Gli argomenti destinati al gestore.
query Il testo del comando per eseguire una query.
ppRS Puntatore in cui deve essere restituito il recordset.
Metodo Reconnect
Questo metodo aggiorna l'origine dati. Crea un nuovo oggetto Connection e associa il Recordset specificato .
Argomenti
conn Stringa di connessione.
argomenti Gli argomenti per il gestore.
un oggetto Recordset A.
msdfhdl.idl
Questa è la definizione dell'interfaccia per IDataFactoryHandler visualizzata nel file msdfhdl.idl.
[
uuid(D80DE8B3-0001-11d1-91E6-00C04FBBBFB3),
version(1.0)
]
library MSDFHDL
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
// TLib : Microsoft ActiveX Data Objects 2.0 Library
// {00000200-0000-0010-8000-00AA006D2EA4}
#ifdef IMPLIB
importlib("implib\\x86\\release\\ado\\msado15.dll");
#else
importlib("msado20.dll");
#endif
[
odl,
uuid(D80DE8B5-0001-11d1-91E6-00C04FBBBFB3),
version(1.0)
]
interface IDataFactoryHandler : IUnknown
{
HRESULT _stdcall GetRecordset(
[in] BSTR conn,
[in] BSTR args,
[in] BSTR query,
[out, retval] _Recordset **ppRS);
// DataFactory will use the ActiveConnection property
// on the Recordset after calling Reconnect.
HRESULT _stdcall Reconnect(
[in] BSTR conn,
[in] BSTR args,
[in] _Recordset *pRS);
};
};
Vedere anche
Sezione File Connect di personalizzazione
sezione log dei file di personalizzazione
Sezione SQL del file di personalizzazione
Sezione UserList del file di personalizzazione
Personalizzazione DataFactory
impostazioni client necessarie
Comprendere il file di personalizzazione