Partilhar via


Referência dos modelos de provedor do OLE DB

As classes e interfaces para os Modelos de Provedor OLE DB podem ser agrupadas nas categorias a seguir. O material de referência também inclui informações sobre as macros para modelos de provedor OLE DB.

As classes usam a seguinte convenção de nomenclatura: uma classe nomeada com o padrão IWidgetImpl forneceria uma implementação da interface IWidget.

Classes de sessão

IDBCreateSessionImpl
Cria uma sessão do objeto de fonte de dados e retorna a interface solicitada na sessão recém-criada. Interface obrigatória em objetos de fonte de dados.

ISessionPropertiesImpl
Implementa propriedades de sessão chamando uma função estática definida pelo mapa do conjunto de propriedades de mapa. O mapa do conjunto de propriedades deve ser especificado na classe de sessão. Interface obrigatória em sessões.

Classes do conjunto de linhas

CRowsetImpl

Fornece uma implementação de conjunto de linhas OLE DB padrão sem exigir várias heranças de muitas interfaces de implementação. O único método para o qual você deve fornecer implementação é Execute.

CSimpleRow
Fornece uma implementação padrão para o identificador de linha, que é usado na classe IRowsetImpl. Um identificador de linha é logicamente uma marca exclusiva para uma linha de resultado. IRowsetImpl cria uma nova CSimpleRow para cada linha solicitada em IRowsetImpl::GetNextRows.

IAccessorImpl
O OLE DB exige que os provedores implementem um HACCESSOR, que é uma marca para uma matriz de estruturas DBBINDING. Fornece HACCESSORs que são endereços das estruturas BindType. Obrigatório em conjuntos de linhas e comandos.

IColumnsInfoImpl
Delega a uma função estática definida pelo mapa de colunas do provedor. Interface obrigatória em conjuntos de linhas e comandos.

IConvertTypeImpl
Fornece informações sobre a disponibilidade de conversões de tipo em um comando ou em um conjunto de linhas. Obrigatório em comandos, conjuntos de linhas e conjuntos de linhas de índice. Implementa a interface IConvertType delegando ao objeto de conversão fornecido pelo OLE DB.

IDBSchemaRowsetImpl
Implementa a interface IDBSchemaRowset e a função de criador CreateSchemaRowset usada como modelo.

IOpenRowsetImpl
Abre e retorna um conjunto de linhas que inclui todas as linhas de uma determinada tabela ou índice base. Interface obrigatória para um objeto de sessão.

IRowsetChangeImpl
Implementa a interface IRowsetChange do OLE DB, que permite atualizar os valores das colunas em linhas existentes, excluir linhas e inserir novas linhas.

IRowsetCreatorImpl
Essa classe herda de IObjectWithSite e substitui IObjectWithSite::SetSite. IRowsetCreatorImpl executa as mesmas funções que IObjectWithSite, mas também habilita as propriedades DBPROPCANSCROLLBACKWARDS e DBPROPCANFETCHBACKWARDS do OLE DB.

IRowsetIdentityImpl
Implementa a interface IRowsetIdentity, que permite comparar se duas linhas de dados são idênticas ou não.

IRowsetImpl
Fornece uma implementação da interface IRowset, que é a interface de conjunto de linhas base.

IRowsetInfoImpl
Implementa as propriedades do conjunto de linhas usando o mapa do conjunto de propriedades definido em sua classe de comando. Interface obrigatória em conjuntos de linhas.

IRowsetLocateImpl
Implementa a interface IRowsetLocate do OLE DB, que busca linhas arbitrárias de um conjunto de linhas. Para dar suporte a indicadores OLE DB em um conjunto de linhas, faça o conjunto de linhas herdar dessa classe.

IRowsetNotifyCP
Implementa funções de difusão para aconselhar os ouvintes no ponto IID_IRowsetNotify de conexão de alterações no conteúdo do conjunto de linhas. Os consumidores que tratam notificações implementam IRowsetNotify e registram-no nesse ponto de conexão.

IRowsetUpdateImpl
Implementa a interface IRowsetUpdate do OLE DB, que permite que os consumidores atrasem a transmissão das alterações feitas com IRowsetChange para a fonte de dados e desfaçam as alterações antes da transmissão.

Classes de comando

ICommandImpl
Fornece uma implementação da interface ICommand. Essa interface não é visível, mas é tratada por ICommandTextImpl. Uma interface obrigatória no objeto de comando.

ICommandPropertiesImpl
Essa implementação da interface ICommandProperties é fornecida por uma função estática definida pela macro BEGIN_PROPSET_MAP. Obrigatório em comandos.

ICommandTextImpl
Define, armazena e retorna o texto do comando. Obrigatório em comandos.

IDBCreateCommandImpl
Cria um novo comando do objeto de sessão e retorna a interface solicitada no comando recém-criado. Interface opcional em objetos de sessão.

Outras classes de comando são IColumnsInfoImpl e IAccessorImpl, descritas na seção Classes de Conjunto de Linhas acima.

Classes de fonte de dados

IDBInitializeImpl
Cria e exclui a conexão com o consumidor. Interface obrigatória em objetos de fonte de dados e opcional em enumeradores.

IDBPropertiesImpl
IDBProperties é uma interface obrigatória para objetos de fonte de dados e opcional para enumeradores. No entanto, se um enumerador expõe IDBInitialize, ele deverá expor IDBProperties (propriedades na fonte de dados).

IGetDataSourceImpl
Obtém um ponteiro de interface para o objeto de fonte de dados. Interface obrigatória na sessão.

Outras classes

CUtlProps
Implementa propriedades para uma variedade de interfaces de propriedade OLE DB (por exemplo, IDBProperties, ISessionProperties e IRowsetInfo).

IErrorRecordsImpl

Implementa a interface OLE DB IErrorRecords, adicionando e recuperando registros de um membro de dados.

Confira também

Referência de modelos de consumidor do OLE DB
Modelos do OLE DB