CCustomRowset(CustomRS.H)
마법사는 행 집합 개체에 대한 항목을 생성합니다. 이 경우 이를 호출 CCustomRowset
합니다. 이 클래스는 CCustomRowset
행 집합 개체에 필요한 모든 인터페이스를 구현하는 OLE DB 공급자 클래스에서 CRowsetImpl
상속됩니다. 다음 코드는 다음에 대한 상속 체인을 보여 줍니다.CRowsetImpl
template <class T, class Storage, class CreatorClass,
class ArrayType = CAtlArray<Storage>>
class CMyRowsetImpl:
public CRowsetImpl<T, Storage, CreatorClass, ArrayType,
CSimpleRow, IRowsetLocateImpl< T >>
CRowsetImpl
는 또한 인터페이스 및 IColumnsInfo
인터페이스를 IAccessor
사용합니다. 테이블의 출력 필드에 이러한 인터페이스를 사용합니다. 또한 이 클래스는 소비자가 두 행이 같은지 확인할 수 있는 구현 IRowsetIdentity
을 제공합니다. 인터페이스는 IRowsetInfo
행 집합 개체에 대한 속성을 구현합니다. 이 IConvertType
인터페이스를 사용하면 공급자가 소비자가 요청한 데이터 형식과 공급자가 사용하는 데이터 형식 간의 차이를 해결할 수 있습니다.
인터페이스는 IRowset
실제로 데이터 검색을 처리합니다. 소비자는 먼저 호출된 메서드를 호출 GetNextRows
하여 핸들을 행( HROW
)으로 반환합니다. 그런 다음, 소비자는 이를 HROW
호출 IRowset::GetData
하여 요청된 데이터를 검색합니다.
CRowsetImpl
또한 여러 템플릿 매개 변수를 사용합니다. 이러한 매개 변수를 사용하면 클래스가 CRowsetImpl
데이터를 처리하는 방법을 결정할 수 있습니다. 인수 ArrayType
를 사용하면 행 데이터를 저장하는 데 사용되는 스토리지 메커니즘을 결정할 수 있습니다. RowClass 매개 변수HROW
는 .
RowsetInterface 매개 변수를 사용하면 또는 IRowsetScroll
인터페이스도 사용할 IRowsetLocate
수 있습니다. 및 IRowsetScroll
인터페이스는 IRowsetLocate
모두 .에서 IRowset
상속됩니다. 따라서 OLE DB 공급자 템플릿은 이러한 인터페이스에 대한 특별한 처리를 제공해야 합니다. 이러한 인터페이스 중 하나를 사용하려면 이 매개 변수를 사용해야 합니다.