COM_INTERFACE_ENTRY_FUNC

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 แผนผังรายการ?

ATL แมโครและฟังก์ชันที่ส่วนกลาง

Index