COM_INTERFACE_ENTRY_FUNC ( iid, dw, func )
พารามิเตอร์
iid
[ใน] GUID ของอินเทอร์เฟซที่เปิดเผย?
dw
[ใน] พารามิเตอร์ที่ส่งผ่านไปยังตัวfunc?
func
[ใน] ตัวชี้ของฟังก์ชันที่จะส่งกลับค่าiid?
หมายเหตุ
กลไกทั่วไปสำหรับ hooking เป็นตรรกะQueryInterfaceของ ATL ถ้าตรงกับiid IIDของอินเทอร์เฟซสำหรับการสอบถามสำหรับ นั้นเรียกว่าฟังก์ชันที่ระบุโดยfunc การประกาศสำหรับฟังก์ชันควรเป็น:
Hresult ใน WINAPI func (โมฆะ * pv, REFIID riid, LPVOID * ppv, DWORD dw)
เมื่อฟังก์ชันของคุณจะเรียกว่า จุดของวัตถุคลาpv พารามิเตอร์riidอ้างอิงอินเทอร์เฟซสำหรับการสอบถามสำหรับppvคือตัวชี้ไปยังตำแหน่งที่ฟังก์ชันควรเก็บตัวชี้ไปยังส่วนติดต่อ และdwคือพารามิเตอร์คุณระบุไว้ในรายการ ฟังก์ชันควรตั้งค่า *ppv NULLและส่งคืนE_NOINTERFACEหรือS_FALSEถ้าเลือกดังกล่าวจะไม่ส่งกลับอินเทอร์เฟซ สิ้นสุดด้วยE_NOINTERFACEการประมวลผลการแมป COM ลง กับS_FALSEการประมวลผลการแมป COM ยังคง ถึงแม้ว่าตัวชี้ไม่มีอินเทอร์เฟซการส่งกลับ ถ้าฟังก์ชันจะส่งกลับชี้มีอินเทอร์เฟซ ควรกลับS_OK?
ดูแมโค COM_INTERFACE_ENTRYสำหรับข้อสังเกตเกี่ยวกับ COM แผนผังรายการ?