Source code of Windows XP (NT5)
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.

61 lines
2.5 KiB

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