ใน 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 ("ชื่อแฟ้ม" 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ที่แสดงอยู่ด้านบนกับที่แสดงที่นี่:
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)
เมื่อทำได้ ผู้ให้บริการของคุณควรพร้อมที่จะคอมไพล์ และรัน เมื่อต้องการทดสอบการให้บริการ คุณจำเป็นที่ผู้บริโภคกับฟังก์ชันที่ตรงกัน นำผู้บริโภคแบบง่ายแสดงวิธีสร้างผู้บริโภคแบบทดสอบ เรียกใช้ผู้บริโภคที่ทดสอบกับผู้ให้บริการ ตรวจสอบว่า ผู้บริโภคที่ทดสอบดึงสายอักขระที่ถูกต้องจากผู้ให้บริการเมื่อคุณคลิกปุ่มเรียกใช้บนกล่องโต้ตอบการทดสอบผู้บริโภค?
เมื่อคุณเรียบร้อยแล้วได้ทดสอบการให้บริการของคุณ คุณอาจต้องการเพิ่มฟังก์ชันการทำงานของการใช้งานอินเทอร์เฟสเพิ่มเติม แสดงตัวอย่างในส่วนถัดไปการเพิ่มผู้ให้บริการแบบง่าย ๆ?