Tabelle delle funzioni virtuali

[La funzionalità associata a questa pagina, gestori di file e flussi personalizzati, è una funzionalità legacy. È stata sostituita da classe MediaStreamSource. classe MediaStreamSource è stata ottimizzata per Windows 10 e Windows 11. Microsoft consiglia vivamente di usare il nuovo codice classe MediaStreamSource anziché gestori di file personalizzati e di flusso, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Una tabella di funzioni virtuali è una matrice di puntatori ai metodi supportati da un oggetto . Se si usa C, un oggetto viene visualizzato come struttura il cui primo membro è un puntatore alla tabella delle funzioni virtuali (lpVtbl); ovvero, il primo membro punta a una matrice contenente puntatori a funzione. Tutti i metodi accettano un puntatore alla tabella della funzione come primo parametro. Nell'esempio seguente viene quindi chiamato il metodo Read di un oggetto pStream:

pStream->lpVtbl->Read(pStream, parameters) 
 

In C+ +, il puntatore alla tabella delle funzioni virtuali, il questo puntatore, è implicito. L'esempio seguente equivale all'esempio precedente quando si usa C+ +:

pStream->Read(parameters)