Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/***************************************************************************
* * compdef.h * * Copyright (c) 1993-1994 Microsoft Corporation * * 32-bit Thunks for msvideo.dll * * Structures for mapping compression manager calls * **************************************************************************/
/**************************************************************************\
Thunking of compman APIs
Functions:
ICInstall is NOT supported from 16-bit to 32-bit
ICRemove is also NOT supported
ICInfo - tries the 32-bit side first
Handles
Are pointers to the PIC table.
The 16-bit side handle manager will store these and call us back with our 32-bit handles so the thunking routines here receive real 32-bit handles.
There is NO handle cleanup (why not ???) on task termination
/*
* Make sure the compiler doesn't think it knows better about packing * The 16-bit stack is effectively pack(2) */
#pragma pack(2)
/*
* Note that everything is in the reverse order to keep with the PASCAL * calling convention on the other side */
/****************************************************************************
compman entry point parameter lists
****************************************************************************/
typedef struct { DWORD dwSize; // sizeof(ICINFOA)
DWORD fccType; // compressor type 'vidc' 'audc'
DWORD fccHandler; // compressor sub-type 'rle ' 'jpeg' 'pcm '
DWORD dwFlags; // flags LOWORD is type specific
DWORD dwVersion; // version of the driver
DWORD dwVersionICM; // version of the ICM used
char szName[16]; // short name
char szDescription[128]; // long name
char szDriver[128]; // driver that contains compressor
} ICINFO16;
#define ICINFOA ICINFO16
typedef struct { #ifdef ICINFOA
ICINFOA *lpicinfo; // Why is there no ASCII 32-bit API?
#else
ICINFO *lpicinfo; // Why is there no ASCII 32-bit API?
#endif
DWORD fccHandler; DWORD fccType; } UNALIGNED *PICInfoParms16;
typedef struct { DWORD dw2; DWORD dw1; WORD msg; DWORD hic; } UNALIGNED *PICSendMessageParms16;
typedef struct { WORD wMode; DWORD fccHandler; DWORD fccType; } UNALIGNED *PICOpenParms16;
typedef struct { DWORD hic; } UNALIGNED *PICCloseParms16;
typedef struct { DWORD dwFlags; WORD hpal; WORD hwnd; WORD hdc; short xDst; short yDst; short dxDst; short dyDst; LPBITMAPINFOHEADER lpbi; short xSrc; short ySrc; short dxSrc; short dySrc; DWORD dwRate; DWORD dwScale; } ICDRAWBEGIN16;
#pragma pack()
|