Windows NT 4.0 source code leak
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.

60 lines
2.5 KiB

4 years ago
  1. /* mmioi.h
  2. *
  3. * Definitions that are internal to the MMIO library, i.e. shared by MMIO*.C
  4. */
  5. /* Revision history:
  6. * LaurieGr: Jan 92 Ported from win16. Source tree fork, not common code.
  7. * StephenE: Apr 92 added unicode to ascii conversion function prototypes.
  8. */
  9. #include "mmiocf.h"
  10. #include "mmiocf.h"
  11. typedef MMIOINFO *PMMIO; // (Win32)
  12. typedef struct _MMIODOSINFO // How DOS IOProc uses MMIO.adwInfo[]
  13. {
  14. int fh; // DOS file handle
  15. } MMIODOSINFO;
  16. typedef struct _MMIOMEMINFO // How MEM IOProc uses MMIO.adwInfo[]
  17. {
  18. LONG lExpand; // increment to expand mem. files by
  19. } MMIOMEMINFO;
  20. typedef struct _MMIOBNDINFO // How BND IOProc uses MMIO.adwInfo[]
  21. {
  22. HMMCF hmmcf; // which compound file owns this element
  23. WORD wPad; // make adwInfo[0] equals <hmmcf>
  24. LPMMCTOCENTRY pEntry; // pointer to CTOC table entry
  25. } MMIOBNDINFO;
  26. typedef struct _MMCF
  27. {
  28. HMMIO hmmio; // open file that contains CTOC and CGRP
  29. LPMMCFINFO pHeader; // ptr. to beginning of CTOC
  30. WORD cbHeader; // size of CTOC header
  31. HPSTR pEntries; // ptr. to first CTOC table entry
  32. HANDLE hmmcfNext; // next CF in list
  33. HANDLE hmmcfPrev; // previous CF in list
  34. HANDLE hTask; // handle to task that owns this
  35. LONG lUsage; // usage count
  36. WORD wFlags; // random flags
  37. LONG lTotalExpand; // how much CF expanded (to fix RIFF())
  38. /* information about each entry */
  39. WORD wEntrySize; // size of each <CTOC-table-entry>
  40. WORD wEntFlagsOffset; // offset of <bEntryFlags> in an entry
  41. WORD wEntNameOffset; // offset of <achName> in an entry
  42. /* offsets of parts of compound file (relative to start of file) */
  43. LONG lStartCTOC; // offset of start of CTOC chunk (or -1)
  44. LONG lEndCTOC; // offset of end of CTOC chunk (or -1)
  45. LONG lStartCGRP; // offset of start of CGRP chunk (or -1)
  46. DWORD lStartCGRPData; // offset of data part of CGRP chunk
  47. LONG lEndCGRP; // offset of end of CGRP chunk (or -1)
  48. LONG lEndFile; // offset of end of CGRP chunk (or -1)
  49. } MMCF, NEAR *PMMCF;