📄 winmm.c
字号:
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 + -