Condividi tramite


Recupero dell'indirizzo di una tabella di funzioni virtuali

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

In un'applicazione scritta nel linguaggio di programmazione C è possibile recuperare l'indirizzo della struttura IAVIStreamVtbl usando la funzione NewBall. Questa funzione restituisce l'indirizzo di una struttura contenente un puntatore a IAVIStreamVtbl. Le informazioni successive al puntatore IAVIStreamVtbl specificano i dati utilizzati internamente da AVIBall. Il gestore del flusso può aggiungere le proprie informazioni dopo il puntatore IAVIStreamVtbl. Queste informazioni vengono restituite nelle chiamate successive al gestore del flusso.

PAVISTREAM WINAPI NewBall(VOID) 
{ 
    PAVIBALL pball; 
    pball = (PAVIBALL) GlobalAllocPtr(GHND, sizeof(AVIBALL)); 
    if (!pball) 
        return 0; 
    pball->lpvtbl = &AVIBallHandler; 
    pball->lpvtbl->Create((PAVISTREAM) pball, 0, 0); 
    return (PAVISTREAM) pball; 
}