This data structure is identical to VRAMALLOCOUT structure except that it contains an additional field for the optional pointer to a system memory buffer and an expanded definition of the ulFlags field. The expanded definition indicates if a system memory buffer has been allocated instead of a VRAM buffer.
typedef struct _VRAMALLOCOUT2 { ULONG ulLength; /* length of this structure */ ULONG ulFlags; /* Returned flag work buffer */ ULONG ulID; /* Buffer ID */ POINTL ptlStart; /* X and Y point offset into VRAM */ ULONG ulSize; /* Byte size allocated */ ULONG ulScanLineBytes; /* Number of bytes per scan line */ PVOID pNewBuffer; /* 32-bit linear ptr to new buffer */ } VRAMALLOCOUT2; typedef VRAMALLOCOUT2 *PVRAMALLOCOUT2;