В MyProviderRS.h, мастер объектов ATL создает по умолчанию записи пользователя под названием CWindowsFile . Для обработки двух строк, либо изменить CWindowsFile или добавьте собственную запись пользователя, как показано здесь:
////////////////////////////////////////////////////////////////////////
класс CAgentMan: государственные WI&N32_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 ("имя_файла", 4, cFileName)
PROVIDER_COLUMN_ENTRY ("AltFileName", 5, cAlternateFileName)
END_PROVIDER_COLUMN_MAP()
bool оператор == (const CAgentMan и am) / / это необязательный {}
возвращение (lstrcmpi (cFileName, wf.cFileName) == 0);
}
}
Члены данных szCommand и szText представляют собой две строки, с szCommand2 и szText2 обеспечение дополнительные столбцы в случае необходимости. Член данных dwBookmark для этого просто чтение поставщика не требуется, но будет использоваться в дальнейшем для добавления интерфейса IRowsetLocate. == Оператор сравнивает экземпляры. (Реализация этого оператора не является обязательным).
Для поддержки двух строк, PROVIDER_COLUMN_MAP требует модификации также. Замените PROVIDER_COLUMN_MAP показано выше с показано ниже:
BEGI&N_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 ("текст2"), 4, 256, — GUID_NULL CAgentMan, szText2)
END_PROVIDER_COLUMN_MAP()
Когда это сделано, ваш провайдер должны быть готовы для компиляции и выполнения. Чтобы протестировать поставщика, необходимо потребителей с совпадающими функциональность. Реализация простого потребителя показывает, как создать такой тест поставщика. Запустите тестовый объект-получатель вместе с поставщиком. Убедитесь, что тестовый объект-получатель получает надлежащее строки от поставщика при нажатии кнопки выполнить в диалоговом окне потребительские тест.
После того, как вы успешно опробована вашего провайдера, вы можете повысить его функциональность, реализуя дополнительные интерфейсы. Пример показан в следующем разделе, усовершенствование простого поставщика только для чтения.