Delen via


Een objectaanwijzer maken

[De functie die is gekoppeld aan deze pagina, Aangepast Bestand en Stream-handlers, is een verouderde functie. Het is vervangen door MediaStreamSource-klasse. MediaStreamSource-klasse is geoptimaliseerd voor Windows 10 en Windows 11. Microsoft raadt ten zeerste aan om nieuwe code MediaStreamSource-klasse te gebruiken in plaats van aangepast bestand en Stream-handlers, indien mogelijk. Microsoft stelt voor dat bestaande code die gebruikmaakt van de verouderde API's, indien mogelijk opnieuw worden geschreven om de nieuwe API's te gebruiken.]

AVIBall gebruikt de volgende structuur als objectpointer. Het eerste lid van deze structuur verwijst naar de virtuele functietabel die AVIBall gebruikt voor toegang tot de functies. Toepassingen kunnen deze structuur casten naar het gegevenstype PAVISTREAM. Methoden die het gegevenstype PAVISTREAM gebruiken, gebruiken alleen de aanwijzer naar de virtuele functietabel. De leden die de aanwijzer volgen op de virtuele functietabel, worden intern gebruikt door AVIBall.

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;