Perché sono necessari oggetti proxy
Con oggetti accessibili, quando un client imposta una funzione di hook nel contesto, la DLL in cui viene implementata la funzione di hook del client viene caricata nello spazio indirizzi del server. In questo caso, quando il client chiama AccessibleObjectFromEvent dall'interno della funzione hook, il puntatore dell'interfaccia restituito punta direttamente al codice nello spazio indirizzi del server. Quando il client chiama una proprietà dell'interfaccia usando questo puntatore, la libreria Component Object Model (COM) non è coinvolta nel marshalling o nell'annullamento del marshalling e non riesce a rilevare se un oggetto viene distrutto. Pertanto, il server deve rilevare questa situazione e restituire un codice di errore al client.