MyProviderRS.h에서 ATL 개체 마법사 생성 사용자 레코드 라고 하는 기본 CWindowsFile . 두 개의 처리 문자열, 편집 CWindowsFile 또는 여기에서 보이는 것과 같이 당신의 자신의 사용자 레코드 추가:
////////////////////////////////////////////////////////////////////////
CAgentMan 클래스: 공용 WIN32_FIND_DATA
DWORD dwBookmark; nbsp;???????????? / /이 추가
TCHAR szCommand [256];????????? / /이 추가
TCHAR szText [256];???????????? / /이 추가
TCHAR szCommand2 [256];???????? / /이 추가
TCHAR szText2 [256];??????????? / /이 추가
{
공개:
BEGIN_PROVIDER_COLUMN_MAP(CAgentMan)
PROVIDER_COLUMN_ENTRY ("FileAttributes", 1, dwFileAttributes)
PROVIDER_COLUMN_ENTRY ("FileSizeHigh", 2, nFileSizeHigh)
PROVIDER_COLUMN_ENTRY ("FileSizeLow", 3, nFileSizeLow)
PROVIDER_COLUMN_ENTRY ("FileName", 4, cFileName)
PROVIDER_COLUMN_ENTRY ("AltFileName", 5, cAlternateFileName)
END_PROVIDER_COLUMN_MAP()
부울 연산자 (const CAgentMan & 오전) = = / /이 선택적 {
반환 (lstrcmpi (cFileName, wf.cFileName) = = 0);
}
}
데이터 멤버 szCommand 및 szText 함께 두 문자열을 나타내는 szCommand2 및 szText2 필요한 경우 추가 열을 제공 합니다. 데이터 멤버 dwBookmark 이 단순히 읽기 전용 공급자에 대 한 필요 하지 않습니다 하지만 나중에 IRowsetLocate 인터페이스를 추가하려면 사용 합니다. = = 연산자는 인스턴스를 비교 합니다. (이 연산자를 구현할 경우 선택 사항)
두 문자열을 지원 하기 위해 PROVIDER_COLUMN_MAP 수정도 필요 합니다. 그림과 함께 위의 PROVIDER_COLUMN_MAP 을 교체합니다:
BEGIN_PROVIDER_COLUMN_MAP()
nbsp;? PROVIDER_COLUMN_ENTRY_STR(OLESTR("Command"), 1, 256, GUID_NULL, CAgentMan, szCommand)
?? PROVIDER_COLUMN_ENTRY_STR (OLESTR ("텍스트"), 2, 256, GUID_NULL CAgentMan, szText) PROVIDER_COLUMN_ENTRY_STR(OLESTR("Command2"), 3, 256, GUID_NULL, CAgentMan, szCommand2)
?? PROVIDER_COLUMN_ENTRY_STR (OLESTR ("Text2"), 4, 256, GUID_NULL CAgentMan, szText2)
END_PROVIDER_COLUMN_MAP()(&N)
이 작업을 수행 하는 경우 귀하의 공급자 컴파일 및 실행을 준비 해야 합니다. 공급자를 테스트 하려면 일치 하는 기능으로 소비자가 필요 합니다. 단순 소비자 구현 테스트 소비자를 만드는 방법을 보여 줍니다. 공급자와 함께 테스트 소비자를 실행 합니다. 테스트 소비자 대화 상자에서 실행 단추를 클릭 하는 경우 공급자에서 테스트 소비자에 게 적절 한 문자열을 검색 확인。
공급자를 성공적으로 테스트 하는 일단 추가 인터페이스를 구현 하 여 기능을 향상 하는 것이 좋습니다. 다음 섹션, 간단한 읽기 전용 공급자의 기능 향상 에서 예제。