亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dsutil.h

?? 2D即時(shí)戰(zhàn)略游戲VC源碼
?? H
字號(hào):
/*==========================================================================
 *
 *  Copyright (C) 1995 Microsoft Corporation. All Rights Reserved.
 *
 *  File:       dsutil.cpp
 *  Content:    Routines for dealing with sounds from resources
 *
 *
 ***************************************************************************/

#ifdef __cplusplus
extern "C" {
#endif

///////////////////////////////////////////////////////////////////////////////
//
// DSLoadSoundBuffer    Loads an IDirectSoundBuffer from a Win32 resource in
//                      the current application.
//
// Params:
//  pDS         -- Pointer to an IDirectSound that will be used to create
//                 the buffer.
//
//  lpName      -- Name of WAV resource to load the data from.  Can be a
//                 resource id specified using the MAKEINTRESOURCE macro.
//
// Returns an IDirectSoundBuffer containing the wave data or NULL on error.
//
// example:
//  in the application's resource script (.RC file)
//      Turtle WAV turtle.wav
//
//  some code in the application:
//      IDirectSoundBuffer *pDSB = DSLoadSoundBuffer(pDS, "Turtle");
//
//      if (pDSB)
//      {
//          IDirectSoundBuffer_Play(pDSB, 0, 0, DSBPLAY_TOEND);
//          /* ... */
//
///////////////////////////////////////////////////////////////////////////////
IDirectSoundBuffer *DSLoadSoundBuffer(IDirectSound *pDS, LPCTSTR lpName);

///////////////////////////////////////////////////////////////////////////////
//
// DSReloadSoundBuffer  Reloads an IDirectSoundBuffer from a Win32 resource in
//                      the current application. normally used to handle
//                      a DSERR_BUFFERLOST error.
// Params:
//  pDSB        -- Pointer to an IDirectSoundBuffer to be reloaded.
//
//  lpName      -- Name of WAV resource to load the data from.  Can be a
//                 resource id specified using the MAKEINTRESOURCE macro.
//
// Returns a BOOL indicating whether the buffer was successfully reloaded.
//
// example:
//  in the application's resource script (.RC file)
//      Turtle WAV turtle.wav
//
//  some code in the application:
//  TryAgain:
//      HRESULT hres = IDirectSoundBuffer_Play(pDSB, 0, 0, DSBPLAY_TOEND);
//
//      if (FAILED(hres))
//      {
//          if ((hres == DSERR_BUFFERLOST) &&
//              DSReloadSoundBuffer(pDSB, "Turtle"))
//          {
//              goto TryAgain;
//          }
//          /* deal with other errors... */
//      }
//
///////////////////////////////////////////////////////////////////////////////
BOOL DSReloadSoundBuffer(IDirectSoundBuffer *pDSB, LPCTSTR lpName);

///////////////////////////////////////////////////////////////////////////////
//
// DSGetWaveResource    Finds a WAV resource in a Win32 module.
//
// Params:
//  hModule     -- Win32 module handle of module containing WAV resource.
//                 Pass NULL to indicate current application.
//
//  lpName      -- Name of WAV resource to load the data from.  Can be a
//                 resource id specified using the MAKEINTRESOURCE macro.
//
//  ppWaveHeader-- Optional pointer to WAVEFORMATEX * to receive a pointer to
//                 the WAVEFORMATEX header in the specified WAV resource.
//                 Pass NULL if not required.
//
//  ppbWaveData -- Optional pointer to BYTE * to receive a pointer to the
//                 waveform data in the specified WAV resource.  Pass NULL if
//                 not required.
//
//  pdwWaveSize -- Optional pointer to DWORD to receive the size of the
//                 waveform data in the specified WAV resource.  Pass NULL if
//                 not required.
//
// Returns a BOOL indicating whether a valid WAV resource was found.
//
///////////////////////////////////////////////////////////////////////////////
BOOL DSGetWaveResource(HMODULE hModule, LPCTSTR lpName,
    WAVEFORMATEX **ppWaveHeader, BYTE **ppbWaveData, DWORD *pdwWaveSize);

///////////////////////////////////////////////////////////////////////////////
//
// HSNDOBJ             Handle to a SNDOBJ object.
//
//  SNDOBJs are implemented in dsutil as an example layer built on top
//      of DirectSound.
//
//      A SNDOBJ is generally used to manage individual
//      sounds which need to be played multiple times concurrently.  A
//      SNDOBJ represents a queue of IDirectSoundBuffer objects which
//      all refer to the same buffer memory.
//
//      A SNDOBJ also automatically reloads the sound resource when
//      DirectSound returns a DSERR_BUFFERLOST
//
///////////////////////////////////////////////////////////////////////////////
#ifndef _HSNDOBJ_DEFINED
DECLARE_HANDLE32(HSNDOBJ);
#endif

///////////////////////////////////////////////////////////////////////////////
//
// SndObjCreate     Loads a SNDOBJ from a Win32 resource in
//                  the current application.
//
// Params:
//  pDS         -- Pointer to an IDirectSound that will be used to create
//                 the SNDOBJ.
//
//  lpName      -- Name of WAV resource to load the data from.  Can be a
//                 resource id specified using the MAKEINTRESOURCE macro.
//
//  iConcurrent -- Integer representing the number of concurrent playbacks of
//                 to plan for.  Attempts to play more than this number will
//                 succeed but will restart the least recently played buffer
//                 even if it is not finished playing yet.
//
// Returns an HSNDOBJ or NULL on error.
//
// NOTES:
//      SNDOBJs automatically restore and reload themselves as required.
//
///////////////////////////////////////////////////////////////////////////////
HSNDOBJ SndObjCreate(IDirectSound *pDS, LPCTSTR lpName, int iConcurrent);

///////////////////////////////////////////////////////////////////////////////
//
// SndObjDestroy  Frees a SNDOBJ and releases all of its buffers.
//
// Params:
//  hSO         -- Handle to a SNDOBJ to free.
//
///////////////////////////////////////////////////////////////////////////////
void SndObjDestroy(HSNDOBJ hSO);

///////////////////////////////////////////////////////////////////////////////
//
// SndObjPlay   Plays a buffer in a SNDOBJ.
//
// Params:
//  hSO         -- Handle to a SNDOBJ to play a buffer from.
//
//  dwPlayFlags -- Flags to pass to IDirectSoundBuffer::Play.  It is not
//                 legal to play an SndObj which has more than one buffer
//                 with the DSBPLAY_LOOPING flag.  Pass 0 to stop playback.
//
///////////////////////////////////////////////////////////////////////////////
BOOL SndObjPlay(HSNDOBJ hSO, DWORD dwPlayFlags);

///////////////////////////////////////////////////////////////////////////////
//
// SndObjStop   Stops one or more buffers in a SNDOBJ.
//
// Params:
//  hSO         -- Handle to a SNDOBJ to play a buffer from.
//
///////////////////////////////////////////////////////////////////////////////
BOOL SndObjStop(HSNDOBJ hSO);

///////////////////////////////////////////////////////////////////////////////
//
// SndObjGetFreeBuffer      returns one of the cloned buffers that is
//                          not currently playing
//
// Params:
//  hSO         -- Handle to a SNDOBJ
//
// NOTES:
//  This function is provided so that callers can set things like pan etc
//  before playing the buffer.
//
// EXAMPLE:
//  ...
//
///////////////////////////////////////////////////////////////////////////////
IDirectSoundBuffer *SndObjGetFreeBuffer(HSNDOBJ hSO);

///////////////////////////////////////////////////////////////////////////////
//
// helper routines
//
///////////////////////////////////////////////////////////////////////////////

BOOL DSFillSoundBuffer(IDirectSoundBuffer *pDSB, BYTE *pbWaveData, DWORD dwWaveSize);
BOOL DSParseWaveResource(void *pvRes, WAVEFORMATEX **ppWaveHeader, BYTE **ppbWaveData, DWORD *pdwWaveSize);

#ifdef __cplusplus
}
#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本韩国一区二区三区视频 | 91精品国产综合久久小美女| 亚洲一区二区视频在线| 欧美在线free| 日韩电影在线一区| 国产午夜精品久久| 91丨porny丨国产| 亚洲国产综合色| 欧美一级专区免费大片| 国产精品资源在线| 亚洲欧洲精品天堂一级| 欧美日韩国产精选| 国产一区二区精品久久| 日韩一区在线看| 欧美精品欧美精品系列| 国产成人在线视频网站| 亚洲影院理伦片| 日韩久久久精品| 97国产精品videossex| 日韩电影在线看| 国产精品久久久久久一区二区三区| 色94色欧美sute亚洲线路二 | 极品尤物av久久免费看| 日本一区二区三区电影| 欧美日韩亚洲另类| 国产精品一区二区男女羞羞无遮挡| 国产精品国产三级国产有无不卡 | 狠狠色2019综合网| 亚洲日本一区二区| 精品99999| 欧美三片在线视频观看| 国产精品69久久久久水密桃| 亚洲高清视频在线| 国产精品网曝门| 日韩欧美区一区二| 在线观看国产日韩| 国产成人精品影视| 日韩精品成人一区二区三区| 国产精品国产馆在线真实露脸| 91精品国产福利在线观看| 北岛玲一区二区三区四区| 日韩av在线发布| 亚洲欧美一区二区三区国产精品| 欧美刺激午夜性久久久久久久| 91免费版在线看| 国产精品香蕉一区二区三区| 丝袜亚洲另类欧美| 亚洲资源中文字幕| 综合久久一区二区三区| 久久你懂得1024| 91精品国产综合久久福利 | 久久99精品视频| 一区二区三区四区蜜桃| 欧美韩日一区二区三区| 久久老女人爱爱| 日韩欧美精品在线| 欧美日韩亚洲不卡| 欧美日韩一区二区三区免费看| 不卡一区二区中文字幕| 国产福利一区二区| 国产毛片精品一区| 精品无人码麻豆乱码1区2区| 日韩福利视频导航| 午夜久久久久久久久久一区二区| 亚洲久本草在线中文字幕| 国产亚洲欧洲一区高清在线观看| 欧美大肚乱孕交hd孕妇| 欧美一区二区日韩一区二区| 欧美精品乱码久久久久久按摩| 欧美日韩国产成人在线免费| 欧美色倩网站大全免费| 欧美色图片你懂的| 欧美美女直播网站| 欧美精品粉嫩高潮一区二区| 在线电影一区二区三区| 51精品国自产在线| 91精品国产综合久久小美女| 日韩欧美电影一区| 精品国产三级a在线观看| 日韩美女一区二区三区| 久久色视频免费观看| 国产欧美一区二区精品性| 久久精品一区二区三区av| 国产三级精品在线| 中文字幕一区二区三区四区| 亚洲欧美日韩中文播放| 亚洲主播在线观看| 美女尤物国产一区| 国产精品白丝jk白祙喷水网站| 国产一区中文字幕| 成人午夜激情片| 色婷婷亚洲婷婷| 欧美日韩精品高清| 欧美电视剧在线观看完整版| 国产亚洲欧美日韩在线一区| 成人欧美一区二区三区1314| 亚洲一二三四在线观看| 欧美aaaaa成人免费观看视频| 国产自产v一区二区三区c| 国产成人福利片| 日本韩国精品一区二区在线观看| 欧美日韩国产免费| 久久新电视剧免费观看| 亚洲欧美日韩一区二区| 免费人成黄页网站在线一区二区| 国模冰冰炮一区二区| 一本久道中文字幕精品亚洲嫩| 欧美午夜免费电影| 久久久www成人免费无遮挡大片| 国产女同性恋一区二区| 一二三区精品福利视频| 久热成人在线视频| 91免费看片在线观看| 日韩一区二区不卡| 国产精品色婷婷久久58| 香港成人在线视频| 成人开心网精品视频| 欧美色国产精品| 中文字幕乱码一区二区免费| 亚洲高清免费一级二级三级| 国产成人免费在线| 欧美日韩高清在线播放| 国产女人aaa级久久久级| 天堂久久一区二区三区| 北岛玲一区二区三区四区| 日韩免费观看高清完整版在线观看| 中文字幕亚洲一区二区av在线 | 国产成人综合精品三级| 欧美猛男gaygay网站| 国产精品国产馆在线真实露脸| 青青草国产精品亚洲专区无| av不卡免费在线观看| 欧美大胆人体bbbb| 亚洲成人免费影院| av电影在线观看一区| 久久久无码精品亚洲日韩按摩| 欧美日韩夫妻久久| 欧美mv和日韩mv的网站| 一区精品在线播放| 另类成人小视频在线| 色综合天天综合网天天看片| 精品va天堂亚洲国产| 日韩激情av在线| 色哟哟精品一区| 国产精品免费视频网站| 精品一区二区成人精品| 91精品国产色综合久久不卡蜜臀| 亚洲精品中文在线| www.亚洲精品| 国产女主播视频一区二区| 国产一区二区三区在线看麻豆| 91精品国产欧美一区二区18| 亚洲一区av在线| 色综合咪咪久久| 国产亚洲va综合人人澡精品| 免费不卡在线视频| 91精选在线观看| 亚洲成人一二三| 欧美日韩国产区一| 亚洲一区二区三区国产| 色狠狠色狠狠综合| 亚洲日本在线看| 91污在线观看| 一区在线中文字幕| 91麻豆精品一区二区三区| 国产精品女主播av| 成人黄色免费短视频| 欧美激情综合在线| 99国产精品国产精品毛片| 国产精品美女久久久久久2018| 国产91高潮流白浆在线麻豆| 久久精子c满五个校花| 丰满白嫩尤物一区二区| 国产精品久久国产精麻豆99网站 | 亚洲一级二级三级在线免费观看| 欧美最猛黑人xxxxx猛交| 亚洲最大的成人av| 欧美放荡的少妇| 久久草av在线| 国产午夜亚洲精品理论片色戒 | 成人av片在线观看| 亚洲精品中文字幕在线观看| 欧美日韩一区小说| 免费观看30秒视频久久| 国产日产欧产精品推荐色| 99国产精品久久久久| 亚洲成人资源网| www国产成人| 91丨porny丨首页| 天堂va蜜桃一区二区三区漫画版| 精品欧美黑人一区二区三区| 国产成人精品亚洲午夜麻豆| 日韩美女视频一区| 欧美日韩视频专区在线播放| 国产在线精品一区二区三区不卡 | 中文字幕一区二区三区不卡| 欧美午夜不卡视频| 狠狠色狠狠色综合日日91app| 国产精品久久久久精k8| 欧美日韩国产在线观看|