ulSubfunction (ULONG) - input
pParam1 (PLONG) - input
ulVersion
fEngine32Bit
pParam2 (PLONG) - input
pEngHooks
typedef struct _CompType {
USHORT fEngine32Bit;
USHORT fDriver32Bit;
} COMPTYPE;
typedef struct _P1 {
ULONG version;
COMPTYPE comptype;
} P1;
typedef struct _P2 {
PLONG pEngTable;
PLONG pDrvTable;
} P2;
rc (LONG) - returns
The return value is 0 if the function is successful; otherwise, it is an error value.
If the error returned = PMERR_DRVR_NOT_SUPPORTED, the graphics engine will unload the hooking DLL and work as though no routine were installed. This would be the case if the hooking DLL only handled 32-bit entry points and received a display dispatch table of 16-bit entry points.