获取虚拟函数表的地址
在用 C 编程语言编写的应用程序中,可以使用 NewBall 函数检索 IAVIStreamVtbl 结构的地址。 此函数返回包含指向 IAVIStreamVtbl 的指针的结构的地址。 IAVIStreamVtbl 指针后的信息指定 AVIBall 在内部使用的数据。 流处理程序可以在 IAVIStreamVtbl 指针后面追加其自己的信息。 此信息在对流处理程序的后续调用中返回。
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;
}