⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 winmm.c

📁 This is a futaba PCM decode source. You can study futaba pcm code.
💻 C
📖 第 1 页 / 共 5 页
字号:
    winmm.GetDriverModuleHandle = (void*)GetProcAddress(winmm.Handle, "GetDriverModuleHandle");
    winmm.MigrateAllDrivers = (void*)GetProcAddress(winmm.Handle, "MigrateAllDrivers");
    winmm.MigrateMidiUser = (void*)GetProcAddress(winmm.Handle, "MigrateMidiUser");
    winmm.MigrateSoundEvents = (void*)GetProcAddress(winmm.Handle, "MigrateSoundEvents");
    winmm.NotifyCallbackData = (void*)GetProcAddress(winmm.Handle, "NotifyCallbackData");
    winmm.OpenDriver = (void*)GetProcAddress(winmm.Handle, "OpenDriver");
    winmm.PlaySound = (void*)GetProcAddress(winmm.Handle, "PlaySound");
    winmm.PlaySoundA = (void*)GetProcAddress(winmm.Handle, "PlaySoundA");
    winmm.PlaySoundW = (void*)GetProcAddress(winmm.Handle, "PlaySoundW");
    winmm.SendDriverMessage = (void*)GetProcAddress(winmm.Handle, "SendDriverMessage");
    winmm.WOW32DriverCallback = (void*)GetProcAddress(winmm.Handle, "WOW32DriverCallback");
    winmm.WOW32ResolveMultiMediaHandle = (void*)GetProcAddress(winmm.Handle, "WOW32ResolveMultiMediaHandle");
    winmm.WOWAppExit = (void*)GetProcAddress(winmm.Handle, "WOWAppExit");
    winmm.WinmmLogoff = (void*)GetProcAddress(winmm.Handle, "WinmmLogoff");
    winmm.WinmmLogon = (void*)GetProcAddress(winmm.Handle, "WinmmLogon");
    winmm.aux32Message = (void*)GetProcAddress(winmm.Handle, "aux32Message");
    winmm.auxGetDevCapsA = (void*)GetProcAddress(winmm.Handle, "auxGetDevCapsA");
    winmm.auxGetDevCapsW = (void*)GetProcAddress(winmm.Handle, "auxGetDevCapsW");
    winmm.auxGetNumDevs = (void*)GetProcAddress(winmm.Handle, "auxGetNumDevs");
    winmm.auxGetVolume = (void*)GetProcAddress(winmm.Handle, "auxGetVolume");
    winmm.auxOutMessage = (void*)GetProcAddress(winmm.Handle, "auxOutMessage");
    winmm.auxSetVolume = (void*)GetProcAddress(winmm.Handle, "auxSetVolume");
    winmm.joy32Message = (void*)GetProcAddress(winmm.Handle, "joy32Message");
    winmm.joyConfigChanged = (void*)GetProcAddress(winmm.Handle, "joyConfigChanged");
    winmm.joyGetDevCapsA = (void*)GetProcAddress(winmm.Handle, "joyGetDevCapsA");
    winmm.joyGetDevCapsW = (void*)GetProcAddress(winmm.Handle, "joyGetDevCapsW");
    winmm.joyGetNumDevs = (void*)GetProcAddress(winmm.Handle, "joyGetNumDevs");
    winmm.joyGetPos = (void*)GetProcAddress(winmm.Handle, "joyGetPos");
    winmm.joyGetPosEx = (void*)GetProcAddress(winmm.Handle, "joyGetPosEx");
    winmm.joyGetThreshold = (void*)GetProcAddress(winmm.Handle, "joyGetThreshold");
    winmm.joyReleaseCapture = (void*)GetProcAddress(winmm.Handle, "joyReleaseCapture");
    winmm.joySetCapture = (void*)GetProcAddress(winmm.Handle, "joySetCapture");
    winmm.joySetThreshold = (void*)GetProcAddress(winmm.Handle, "joySetThreshold");
    winmm.mci32Message = (void*)GetProcAddress(winmm.Handle, "mci32Message");
    winmm.mciDriverNotify = (void*)GetProcAddress(winmm.Handle, "mciDriverNotify");
    winmm.mciDriverYield = (void*)GetProcAddress(winmm.Handle, "mciDriverYield");
    winmm.mciExecute = (void*)GetProcAddress(winmm.Handle, "mciExecute");
    winmm.mciFreeCommandResource = (void*)GetProcAddress(winmm.Handle, "mciFreeCommandResource");
    winmm.mciGetCreatorTask = (void*)GetProcAddress(winmm.Handle, "mciGetCreatorTask");
    winmm.mciGetDeviceIDA = (void*)GetProcAddress(winmm.Handle, "mciGetDeviceIDA");
    winmm.mciGetDeviceIDFromElementIDA = (void*)GetProcAddress(winmm.Handle, "mciGetDeviceIDFromElementIDA");
    winmm.mciGetDeviceIDFromElementIDW = (void*)GetProcAddress(winmm.Handle, "mciGetDeviceIDFromElementIDW");
    winmm.mciGetDeviceIDW = (void*)GetProcAddress(winmm.Handle, "mciGetDeviceIDW");
    winmm.mciGetDriverData = (void*)GetProcAddress(winmm.Handle, "mciGetDriverData");
    winmm.mciGetErrorStringA = (void*)GetProcAddress(winmm.Handle, "mciGetErrorStringA");
    winmm.mciGetErrorStringW = (void*)GetProcAddress(winmm.Handle, "mciGetErrorStringW");
    winmm.mciGetYieldProc = (void*)GetProcAddress(winmm.Handle, "mciGetYieldProc");
    winmm.mciLoadCommandResource = (void*)GetProcAddress(winmm.Handle, "mciLoadCommandResource");
    winmm.mciSendCommandA = (void*)GetProcAddress(winmm.Handle, "mciSendCommandA");
    winmm.mciSendCommandW = (void*)GetProcAddress(winmm.Handle, "mciSendCommandW");
    winmm.mciSendStringA = (void*)GetProcAddress(winmm.Handle, "mciSendStringA");
    winmm.mciSendStringW = (void*)GetProcAddress(winmm.Handle, "mciSendStringW");
    winmm.mciSetDriverData = (void*)GetProcAddress(winmm.Handle, "mciSetDriverData");
    winmm.mciSetYieldProc = (void*)GetProcAddress(winmm.Handle, "mciSetYieldProc");
    winmm.mid32Message = (void*)GetProcAddress(winmm.Handle, "mid32Message");
    winmm.midiConnect = (void*)GetProcAddress(winmm.Handle, "midiConnect");
    winmm.midiDisconnect = (void*)GetProcAddress(winmm.Handle, "midiDisconnect");
    winmm.midiInAddBuffer = (void*)GetProcAddress(winmm.Handle, "midiInAddBuffer");
    winmm.midiInClose = (void*)GetProcAddress(winmm.Handle, "midiInClose");
    winmm.midiInGetDevCapsA = (void*)GetProcAddress(winmm.Handle, "midiInGetDevCapsA");
    winmm.midiInGetDevCapsW = (void*)GetProcAddress(winmm.Handle, "midiInGetDevCapsW");
    winmm.midiInGetErrorTextA = (void*)GetProcAddress(winmm.Handle, "midiInGetErrorTextA");
    winmm.midiInGetErrorTextW = (void*)GetProcAddress(winmm.Handle, "midiInGetErrorTextW");
    winmm.midiInGetID = (void*)GetProcAddress(winmm.Handle, "midiInGetID");
    winmm.midiInGetNumDevs = (void*)GetProcAddress(winmm.Handle, "midiInGetNumDevs");
    winmm.midiInMessage = (void*)GetProcAddress(winmm.Handle, "midiInMessage");
    winmm.midiInOpen = (void*)GetProcAddress(winmm.Handle, "midiInOpen");
    winmm.midiInPrepareHeader = (void*)GetProcAddress(winmm.Handle, "midiInPrepareHeader");
    winmm.midiInReset = (void*)GetProcAddress(winmm.Handle, "midiInReset");
    winmm.midiInStart = (void*)GetProcAddress(winmm.Handle, "midiInStart");
    winmm.midiInStop = (void*)GetProcAddress(winmm.Handle, "midiInStop");
    winmm.midiInUnprepareHeader = (void*)GetProcAddress(winmm.Handle, "midiInUnprepareHeader");
    winmm.midiOutCacheDrumPatches = (void*)GetProcAddress(winmm.Handle, "midiOutCacheDrumPatches");
    winmm.midiOutCachePatches = (void*)GetProcAddress(winmm.Handle, "midiOutCachePatches");
    winmm.midiOutClose = (void*)GetProcAddress(winmm.Handle, "midiOutClose");
    winmm.midiOutGetDevCapsA = (void*)GetProcAddress(winmm.Handle, "midiOutGetDevCapsA");
    winmm.midiOutGetDevCapsW = (void*)GetProcAddress(winmm.Handle, "midiOutGetDevCapsW");
    winmm.midiOutGetErrorTextA = (void*)GetProcAddress(winmm.Handle, "midiOutGetErrorTextA");
    winmm.midiOutGetErrorTextW = (void*)GetProcAddress(winmm.Handle, "midiOutGetErrorTextW");
    winmm.midiOutGetID = (void*)GetProcAddress(winmm.Handle, "midiOutGetID");
    winmm.midiOutGetNumDevs = (void*)GetProcAddress(winmm.Handle, "midiOutGetNumDevs");
    winmm.midiOutGetVolume = (void*)GetProcAddress(winmm.Handle, "midiOutGetVolume");
    winmm.midiOutLongMsg = (void*)GetProcAddress(winmm.Handle, "midiOutLongMsg");
    winmm.midiOutMessage = (void*)GetProcAddress(winmm.Handle, "midiOutMessage");
    winmm.midiOutOpen = (void*)GetProcAddress(winmm.Handle, "midiOutOpen");
    winmm.midiOutPrepareHeader = (void*)GetProcAddress(winmm.Handle, "midiOutPrepareHeader");
    winmm.midiOutReset = (void*)GetProcAddress(winmm.Handle, "midiOutReset");
    winmm.midiOutSetVolume = (void*)GetProcAddress(winmm.Handle, "midiOutSetVolume");
    winmm.midiOutShortMsg = (void*)GetProcAddress(winmm.Handle, "midiOutShortMsg");
    winmm.midiOutUnprepareHeader = (void*)GetProcAddress(winmm.Handle, "midiOutUnprepareHeader");
    winmm.midiStreamClose = (void*)GetProcAddress(winmm.Handle, "midiStreamClose");
    winmm.midiStreamOpen = (void*)GetProcAddress(winmm.Handle, "midiStreamOpen");
    winmm.midiStreamOut = (void*)GetProcAddress(winmm.Handle, "midiStreamOut");
    winmm.midiStreamPause = (void*)GetProcAddress(winmm.Handle, "midiStreamPause");
    winmm.midiStreamPosition = (void*)GetProcAddress(winmm.Handle, "midiStreamPosition");
    winmm.midiStreamProperty = (void*)GetProcAddress(winmm.Handle, "midiStreamProperty");
    winmm.midiStreamRestart = (void*)GetProcAddress(winmm.Handle, "midiStreamRestart");
    winmm.midiStreamStop = (void*)GetProcAddress(winmm.Handle, "midiStreamStop");
    winmm.mixerClose = (void*)GetProcAddress(winmm.Handle, "mixerClose");
    winmm.mixerGetControlDetailsA = (void*)GetProcAddress(winmm.Handle, "mixerGetControlDetailsA");
    winmm.mixerGetControlDetailsW = (void*)GetProcAddress(winmm.Handle, "mixerGetControlDetailsW");
    winmm.mixerGetDevCapsA = (void*)GetProcAddress(winmm.Handle, "mixerGetDevCapsA");
    winmm.mixerGetDevCapsW = (void*)GetProcAddress(winmm.Handle, "mixerGetDevCapsW");
    winmm.mixerGetID = (void*)GetProcAddress(winmm.Handle, "mixerGetID");
    winmm.mixerGetLineControlsA = (void*)GetProcAddress(winmm.Handle, "mixerGetLineControlsA");
    winmm.mixerGetLineControlsW = (void*)GetProcAddress(winmm.Handle, "mixerGetLineControlsW");
    winmm.mixerGetLineInfoA = (void*)GetProcAddress(winmm.Handle, "mixerGetLineInfoA");
    winmm.mixerGetLineInfoW = (void*)GetProcAddress(winmm.Handle, "mixerGetLineInfoW");
    winmm.mixerGetNumDevs = (void*)GetProcAddress(winmm.Handle, "mixerGetNumDevs");
    winmm.mixerMessage = (void*)GetProcAddress(winmm.Handle, "mixerMessage");
    winmm.mixerOpen = (void*)GetProcAddress(winmm.Handle, "mixerOpen");
    winmm.mixerSetControlDetails = (void*)GetProcAddress(winmm.Handle, "mixerSetControlDetails");
    winmm.mmDrvInstall = (void*)GetProcAddress(winmm.Handle, "mmDrvInstall");
    winmm.mmGetCurrentTask = (void*)GetProcAddress(winmm.Handle, "mmGetCurrentTask");
    winmm.mmTaskBlock = (void*)GetProcAddress(winmm.Handle, "mmTaskBlock");
    winmm.mmTaskCreate = (void*)GetProcAddress(winmm.Handle, "mmTaskCreate");
    winmm.mmTaskSignal = (void*)GetProcAddress(winmm.Handle, "mmTaskSignal");
    winmm.mmTaskYield = (void*)GetProcAddress(winmm.Handle, "mmTaskYield");
    winmm.mmioAdvance = (void*)GetProcAddress(winmm.Handle, "mmioAdvance");
    winmm.mmioAscend = (void*)GetProcAddress(winmm.Handle, "mmioAscend");
    winmm.mmioClose = (void*)GetProcAddress(winmm.Handle, "mmioClose");
    winmm.mmioCreateChunk = (void*)GetProcAddress(winmm.Handle, "mmioCreateChunk");
    winmm.mmioDescend = (void*)GetProcAddress(winmm.Handle, "mmioDescend");
    winmm.mmioFlush = (void*)GetProcAddress(winmm.Handle, "mmioFlush");
    winmm.mmioGetInfo = (void*)GetProcAddress(winmm.Handle, "mmioGetInfo");
    winmm.mmioInstallIOProcA = (void*)GetProcAddress(winmm.Handle, "mmioInstallIOProcA");
    winmm.mmioInstallIOProcW = (void*)GetProcAddress(winmm.Handle, "mmioInstallIOProcW");
    winmm.mmioOpenA = (void*)GetProcAddress(winmm.Handle, "mmioOpenA");
    winmm.mmioOpenW = (void*)GetProcAddress(winmm.Handle, "mmioOpenW");
    winmm.mmioRead = (void*)GetProcAddress(winmm.Handle, "mmioRead");
    winmm.mmioRenameA = (void*)GetProcAddress(winmm.Handle, "mmioRenameA");
    winmm.mmioRenameW = (void*)GetProcAddress(winmm.Handle, "mmioRenameW");
    winmm.mmioSeek = (void*)GetProcAddress(winmm.Handle, "mmioSeek");
    winmm.mmioSendMessage = (void*)GetProcAddress(winmm.Handle, "mmioSendMessage");
    winmm.mmioSetBuffer = (void*)GetProcAddress(winmm.Handle, "mmioSetBuffer");
    winmm.mmioSetInfo = (void*)GetProcAddress(winmm.Handle, "mmioSetInfo");
    winmm.mmioStringToFOURCCA = (void*)GetProcAddress(winmm.Handle, "mmioStringToFOURCCA");
    winmm.mmioStringToFOURCCW = (void*)GetProcAddress(winmm.Handle, "mmioStringToFOURCCW");
    winmm.mmioWrite = (void*)GetProcAddress(winmm.Handle, "mmioWrite");
    winmm.mmsystemGetVersion = (void*)GetProcAddress(winmm.Handle, "mmsystemGetVersion");
    winmm.mod32Message = (void*)GetProcAddress(winmm.Handle, "mod32Message");
    winmm.mxd32Message = (void*)GetProcAddress(winmm.Handle, "mxd32Message");
    winmm.sndPlaySoundA = (void*)GetProcAddress(winmm.Handle, "sndPlaySoundA");
    winmm.sndPlaySoundW = (void*)GetProcAddress(winmm.Handle, "sndPlaySoundW");
    winmm.tid32Message = (void*)GetProcAddress(winmm.Handle, "tid32Message");
    winmm.timeBeginPeriod = (void*)GetProcAddress(winmm.Handle, "timeBeginPeriod");
    winmm.timeEndPeriod = (void*)GetProcAddress(winmm.Handle, "timeEndPeriod");
    winmm.timeGetDevCaps = (void*)GetProcAddress(winmm.Handle, "timeGetDevCaps");
    winmm.timeGetSystemTime = (void*)GetProcAddress(winmm.Handle, "timeGetSystemTime");
    winmm.timeGetTime = (void*)GetProcAddress(winmm.Handle, "timeGetTime");
    winmm.timeKillEvent = (void*)GetProcAddress(winmm.Handle, "timeKillEvent");
    winmm.timeSetEvent = (void*)GetProcAddress(winmm.Handle, "timeSetEvent");
    winmm.waveInAddBuffer = (void*)GetProcAddress(winmm.Handle, "waveInAddBuffer");
    winmm.waveInClose = (void*)GetProcAddress(winmm.Handle, "waveInClose");
    winmm.waveInGetDevCapsA = (void*)GetProcAddress(winmm.Handle, "waveInGetDevCapsA");
    winmm.waveInGetDevCapsW = (void*)GetProcAddress(winmm.Handle, "waveInGetDevCapsW");
    winmm.waveInGetErrorTextA = (void*)GetProcAddress(winmm.Handle, "waveInGetErrorTextA");
    winmm.waveInGetErrorTextW = (void*)GetProcAddress(winmm.Handle, "waveInGetErrorTextW");
    winmm.waveInGetID = (void*)GetProcAddress(winmm.Handle, "waveInGetID");
    winmm.waveInGetNumDevs = (void*)GetProcAddress(winmm.Handle, "waveInGetNumDevs");
    winmm.waveInGetPosition = (void*)GetProcAddress(winmm.Handle, "waveInGetPosition");
    winmm.waveInMessage = (void*)GetProcAddress(winmm.Handle, "waveInMessage");
    winmm.waveInOpen = (void*)GetProcAddress(winmm.Handle, "waveInOpen");
    winmm.waveInPrepareHeader = (void*)GetProcAddress(winmm.Handle, "waveInPrepareHeader");
    winmm.waveInReset = (void*)GetProcAddress(winmm.Handle, "waveInReset");
    winmm.waveInStart = (void*)GetProcAddress(winmm.Handle, "waveInStart");
    winmm.waveInStop = (void*)GetProcAddress(winmm.Handle, "waveInStop");
    winmm.waveInUnprepareHeader = (void*)GetProcAddress(winmm.Handle, "waveInUnprepareHeader");
    winmm.waveOutBreakLoop = (void*)GetProcAddress(winmm.Handle, "waveOutBreakLoop");
    winmm.waveOutClose = (void*)GetProcAddress(winmm.Handle, "waveOutClose");
    winmm.waveOutGetDevCapsA = (void*)GetProcAddress(winmm.Handle, "waveOutGetDevCapsA");
    winmm.waveOutGetDevCapsW = (void*)GetProcAddress(winmm.Handle, "waveOutGetDevCapsW");
    winmm.waveOutGetErrorTextA = (void*)GetProcAddress(winmm.Handle, "waveOutGetErrorTextA");
    winmm.waveOutGetErrorTextW = (void*)GetProcAddress(winmm.Handle, "waveOutGetErrorTextW");
    winmm.waveOutGetID = (void*)GetProcAddress(winmm.Handle, "waveOutGetID");
    winmm.waveOutGetNumDevs = (void*)GetProcAddress(winmm.Handle, "waveOutGetNumDevs");
    winmm.waveOutGetPitch = (void*)GetProcAddress(winmm.Handle, "waveOutGetPitch");
    winmm.waveOutGetPlaybackRate = (void*)GetProcAddress(winmm.Handle, "waveOutGetPlaybackRate");
    winmm.waveOutGetPosition = (void*)GetProcAddress(winmm.Handle, "waveOutGetPosition");
    winmm.waveOutGetVolume = (void*)GetProcAddress(winmm.Handle, "waveOutGetVolume");
    winmm.waveOutMessage = (void*)GetProcAddress(winmm.Handle, "waveOutMessage");
    winmm.waveOutOpen = (void*)GetProcAddress(winmm.Handle, "waveOutOpen");
    winmm.waveOutPause = (void*)GetProcAddress(winmm.Handle, "waveOutPause");
    winmm.waveOutPrepareHeader = (void*)GetProcAddress(winmm.Handle, "waveOutPrepareHeader");
    winmm.waveOutReset = (void*)GetProcAddress(winmm.Handle, "waveOutReset");
    winmm.waveOutRestart = (void*)GetProcAddress(winmm.Handle, "waveOutRestart");
    winmm.waveOutSetPitch = (void*)GetProcAddress(winmm.Handle, "waveOutSetPitch");
    winmm.waveOutSetPlaybackRate = (void*)GetProcAddress(winmm.Handle, "waveOutSetPlaybackRate");
    winmm.waveOutSetVolume = (void*)GetProcAddress(winmm.Handle, "waveOutSetVolume");
    winmm.waveOutUnprepareHeader = (void*)GetProcAddress(winmm.Handle, "waveOutUnprepareHeader");
    winmm.waveOutWrite = (void*)GetProcAddress(winmm.Handle, "waveOutWrite");
    winmm.wid32Message = (void*)GetProcAddress(winmm.Handle, "wid32Message");
    winmm.winmmDbgOut = (void*)GetProcAddress(winmm.Handle, "winmmDbgOut");
    winmm.winmmSetDebugLevel = (void*)GetProcAddress(winmm.Handle, "winmmSetDebugLevel");
    winmm.wod32Message = (void*)GetProcAddress(winmm.Handle, "wod32Message");

    return TRUE;
}

//---------------------------------------------------------------------------

int WINAPI DllMain(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
    switch(reason){
        case DLL_PROCESS_ATTACH:
	    winmm.TlsIndex = TlsAlloc();
            LoadWinmm();
            TlsSetValue(winmm.TlsIndex, winmm.Handle);
            StartPropo();
            break;

        case DLL_THREAD_ATTACH:
            TlsSetValue(winmm.TlsIndex, LoadLibrary(winmm.Path));
            LoadWinmm();
            break;

        case DLL_THREAD_DETACH:
            FreeLibrary(TlsGetValue(winmm.TlsIndex));
            break;

        case DLL_PROCESS_DETACH:
            FreeLibrary(winmm.Handle);
      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -