Condividi tramite


Creazione di un puntatore a oggetti

[La funzionalità associata a questa pagina, i gestori di file personalizzati e di flusso, è una funzionalità legacy. È stata sostituita dalla classe MediaStreamSource. La classe MediaStreamSource è stata ottimizzata per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi la classe MediaStreamSource anziché i gestori di flusso e file personalizzati, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

AVIBall usa la struttura seguente come puntatore a oggetti. Il primo membro di questa struttura punta alla tabella delle funzioni virtuali usata da AVIBall per accedere alle relative funzioni. Le applicazioni possono eseguire il cast di questa struttura al tipo di dati PAVISTREAM. I metodi che usano il tipo di dati PAVISTREAM usano solo il puntatore alla tabella delle funzioni virtuali. I membri che seguono il puntatore alla tabella delle funzioni virtuali vengono usati internamente da 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;