Condividi tramite


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