创建对象指针

[与此页面关联的功能 (自定义文件和流处理程序)是一项旧功能。 它已被 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;