Erstellen eines Objektzeigers
AVIBall verwendet die folgende Struktur als Objektzeiger. Der erste Member dieser Struktur verweist auf die virtuelle Funktionstabelle, die AVIBall verwendet, um auf ihre Funktionen zuzugreifen. Anwendungen können diese Struktur in den PAVISTREAM-Datentyp umstrukturieren. Methoden, die den PAVISTREAM-Datentyp verwenden, verwenden nur den Zeiger auf die virtuelle Funktionstabelle. Die Member, 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;