创建对象指针
[与此页面关联的功能 (自定义文件和流处理程序)是一项旧功能。 它已被 MediaStreamSource 类取代。 MediaStreamSource 类已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaStreamSource 类 ,而不是 自定义文件和流处理程序。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
AVIBall 使用以下结构作为其对象指针。 此结构的第一个成员指向 AVIBall 用于访问其函数的虚拟函数表。 应用程序可以将此结构强制转换为 PAVISTREAM 数据类型。 使用 PAVISTREAM 数据类型的方法仅使用指向虚拟函数表的指针。 指向虚拟函数表的指针后面的成员由 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;