SMF.H
资源名称:MSDN_VC98.zip [点击查看]
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:
Windows编程
开发平台:
Visual C++
- /*****************************************************************************
- *
- * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
- * ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED
- * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR
- * A PARTICULAR PURPOSE.
- *
- * Copyright (C) 1993 - 1997 Microsoft Corporation. All Rights Reserved.
- *
- ******************************************************************************
- *
- * SMF.H
- *
- * Public include file for Standard MIDI File access routines.
- *
- *****************************************************************************/
- #ifndef _SMF_
- #define _SMF_
- #include "global.h"
- typedef DWORD SMFRESULT;
- typedef DWORD TICKS;
- typedef TICKS FAR *PTICKS;
- typedef BYTE HUGE *HPBYTE;
- #define MAX_TICKS ((TICKS)0xFFFFFFFFL)
- #define SMF_SUCCESS (0L)
- #define SMF_INVALID_FILE (1L)
- #define SMF_NO_MEMORY (2L)
- #define SMF_OPEN_FAILED (3L)
- #define SMF_INVALID_TRACK (4L)
- #define SMF_META_PENDING (5L)
- #define SMF_ALREADY_OPEN (6L)
- #define SMF_END_OF_TRACK (7L)
- #define SMF_NO_META (8L)
- #define SMF_INVALID_PARM (9L)
- #define SMF_INVALID_BUFFER (10L)
- #define SMF_END_OF_FILE (11L)
- #define SMF_REACHED_TKMAX (12L)
- DECLARE_HANDLE(HSMF);
- typedef struct tag_smfopenstruct
- {
- LPSTR pstrName;
- DWORD dwTimeDivision;
- HSMF hSmf;
- } SMFOPENFILESTRUCT,
- FAR *PSMFOPENFILESTRUCT;
- extern SMFRESULT FNLOCAL smfOpenFile(
- PSMFOPENFILESTRUCT psofs);
- extern SMFRESULT FNLOCAL smfCloseFile(
- HSMF hsmf);
- typedef struct tag_smffileinfo
- {
- DWORD dwTracks;
- DWORD dwFormat;
- DWORD dwTimeDivision;
- TICKS tkLength;
- } SMFFILEINFO,
- FAR *PSMFFILEINFO;
- extern SMFRESULT FNLOCAL smfGetFileInfo(
- HSMF hsmf,
- PSMFFILEINFO psfi);
- extern DWORD FNLOCAL smfTicksToMillisecs(
- HSMF hsmf,
- TICKS tkOffset);
- extern DWORD FNLOCAL smfMillisecsToTicks(
- HSMF hsmf,
- DWORD msOffset);
- extern SMFRESULT FNLOCAL smfReadEvents(
- HSMF hsmf,
- LPMIDIHDR lpmh,
- TICKS tkMax);
- extern SMFRESULT FNLOCAL smfSeek(
- HSMF hsmf,
- TICKS tkPosition,
- LPMIDIHDR lpmh);
- extern DWORD FNLOCAL smfGetStateMaxSize(
- void);
- /* Buffer described by LPMIDIHDR is in polymsg format, except that it
- ** can contain meta-events (which will be ignored during playback by
- ** the current system). This means we can use the pack functions, etc.
- */
- #define PMSG_META ((BYTE)0xC0)
- #endif