Compartilhar via


Escrever o seu próprio manipulador personalizado

Aplica-se ao: Access 2013 | Access 2016

Você talvez queira criar seu próprio manipulador se for administrador de um servidor IIS que deseja obter suporte do RDS padrão, além de mais controle sobre direitos de acesso e solicitações de usuários.

O MSDFMAP.Handler implementa a interface IDataFactoryHandler.

Interface IDataFactoryHandler

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

Os dois métodos utilizam os argumentos exibidos 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 passará uma cadeia de caracteres de argumento de "arg1,arg2", e "Handler=progid" passará um argumento nulo.

Método GetRecordset

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

Argumentos GetRecordset

conn A sequência de conexão.

args Os argumentos do manipulador.

query O texto de comando para a criação de uma consulta.

ppRS O ponteiro no qual Recordset deve ser retornado.

Método Reconectar

Este método atualiza a fonte de dados. Ele cria um novo objeto Connection e conecta o Recordset específico.

Reconectar argumentos

conn A sequência de conexão.

args Os argumentos do manipulador.

pRS Um objeto Recordset.

msdfhdl.idl

É a definição de interface de 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); 
    }; 
}; 

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.