Tabele funkcji wirtualnych

[Funkcja skojarzona z tą stroną, programy obsługi plików niestandardowych i strumienia, jest starszą funkcją. Został zastąpiony przez klasę MediaStreamSource. klasy MediaStreamSource została zoptymalizowana pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał klasy MediaStreamSource zamiast niestandardowych programów obsługi plików i strumieni, jeśli jest to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]

Tabela funkcji wirtualnych to tablica wskaźników do metod obsługiwanych przez obiekt. Jeśli używasz języka C, obiekt jest wyświetlany jako struktura, której pierwszy element członkowski jest wskaźnikiem do tabeli funkcji wirtualnej (lpVtbl); oznacza to, że pierwszy element członkowski wskazuje tablicę zawierającą wskaźniki funkcji. Wszystkie metody przyjmują wskaźnik do tabeli funkcji jako pierwszy parametr. W związku z tym poniższy przykład wywołuje metodę Read obiektu pStream:

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

W C+ +wskaźnik do tabeli funkcji wirtualnej, tego wskaźnika, jest niejawny. Poniższy kod jest odpowiednikiem poprzedniego przykładu w przypadku używania języka C+ +:

pStream->Read(parameters)