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;