DDJ, December 1995: Examining the Windows 95 Layered File System by Mark Russinovich and Bryce Cogswell Listing Seven typedef struct IOP_callback_entry { ULONG IOP_CB_address; // call back address ULONG IOP_CB_ref_data; // pointer to callback ref data } IOP_callback_entry; Listing Eight mov edi, [esi].IOP_callback_ptr sub edi, size IOP_CallBack_Entry ; point to next available ; call-back entry mov [esi].IOP_callback_ptr, edi ; update call-back Pointer ; IOP pointer is passed on the stack push esi ; IOP's offset call dword ptr [edi] ; make the call add esp, 4 ; restore stack