The following diagram depicts the MCISpy application implementation model. The stub or proxy DLL replaces the true MDM.DLL, which is renamed to MCI.DLL. The proxy MDM exports the same APIs at the same ordinals as the true MDM. The proxy MDM has forwarder entries into the MCI.DLL for the API workers. That is, the proxy exports and also imports the same APIs from the true MDM.

                  ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
                  ³ Shared Memory  ³
                  ³  (Named)       ³
                  ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´                     ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
 Exported APIs    ³                ³                     ³ True MDM     ³
                  ³ Stub or        ³                     ³ containing   ³
 mciSendCommand() ³ Proxy          ³ Forwarder entry     ³ the API      ³
 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ MDM.DLL        ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>´ workers is   ³
 mciSendString()  ³                ³ Forwarder entry     ³ renamed to   ³
 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ Maintain Open  ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>´ MCI.DLL.     ³
 mdmDriverNotify()³ Device Ids     ³ Forwarder entry     ³              ³
 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´                ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>´              ³
                  ³ Notify Spy     ³                     ³              ³
                  ³ Application    ³                     ³              ³
                  ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ                     ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
                  ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
                  ³ Shared Memory  ³
                  ³  (Named)       ³
                  ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
                  ³ MCISpy         ³
                  ³ Sample Program ³
                  ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ


[Back] [Next]