Partilhar via


Escrevendo seu próprio manipulador personalizado

Talvez você queira escrever seu próprio manipulador se for um administrador de servidor do IIS que queira o suporte padrão do RDS, mas mais controle sobre solicitações de usuário e direitos de acesso.

O manipulador MSDFMAP implementa a interface IDataFactoryHandler.

Importante

A partir do Windows 8 e do Windows Server 2012, os componentes do servidor RDS não estão mais incluídos no sistema operacional Windows (consulte o Windows 8 e o Windows Server 2012 Compatibility Cookbook para obter mais detalhes). Os componentes do cliente RDS serão removidos em uma versão futura do Windows. Evite usar esse recurso em um novo trabalho de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Os aplicativos que usam RDS devem migrar para WCF Data Service.

IDataFactoryHandler Interface

Essa interface tem dois métodos, GetRecordset e Reconnect. Ambos os métodos exigem que a propriedade CursorLocation seja definida como adUseClient.

Ambos os métodos usam argumentos que aparecem após a primeira vírgula na palavra-chave "Handler=". Por exemplo, "Handler=progid,arg1,arg2;" passará uma cadeia de caracteres de argumento de "arg1,arg2"e "Handler=progid" passará um argumento nulo.

Método GetRecordset

Esse método consulta a fonte de dados e cria um novo objeto Recordset usando os argumentos fornecidos. O Recordset deve ser aberto com adLockBatchOptimistic e não deve ser aberto de forma assíncrona.

Argumentos

conn A cadeia de conexão.

args Os argumentos para o manipulador.

consulta texto de comando para realizar uma consulta.

ppRS O ponteiro onde o conjunto de registros deve ser retornado.

Método Reconectar

Esse método atualiza a fonte de dados. Ele cria um novo objeto Connection e anexa o conjunto de registros fornecido.

Argumentos

conn A cadeia de conexão.

args Os argumentos para o manipulador.

A Recordset objeto.

msdfhdl.idl

Essa é a definição de interface para IDataFactoryHandler que aparece no arquivo 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);  
    };  
};  

Consulte Também

Seção de Conexão de Arquivo de Personalização
Seção de logs de arquivos de personalização
Seção SQL do arquivo de personalização
Seção UserList do arquivo de personalização
Personalização do DataFactory
As configurações necessárias do cliente
noções básicas sobre o arquivo de personalização