Scaricamento di un server con handle di contesto pendenti
Tradizionalmente, lo scaricamento di una DLL che esegue chiamate RPC tramite handle di contesto, senza prima arrestare il processo di hosting, è stato problematico. Ciò è dovuto al fatto che la routine di esecuzione non è più valida quando la DLL viene scaricata. Quando un client con un handle di contesto aperto in precedenza fallisce, e il runtime RPC tenta di chiudere l'handle di contesto, il suo tentativo di chiamare la routine di terminazione causa una violazione di accesso e il server si arresta in modo anomalo.
A partire da Windows XP, è stata aggiunta una nuova API denominata RpcServerUnregisterIfEx. RpcServerUnregisterIfEx chiude gli handle di contesto aperti dall'interfaccia di cui si annulla la registrazione; la funzione RpcServerUnregisterIf non lo fa. L'uso di RpcServerUnregisterIfEx non è necessario quando l'intero processo viene arrestato, ma è necessario se sono presenti una o più DLL che ospitano le routine di run-down mentre esistono handle di contesto in sospeso.