Erstellen eines Objektzeigers
[Das dieser Seite zugeordnete Feature Benutzerdefinierte Datei- und Streamhandler ist ein Legacyfeature. Sie wurde durch die MediaStreamSource-Klasse ersetzt. Die MediaStreamSource-Klasse wurde für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit die MediaStreamSource-Klasse anstelle von Benutzerdefinierten Datei- und Streamhandlern verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
AVIBall verwendet die folgende Struktur als Objektzeiger. Das erste Element dieser Struktur verweist auf die virtuelle Funktionstabelle, die AVIBall für den Zugriff auf seine Funktionen verwendet. Anwendungen können diese Struktur in den PAVISTREAM-Datentyp umwandeln. Methoden, die den PAVISTREAM-Datentyp verwenden, verwenden nur den Zeiger auf die virtuelle Funktionstabelle. Die Elemente, die dem Zeiger auf die virtuelle Funktionstabelle folgen, werden intern von AVIBall verwendet.
typedef struct
{
IAVIStreamVtbl FAR * lpvtbl;
// Ball instance data.
ULONG ulRefCount;
DWORD fccType; // is this audio/video?
int width; // size, in pixels, of each frame
int height;
int length; // length, in frames
int size;
COLORREF color; // ball color
} AVIBALL, FAR * PAVIBALL;