Obtendo o endereço de uma tabela de funções virtuais
Em um aplicativo escrito na linguagem de programação C, você pode recuperar o endereço da estrutura IAVIStreamVtbl usando a função NewBall. Essa função retorna o endereço de uma estrutura que contém um ponteiro para IAVIStreamVtbl. As informações a seguir do ponteiro IAVIStreamVtbl especificam os dados usados internamente pelo AVIBall. Seu manipulador de fluxo pode acrescentar suas próprias informações após o ponteiro IAVIStreamVtbl . Essas informações são retornadas em chamadas subsequentes para o manipulador de fluxo.
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;
}