github.com/kbinani/win@v0.3.0/winmm.go (about) 1 // This file was automatically generated by https://github.com/kbinani/win/blob/generator/internal/cmd/gen/gen.go 2 // go run internal/cmd/gen/gen.go 3 4 // +build windows 5 6 package win 7 8 import ( 9 "syscall" 10 "unsafe" 11 ) 12 13 var ( 14 // Library 15 libwinmm uintptr 16 17 // Functions 18 closeDriver uintptr 19 defDriverProc uintptr 20 drvGetModuleHandle uintptr 21 getDriverModuleHandle uintptr 22 openDriver uintptr 23 playSound uintptr 24 sendDriverMessage uintptr 25 auxGetDevCaps uintptr 26 auxGetNumDevs uintptr 27 auxGetVolume uintptr 28 auxOutMessage uintptr 29 auxSetVolume uintptr 30 joyGetDevCaps uintptr 31 joyGetNumDevs uintptr 32 joyGetPos uintptr 33 joyGetPosEx uintptr 34 joyGetThreshold uintptr 35 joyReleaseCapture uintptr 36 joySetCapture uintptr 37 joySetThreshold uintptr 38 mciGetCreatorTask uintptr 39 mciGetDeviceIDFromElementID uintptr 40 mciGetDeviceID uintptr 41 mciGetErrorString uintptr 42 mciGetYieldProc uintptr 43 mciSendCommand uintptr 44 mciSendString uintptr 45 mciSetYieldProc uintptr 46 midiConnect uintptr 47 midiDisconnect uintptr 48 midiInAddBuffer uintptr 49 midiInClose uintptr 50 midiInGetDevCaps uintptr 51 midiInGetErrorText uintptr 52 midiInGetID uintptr 53 midiInGetNumDevs uintptr 54 midiInMessage uintptr 55 midiInOpen uintptr 56 midiInPrepareHeader uintptr 57 midiInReset uintptr 58 midiInStart uintptr 59 midiInStop uintptr 60 midiInUnprepareHeader uintptr 61 midiOutCacheDrumPatches uintptr 62 midiOutCachePatches uintptr 63 midiOutClose uintptr 64 midiOutGetDevCaps uintptr 65 midiOutGetErrorText uintptr 66 midiOutGetID uintptr 67 midiOutGetNumDevs uintptr 68 midiOutGetVolume uintptr 69 midiOutLongMsg uintptr 70 midiOutMessage uintptr 71 midiOutOpen uintptr 72 midiOutPrepareHeader uintptr 73 midiOutReset uintptr 74 midiOutSetVolume uintptr 75 midiOutShortMsg uintptr 76 midiOutUnprepareHeader uintptr 77 midiStreamClose uintptr 78 midiStreamOpen uintptr 79 midiStreamOut uintptr 80 midiStreamPause uintptr 81 midiStreamPosition uintptr 82 midiStreamProperty uintptr 83 midiStreamRestart uintptr 84 midiStreamStop uintptr 85 mixerClose uintptr 86 mixerGetControlDetails uintptr 87 mixerGetDevCaps uintptr 88 mixerGetID uintptr 89 mixerGetLineControls uintptr 90 mixerGetLineInfo uintptr 91 mixerGetNumDevs uintptr 92 mixerMessage uintptr 93 mixerOpen uintptr 94 mixerSetControlDetails uintptr 95 mmioAdvance uintptr 96 mmioAscend uintptr 97 mmioClose uintptr 98 mmioCreateChunk uintptr 99 mmioDescend uintptr 100 mmioFlush uintptr 101 mmioGetInfo uintptr 102 mmioInstallIOProc uintptr 103 mmioOpen uintptr 104 mmioRead uintptr 105 mmioRename uintptr 106 mmioSeek uintptr 107 mmioSendMessage uintptr 108 mmioSetBuffer uintptr 109 mmioSetInfo uintptr 110 mmioStringToFOURCC uintptr 111 mmioWrite uintptr 112 sndPlaySound uintptr 113 timeBeginPeriod uintptr 114 timeEndPeriod uintptr 115 timeGetDevCaps uintptr 116 timeGetSystemTime uintptr 117 timeGetTime uintptr 118 timeKillEvent uintptr 119 timeSetEvent uintptr 120 waveInAddBuffer uintptr 121 waveInClose uintptr 122 waveInGetDevCaps uintptr 123 waveInGetErrorText uintptr 124 waveInGetID uintptr 125 waveInGetNumDevs uintptr 126 waveInGetPosition uintptr 127 waveInMessage uintptr 128 waveInOpen uintptr 129 waveInPrepareHeader uintptr 130 waveInReset uintptr 131 waveInStart uintptr 132 waveInStop uintptr 133 waveInUnprepareHeader uintptr 134 waveOutBreakLoop uintptr 135 waveOutClose uintptr 136 waveOutGetDevCaps uintptr 137 waveOutGetErrorText uintptr 138 waveOutGetID uintptr 139 waveOutGetNumDevs uintptr 140 waveOutGetPitch uintptr 141 waveOutGetPlaybackRate uintptr 142 waveOutGetPosition uintptr 143 waveOutGetVolume uintptr 144 waveOutMessage uintptr 145 waveOutOpen uintptr 146 waveOutPause uintptr 147 waveOutPrepareHeader uintptr 148 waveOutReset uintptr 149 waveOutRestart uintptr 150 waveOutSetPitch uintptr 151 waveOutSetPlaybackRate uintptr 152 waveOutSetVolume uintptr 153 waveOutUnprepareHeader uintptr 154 waveOutWrite uintptr 155 driverCallback uintptr 156 joyConfigChanged uintptr 157 mciDriverNotify uintptr 158 mciDriverYield uintptr 159 mciExecute uintptr 160 mciFreeCommandResource uintptr 161 mciGetDriverData uintptr 162 mciLoadCommandResource uintptr 163 mciSetDriverData uintptr 164 mmGetCurrentTask uintptr 165 mmTaskBlock uintptr 166 mmTaskCreate uintptr 167 mmTaskSignal uintptr 168 mmTaskYield uintptr 169 mmsystemGetVersion uintptr 170 ) 171 172 func init() { 173 // Library 174 libwinmm = doLoadLibrary("winmm.dll") 175 176 // Functions 177 closeDriver = doGetProcAddress(libwinmm, "CloseDriver") 178 defDriverProc = doGetProcAddress(libwinmm, "DefDriverProc") 179 drvGetModuleHandle = doGetProcAddress(libwinmm, "DrvGetModuleHandle") 180 getDriverModuleHandle = doGetProcAddress(libwinmm, "GetDriverModuleHandle") 181 openDriver = doGetProcAddress(libwinmm, "OpenDriver") 182 playSound = doGetProcAddress(libwinmm, "PlaySoundW") 183 sendDriverMessage = doGetProcAddress(libwinmm, "SendDriverMessage") 184 auxGetDevCaps = doGetProcAddress(libwinmm, "auxGetDevCapsW") 185 auxGetNumDevs = doGetProcAddress(libwinmm, "auxGetNumDevs") 186 auxGetVolume = doGetProcAddress(libwinmm, "auxGetVolume") 187 auxOutMessage = doGetProcAddress(libwinmm, "auxOutMessage") 188 auxSetVolume = doGetProcAddress(libwinmm, "auxSetVolume") 189 joyGetDevCaps = doGetProcAddress(libwinmm, "joyGetDevCapsW") 190 joyGetNumDevs = doGetProcAddress(libwinmm, "joyGetNumDevs") 191 joyGetPos = doGetProcAddress(libwinmm, "joyGetPos") 192 joyGetPosEx = doGetProcAddress(libwinmm, "joyGetPosEx") 193 joyGetThreshold = doGetProcAddress(libwinmm, "joyGetThreshold") 194 joyReleaseCapture = doGetProcAddress(libwinmm, "joyReleaseCapture") 195 joySetCapture = doGetProcAddress(libwinmm, "joySetCapture") 196 joySetThreshold = doGetProcAddress(libwinmm, "joySetThreshold") 197 mciGetCreatorTask = doGetProcAddress(libwinmm, "mciGetCreatorTask") 198 mciGetDeviceIDFromElementID = doGetProcAddress(libwinmm, "mciGetDeviceIDFromElementIDW") 199 mciGetDeviceID = doGetProcAddress(libwinmm, "mciGetDeviceIDW") 200 mciGetErrorString = doGetProcAddress(libwinmm, "mciGetErrorStringW") 201 mciGetYieldProc = doGetProcAddress(libwinmm, "mciGetYieldProc") 202 mciSendCommand = doGetProcAddress(libwinmm, "mciSendCommandW") 203 mciSendString = doGetProcAddress(libwinmm, "mciSendStringW") 204 mciSetYieldProc = doGetProcAddress(libwinmm, "mciSetYieldProc") 205 midiConnect = doGetProcAddress(libwinmm, "midiConnect") 206 midiDisconnect = doGetProcAddress(libwinmm, "midiDisconnect") 207 midiInAddBuffer = doGetProcAddress(libwinmm, "midiInAddBuffer") 208 midiInClose = doGetProcAddress(libwinmm, "midiInClose") 209 midiInGetDevCaps = doGetProcAddress(libwinmm, "midiInGetDevCapsW") 210 midiInGetErrorText = doGetProcAddress(libwinmm, "midiInGetErrorTextW") 211 midiInGetID = doGetProcAddress(libwinmm, "midiInGetID") 212 midiInGetNumDevs = doGetProcAddress(libwinmm, "midiInGetNumDevs") 213 midiInMessage = doGetProcAddress(libwinmm, "midiInMessage") 214 midiInOpen = doGetProcAddress(libwinmm, "midiInOpen") 215 midiInPrepareHeader = doGetProcAddress(libwinmm, "midiInPrepareHeader") 216 midiInReset = doGetProcAddress(libwinmm, "midiInReset") 217 midiInStart = doGetProcAddress(libwinmm, "midiInStart") 218 midiInStop = doGetProcAddress(libwinmm, "midiInStop") 219 midiInUnprepareHeader = doGetProcAddress(libwinmm, "midiInUnprepareHeader") 220 midiOutCacheDrumPatches = doGetProcAddress(libwinmm, "midiOutCacheDrumPatches") 221 midiOutCachePatches = doGetProcAddress(libwinmm, "midiOutCachePatches") 222 midiOutClose = doGetProcAddress(libwinmm, "midiOutClose") 223 midiOutGetDevCaps = doGetProcAddress(libwinmm, "midiOutGetDevCapsW") 224 midiOutGetErrorText = doGetProcAddress(libwinmm, "midiOutGetErrorTextW") 225 midiOutGetID = doGetProcAddress(libwinmm, "midiOutGetID") 226 midiOutGetNumDevs = doGetProcAddress(libwinmm, "midiOutGetNumDevs") 227 midiOutGetVolume = doGetProcAddress(libwinmm, "midiOutGetVolume") 228 midiOutLongMsg = doGetProcAddress(libwinmm, "midiOutLongMsg") 229 midiOutMessage = doGetProcAddress(libwinmm, "midiOutMessage") 230 midiOutOpen = doGetProcAddress(libwinmm, "midiOutOpen") 231 midiOutPrepareHeader = doGetProcAddress(libwinmm, "midiOutPrepareHeader") 232 midiOutReset = doGetProcAddress(libwinmm, "midiOutReset") 233 midiOutSetVolume = doGetProcAddress(libwinmm, "midiOutSetVolume") 234 midiOutShortMsg = doGetProcAddress(libwinmm, "midiOutShortMsg") 235 midiOutUnprepareHeader = doGetProcAddress(libwinmm, "midiOutUnprepareHeader") 236 midiStreamClose = doGetProcAddress(libwinmm, "midiStreamClose") 237 midiStreamOpen = doGetProcAddress(libwinmm, "midiStreamOpen") 238 midiStreamOut = doGetProcAddress(libwinmm, "midiStreamOut") 239 midiStreamPause = doGetProcAddress(libwinmm, "midiStreamPause") 240 midiStreamPosition = doGetProcAddress(libwinmm, "midiStreamPosition") 241 midiStreamProperty = doGetProcAddress(libwinmm, "midiStreamProperty") 242 midiStreamRestart = doGetProcAddress(libwinmm, "midiStreamRestart") 243 midiStreamStop = doGetProcAddress(libwinmm, "midiStreamStop") 244 mixerClose = doGetProcAddress(libwinmm, "mixerClose") 245 mixerGetControlDetails = doGetProcAddress(libwinmm, "mixerGetControlDetailsW") 246 mixerGetDevCaps = doGetProcAddress(libwinmm, "mixerGetDevCapsW") 247 mixerGetID = doGetProcAddress(libwinmm, "mixerGetID") 248 mixerGetLineControls = doGetProcAddress(libwinmm, "mixerGetLineControlsW") 249 mixerGetLineInfo = doGetProcAddress(libwinmm, "mixerGetLineInfoW") 250 mixerGetNumDevs = doGetProcAddress(libwinmm, "mixerGetNumDevs") 251 mixerMessage = doGetProcAddress(libwinmm, "mixerMessage") 252 mixerOpen = doGetProcAddress(libwinmm, "mixerOpen") 253 mixerSetControlDetails = doGetProcAddress(libwinmm, "mixerSetControlDetails") 254 mmioAdvance = doGetProcAddress(libwinmm, "mmioAdvance") 255 mmioAscend = doGetProcAddress(libwinmm, "mmioAscend") 256 mmioClose = doGetProcAddress(libwinmm, "mmioClose") 257 mmioCreateChunk = doGetProcAddress(libwinmm, "mmioCreateChunk") 258 mmioDescend = doGetProcAddress(libwinmm, "mmioDescend") 259 mmioFlush = doGetProcAddress(libwinmm, "mmioFlush") 260 mmioGetInfo = doGetProcAddress(libwinmm, "mmioGetInfo") 261 mmioInstallIOProc = doGetProcAddress(libwinmm, "mmioInstallIOProcW") 262 mmioOpen = doGetProcAddress(libwinmm, "mmioOpenW") 263 mmioRead = doGetProcAddress(libwinmm, "mmioRead") 264 mmioRename = doGetProcAddress(libwinmm, "mmioRenameW") 265 mmioSeek = doGetProcAddress(libwinmm, "mmioSeek") 266 mmioSendMessage = doGetProcAddress(libwinmm, "mmioSendMessage") 267 mmioSetBuffer = doGetProcAddress(libwinmm, "mmioSetBuffer") 268 mmioSetInfo = doGetProcAddress(libwinmm, "mmioSetInfo") 269 mmioStringToFOURCC = doGetProcAddress(libwinmm, "mmioStringToFOURCCW") 270 mmioWrite = doGetProcAddress(libwinmm, "mmioWrite") 271 sndPlaySound = doGetProcAddress(libwinmm, "sndPlaySoundW") 272 timeBeginPeriod = doGetProcAddress(libwinmm, "timeBeginPeriod") 273 timeEndPeriod = doGetProcAddress(libwinmm, "timeEndPeriod") 274 timeGetDevCaps = doGetProcAddress(libwinmm, "timeGetDevCaps") 275 timeGetSystemTime = doGetProcAddress(libwinmm, "timeGetSystemTime") 276 timeGetTime = doGetProcAddress(libwinmm, "timeGetTime") 277 timeKillEvent = doGetProcAddress(libwinmm, "timeKillEvent") 278 timeSetEvent = doGetProcAddress(libwinmm, "timeSetEvent") 279 waveInAddBuffer = doGetProcAddress(libwinmm, "waveInAddBuffer") 280 waveInClose = doGetProcAddress(libwinmm, "waveInClose") 281 waveInGetDevCaps = doGetProcAddress(libwinmm, "waveInGetDevCapsW") 282 waveInGetErrorText = doGetProcAddress(libwinmm, "waveInGetErrorTextW") 283 waveInGetID = doGetProcAddress(libwinmm, "waveInGetID") 284 waveInGetNumDevs = doGetProcAddress(libwinmm, "waveInGetNumDevs") 285 waveInGetPosition = doGetProcAddress(libwinmm, "waveInGetPosition") 286 waveInMessage = doGetProcAddress(libwinmm, "waveInMessage") 287 waveInOpen = doGetProcAddress(libwinmm, "waveInOpen") 288 waveInPrepareHeader = doGetProcAddress(libwinmm, "waveInPrepareHeader") 289 waveInReset = doGetProcAddress(libwinmm, "waveInReset") 290 waveInStart = doGetProcAddress(libwinmm, "waveInStart") 291 waveInStop = doGetProcAddress(libwinmm, "waveInStop") 292 waveInUnprepareHeader = doGetProcAddress(libwinmm, "waveInUnprepareHeader") 293 waveOutBreakLoop = doGetProcAddress(libwinmm, "waveOutBreakLoop") 294 waveOutClose = doGetProcAddress(libwinmm, "waveOutClose") 295 waveOutGetDevCaps = doGetProcAddress(libwinmm, "waveOutGetDevCapsW") 296 waveOutGetErrorText = doGetProcAddress(libwinmm, "waveOutGetErrorTextW") 297 waveOutGetID = doGetProcAddress(libwinmm, "waveOutGetID") 298 waveOutGetNumDevs = doGetProcAddress(libwinmm, "waveOutGetNumDevs") 299 waveOutGetPitch = doGetProcAddress(libwinmm, "waveOutGetPitch") 300 waveOutGetPlaybackRate = doGetProcAddress(libwinmm, "waveOutGetPlaybackRate") 301 waveOutGetPosition = doGetProcAddress(libwinmm, "waveOutGetPosition") 302 waveOutGetVolume = doGetProcAddress(libwinmm, "waveOutGetVolume") 303 waveOutMessage = doGetProcAddress(libwinmm, "waveOutMessage") 304 waveOutOpen = doGetProcAddress(libwinmm, "waveOutOpen") 305 waveOutPause = doGetProcAddress(libwinmm, "waveOutPause") 306 waveOutPrepareHeader = doGetProcAddress(libwinmm, "waveOutPrepareHeader") 307 waveOutReset = doGetProcAddress(libwinmm, "waveOutReset") 308 waveOutRestart = doGetProcAddress(libwinmm, "waveOutRestart") 309 waveOutSetPitch = doGetProcAddress(libwinmm, "waveOutSetPitch") 310 waveOutSetPlaybackRate = doGetProcAddress(libwinmm, "waveOutSetPlaybackRate") 311 waveOutSetVolume = doGetProcAddress(libwinmm, "waveOutSetVolume") 312 waveOutUnprepareHeader = doGetProcAddress(libwinmm, "waveOutUnprepareHeader") 313 waveOutWrite = doGetProcAddress(libwinmm, "waveOutWrite") 314 driverCallback = doGetProcAddress(libwinmm, "DriverCallback") 315 joyConfigChanged = doGetProcAddress(libwinmm, "joyConfigChanged") 316 mciDriverNotify = doGetProcAddress(libwinmm, "mciDriverNotify") 317 mciDriverYield = doGetProcAddress(libwinmm, "mciDriverYield") 318 mciExecute = doGetProcAddress(libwinmm, "mciExecute") 319 mciFreeCommandResource = doGetProcAddress(libwinmm, "mciFreeCommandResource") 320 mciGetDriverData = doGetProcAddress(libwinmm, "mciGetDriverData") 321 mciLoadCommandResource = doGetProcAddress(libwinmm, "mciLoadCommandResource") 322 mciSetDriverData = doGetProcAddress(libwinmm, "mciSetDriverData") 323 mmGetCurrentTask = doGetProcAddress(libwinmm, "mmGetCurrentTask") 324 mmTaskBlock = doGetProcAddress(libwinmm, "mmTaskBlock") 325 mmTaskCreate = doGetProcAddress(libwinmm, "mmTaskCreate") 326 mmTaskSignal = doGetProcAddress(libwinmm, "mmTaskSignal") 327 mmTaskYield = doGetProcAddress(libwinmm, "mmTaskYield") 328 mmsystemGetVersion = doGetProcAddress(libwinmm, "mmsystemGetVersion") 329 } 330 331 func CloseDriver(hDriver HDRVR, lParam1 LPARAM, lParam2 LPARAM) LRESULT { 332 ret1 := syscall3(closeDriver, 3, 333 uintptr(hDriver), 334 uintptr(lParam1), 335 uintptr(lParam2)) 336 return LRESULT(ret1) 337 } 338 339 func DefDriverProc(dwDriverIdentifier *uint32, hdrvr HDRVR, uMsg UINT, lParam1 LPARAM, lParam2 LPARAM) LRESULT { 340 ret1 := syscall6(defDriverProc, 5, 341 uintptr(unsafe.Pointer(dwDriverIdentifier)), 342 uintptr(hdrvr), 343 uintptr(uMsg), 344 uintptr(lParam1), 345 uintptr(lParam2), 346 0) 347 return LRESULT(ret1) 348 } 349 350 func DrvGetModuleHandle(hDriver HDRVR) HMODULE { 351 ret1 := syscall3(drvGetModuleHandle, 1, 352 uintptr(hDriver), 353 0, 354 0) 355 return HMODULE(ret1) 356 } 357 358 func GetDriverModuleHandle(hDriver HDRVR) HMODULE { 359 ret1 := syscall3(getDriverModuleHandle, 1, 360 uintptr(hDriver), 361 0, 362 0) 363 return HMODULE(ret1) 364 } 365 366 func OpenDriver(szDriverName string, szSectionName string, lParam2 LPARAM) HDRVR { 367 szDriverNameStr := unicode16FromString(szDriverName) 368 szSectionNameStr := unicode16FromString(szSectionName) 369 ret1 := syscall3(openDriver, 3, 370 uintptr(unsafe.Pointer(&szDriverNameStr[0])), 371 uintptr(unsafe.Pointer(&szSectionNameStr[0])), 372 uintptr(lParam2)) 373 return HDRVR(ret1) 374 } 375 376 func PlaySound(pszSound string, hmod HMODULE, fdwSound DWORD) bool { 377 pszSoundStr := unicode16FromString(pszSound) 378 ret1 := syscall3(playSound, 3, 379 uintptr(unsafe.Pointer(&pszSoundStr[0])), 380 uintptr(hmod), 381 uintptr(fdwSound)) 382 return ret1 != 0 383 } 384 385 func SendDriverMessage(hDriver HDRVR, message UINT, lParam1 LPARAM, lParam2 LPARAM) LRESULT { 386 ret1 := syscall6(sendDriverMessage, 4, 387 uintptr(hDriver), 388 uintptr(message), 389 uintptr(lParam1), 390 uintptr(lParam2), 391 0, 392 0) 393 return LRESULT(ret1) 394 } 395 396 func AuxGetDevCaps(uDeviceID *uint32, pac *AUXCAPS, cbac UINT) MMRESULT { 397 ret1 := syscall3(auxGetDevCaps, 3, 398 uintptr(unsafe.Pointer(uDeviceID)), 399 uintptr(unsafe.Pointer(pac)), 400 uintptr(cbac)) 401 return MMRESULT(ret1) 402 } 403 404 func AuxGetNumDevs() UINT { 405 ret1 := syscall3(auxGetNumDevs, 0, 406 0, 407 0, 408 0) 409 return UINT(ret1) 410 } 411 412 func AuxGetVolume(uDeviceID UINT, pdwVolume *uint32) MMRESULT { 413 ret1 := syscall3(auxGetVolume, 2, 414 uintptr(uDeviceID), 415 uintptr(unsafe.Pointer(pdwVolume)), 416 0) 417 return MMRESULT(ret1) 418 } 419 420 func AuxOutMessage(uDeviceID UINT, uMsg UINT, dw1 *uint32, dw2 *uint32) MMRESULT { 421 ret1 := syscall6(auxOutMessage, 4, 422 uintptr(uDeviceID), 423 uintptr(uMsg), 424 uintptr(unsafe.Pointer(dw1)), 425 uintptr(unsafe.Pointer(dw2)), 426 0, 427 0) 428 return MMRESULT(ret1) 429 } 430 431 func AuxSetVolume(uDeviceID UINT, dwVolume DWORD) MMRESULT { 432 ret1 := syscall3(auxSetVolume, 2, 433 uintptr(uDeviceID), 434 uintptr(dwVolume), 435 0) 436 return MMRESULT(ret1) 437 } 438 439 func JoyGetDevCaps(uJoyID *uint32, pjc LPJOYCAPS, cbjc UINT) MMRESULT { 440 ret1 := syscall3(joyGetDevCaps, 3, 441 uintptr(unsafe.Pointer(uJoyID)), 442 uintptr(unsafe.Pointer(pjc)), 443 uintptr(cbjc)) 444 return MMRESULT(ret1) 445 } 446 447 func JoyGetNumDevs() UINT { 448 ret1 := syscall3(joyGetNumDevs, 0, 449 0, 450 0, 451 0) 452 return UINT(ret1) 453 } 454 455 func JoyGetPos(uJoyID UINT, pji LPJOYINFO) MMRESULT { 456 ret1 := syscall3(joyGetPos, 2, 457 uintptr(uJoyID), 458 uintptr(unsafe.Pointer(pji)), 459 0) 460 return MMRESULT(ret1) 461 } 462 463 func JoyGetPosEx(uJoyID UINT, pji *JOYINFOEX) MMRESULT { 464 ret1 := syscall3(joyGetPosEx, 2, 465 uintptr(uJoyID), 466 uintptr(unsafe.Pointer(pji)), 467 0) 468 return MMRESULT(ret1) 469 } 470 471 func JoyGetThreshold(uJoyID UINT, puThreshold *UINT) MMRESULT { 472 ret1 := syscall3(joyGetThreshold, 2, 473 uintptr(uJoyID), 474 uintptr(unsafe.Pointer(puThreshold)), 475 0) 476 return MMRESULT(ret1) 477 } 478 479 func JoyReleaseCapture(uJoyID UINT) MMRESULT { 480 ret1 := syscall3(joyReleaseCapture, 1, 481 uintptr(uJoyID), 482 0, 483 0) 484 return MMRESULT(ret1) 485 } 486 487 func JoySetCapture(hwnd HWND, uJoyID UINT, uPeriod UINT, fChanged bool) MMRESULT { 488 ret1 := syscall6(joySetCapture, 4, 489 uintptr(hwnd), 490 uintptr(uJoyID), 491 uintptr(uPeriod), 492 getUintptrFromBool(fChanged), 493 0, 494 0) 495 return MMRESULT(ret1) 496 } 497 498 func JoySetThreshold(uJoyID UINT, uThreshold UINT) MMRESULT { 499 ret1 := syscall3(joySetThreshold, 2, 500 uintptr(uJoyID), 501 uintptr(uThreshold), 502 0) 503 return MMRESULT(ret1) 504 } 505 506 func MciGetCreatorTask(mciId MCIDEVICEID) HTASK { 507 ret1 := syscall3(mciGetCreatorTask, 1, 508 uintptr(mciId), 509 0, 510 0) 511 return HTASK(ret1) 512 } 513 514 func MciGetDeviceIDFromElementID(dwElementID DWORD, lpstrType string) MCIDEVICEID { 515 lpstrTypeStr := unicode16FromString(lpstrType) 516 ret1 := syscall3(mciGetDeviceIDFromElementID, 2, 517 uintptr(dwElementID), 518 uintptr(unsafe.Pointer(&lpstrTypeStr[0])), 519 0) 520 return MCIDEVICEID(ret1) 521 } 522 523 func MciGetDeviceID(pszDevice string) MCIDEVICEID { 524 pszDeviceStr := unicode16FromString(pszDevice) 525 ret1 := syscall3(mciGetDeviceID, 1, 526 uintptr(unsafe.Pointer(&pszDeviceStr[0])), 527 0, 528 0) 529 return MCIDEVICEID(ret1) 530 } 531 532 func MciGetErrorString(mcierr MCIERROR, pszText LPWSTR, cchText UINT) bool { 533 ret1 := syscall3(mciGetErrorString, 3, 534 uintptr(mcierr), 535 uintptr(unsafe.Pointer(pszText)), 536 uintptr(cchText)) 537 return ret1 != 0 538 } 539 540 func MciGetYieldProc(mciId MCIDEVICEID, pdwYieldData *uint32) YIELDPROC { 541 ret1 := syscall3(mciGetYieldProc, 2, 542 uintptr(mciId), 543 uintptr(unsafe.Pointer(pdwYieldData)), 544 0) 545 return func(mciId MCIDEVICEID, dwYieldData DWORD) UINT { 546 ret2 := syscall3(ret1, 2, 547 uintptr(mciId), 548 uintptr(dwYieldData), 549 0) 550 return UINT(ret2) 551 } 552 } 553 554 func MciSendCommand(mciId MCIDEVICEID, uMsg UINT, dwParam1 *uint32, dwParam2 *uint32) MCIERROR { 555 ret1 := syscall6(mciSendCommand, 4, 556 uintptr(mciId), 557 uintptr(uMsg), 558 uintptr(unsafe.Pointer(dwParam1)), 559 uintptr(unsafe.Pointer(dwParam2)), 560 0, 561 0) 562 return MCIERROR(ret1) 563 } 564 565 func MciSendString(lpstrCommand string, lpstrReturnString LPWSTR, uReturnLength UINT, hwndCallback HWND) MCIERROR { 566 lpstrCommandStr := unicode16FromString(lpstrCommand) 567 ret1 := syscall6(mciSendString, 4, 568 uintptr(unsafe.Pointer(&lpstrCommandStr[0])), 569 uintptr(unsafe.Pointer(lpstrReturnString)), 570 uintptr(uReturnLength), 571 uintptr(hwndCallback), 572 0, 573 0) 574 return MCIERROR(ret1) 575 } 576 577 func MciSetYieldProc(mciId MCIDEVICEID, fpYieldProc YIELDPROC, dwYieldData DWORD) bool { 578 fpYieldProcCallback := syscall.NewCallback(func(mciIdRawArg MCIDEVICEID, dwYieldDataRawArg DWORD) uintptr { 579 ret := fpYieldProc(mciIdRawArg, dwYieldDataRawArg) 580 return uintptr(ret) 581 }) 582 ret1 := syscall3(mciSetYieldProc, 3, 583 uintptr(mciId), 584 fpYieldProcCallback, 585 uintptr(dwYieldData)) 586 return ret1 != 0 587 } 588 589 func MidiConnect(hmi HMIDI, hmo HMIDIOUT, pReserved LPVOID) MMRESULT { 590 ret1 := syscall3(midiConnect, 3, 591 uintptr(hmi), 592 uintptr(hmo), 593 uintptr(unsafe.Pointer(pReserved))) 594 return MMRESULT(ret1) 595 } 596 597 func MidiDisconnect(hmi HMIDI, hmo HMIDIOUT, pReserved LPVOID) MMRESULT { 598 ret1 := syscall3(midiDisconnect, 3, 599 uintptr(hmi), 600 uintptr(hmo), 601 uintptr(unsafe.Pointer(pReserved))) 602 return MMRESULT(ret1) 603 } 604 605 func MidiInAddBuffer(hmi HMIDIIN, pmh *MIDIHDR, cbmh UINT) MMRESULT { 606 ret1 := syscall3(midiInAddBuffer, 3, 607 uintptr(hmi), 608 uintptr(unsafe.Pointer(pmh)), 609 uintptr(cbmh)) 610 return MMRESULT(ret1) 611 } 612 613 func MidiInClose(hmi HMIDIIN) MMRESULT { 614 ret1 := syscall3(midiInClose, 1, 615 uintptr(hmi), 616 0, 617 0) 618 return MMRESULT(ret1) 619 } 620 621 func MidiInGetDevCaps(uDeviceID *uint32, pmic *MIDIINCAPS, cbmic UINT) MMRESULT { 622 ret1 := syscall3(midiInGetDevCaps, 3, 623 uintptr(unsafe.Pointer(uDeviceID)), 624 uintptr(unsafe.Pointer(pmic)), 625 uintptr(cbmic)) 626 return MMRESULT(ret1) 627 } 628 629 func MidiInGetErrorText(mmrError MMRESULT, pszText LPWSTR, cchText UINT) MMRESULT { 630 ret1 := syscall3(midiInGetErrorText, 3, 631 uintptr(mmrError), 632 uintptr(unsafe.Pointer(pszText)), 633 uintptr(cchText)) 634 return MMRESULT(ret1) 635 } 636 637 func MidiInGetID(hmi HMIDIIN, puDeviceID *UINT) MMRESULT { 638 ret1 := syscall3(midiInGetID, 2, 639 uintptr(hmi), 640 uintptr(unsafe.Pointer(puDeviceID)), 641 0) 642 return MMRESULT(ret1) 643 } 644 645 func MidiInGetNumDevs() UINT { 646 ret1 := syscall3(midiInGetNumDevs, 0, 647 0, 648 0, 649 0) 650 return UINT(ret1) 651 } 652 653 func MidiInMessage(hmi HMIDIIN, uMsg UINT, dw1 *uint32, dw2 *uint32) MMRESULT { 654 ret1 := syscall6(midiInMessage, 4, 655 uintptr(hmi), 656 uintptr(uMsg), 657 uintptr(unsafe.Pointer(dw1)), 658 uintptr(unsafe.Pointer(dw2)), 659 0, 660 0) 661 return MMRESULT(ret1) 662 } 663 664 func MidiInOpen(phmi *HMIDIIN, uDeviceID UINT, dwCallback *uint32, dwInstance *uint32, fdwOpen DWORD) MMRESULT { 665 ret1 := syscall6(midiInOpen, 5, 666 uintptr(unsafe.Pointer(phmi)), 667 uintptr(uDeviceID), 668 uintptr(unsafe.Pointer(dwCallback)), 669 uintptr(unsafe.Pointer(dwInstance)), 670 uintptr(fdwOpen), 671 0) 672 return MMRESULT(ret1) 673 } 674 675 func MidiInPrepareHeader(hmi HMIDIIN, pmh *MIDIHDR, cbmh UINT) MMRESULT { 676 ret1 := syscall3(midiInPrepareHeader, 3, 677 uintptr(hmi), 678 uintptr(unsafe.Pointer(pmh)), 679 uintptr(cbmh)) 680 return MMRESULT(ret1) 681 } 682 683 func MidiInReset(hmi HMIDIIN) MMRESULT { 684 ret1 := syscall3(midiInReset, 1, 685 uintptr(hmi), 686 0, 687 0) 688 return MMRESULT(ret1) 689 } 690 691 func MidiInStart(hmi HMIDIIN) MMRESULT { 692 ret1 := syscall3(midiInStart, 1, 693 uintptr(hmi), 694 0, 695 0) 696 return MMRESULT(ret1) 697 } 698 699 func MidiInStop(hmi HMIDIIN) MMRESULT { 700 ret1 := syscall3(midiInStop, 1, 701 uintptr(hmi), 702 0, 703 0) 704 return MMRESULT(ret1) 705 } 706 707 func MidiInUnprepareHeader(hmi HMIDIIN, pmh *MIDIHDR, cbmh UINT) MMRESULT { 708 ret1 := syscall3(midiInUnprepareHeader, 3, 709 uintptr(hmi), 710 uintptr(unsafe.Pointer(pmh)), 711 uintptr(cbmh)) 712 return MMRESULT(ret1) 713 } 714 715 func MidiOutCacheDrumPatches(hmo HMIDIOUT, uPatch UINT, pwkya *uint16, fuCache UINT) MMRESULT { 716 ret1 := syscall6(midiOutCacheDrumPatches, 4, 717 uintptr(hmo), 718 uintptr(uPatch), 719 uintptr(unsafe.Pointer(pwkya)), 720 uintptr(fuCache), 721 0, 722 0) 723 return MMRESULT(ret1) 724 } 725 726 func MidiOutCachePatches(hmo HMIDIOUT, uBank UINT, pwpa *uint16, fuCache UINT) MMRESULT { 727 ret1 := syscall6(midiOutCachePatches, 4, 728 uintptr(hmo), 729 uintptr(uBank), 730 uintptr(unsafe.Pointer(pwpa)), 731 uintptr(fuCache), 732 0, 733 0) 734 return MMRESULT(ret1) 735 } 736 737 func MidiOutClose(hmo HMIDIOUT) MMRESULT { 738 ret1 := syscall3(midiOutClose, 1, 739 uintptr(hmo), 740 0, 741 0) 742 return MMRESULT(ret1) 743 } 744 745 func MidiOutGetDevCaps(uDeviceID *uint32, pmoc LPMIDIOUTCAPS, cbmoc UINT) MMRESULT { 746 ret1 := syscall3(midiOutGetDevCaps, 3, 747 uintptr(unsafe.Pointer(uDeviceID)), 748 uintptr(unsafe.Pointer(pmoc)), 749 uintptr(cbmoc)) 750 return MMRESULT(ret1) 751 } 752 753 func MidiOutGetErrorText(mmrError MMRESULT, pszText LPWSTR, cchText UINT) MMRESULT { 754 ret1 := syscall3(midiOutGetErrorText, 3, 755 uintptr(mmrError), 756 uintptr(unsafe.Pointer(pszText)), 757 uintptr(cchText)) 758 return MMRESULT(ret1) 759 } 760 761 func MidiOutGetID(hmo HMIDIOUT, puDeviceID *UINT) MMRESULT { 762 ret1 := syscall3(midiOutGetID, 2, 763 uintptr(hmo), 764 uintptr(unsafe.Pointer(puDeviceID)), 765 0) 766 return MMRESULT(ret1) 767 } 768 769 func MidiOutGetNumDevs() UINT { 770 ret1 := syscall3(midiOutGetNumDevs, 0, 771 0, 772 0, 773 0) 774 return UINT(ret1) 775 } 776 777 func MidiOutGetVolume(hmo HMIDIOUT, pdwVolume *uint32) MMRESULT { 778 ret1 := syscall3(midiOutGetVolume, 2, 779 uintptr(hmo), 780 uintptr(unsafe.Pointer(pdwVolume)), 781 0) 782 return MMRESULT(ret1) 783 } 784 785 func MidiOutLongMsg(hmo HMIDIOUT, pmh *MIDIHDR, cbmh UINT) MMRESULT { 786 ret1 := syscall3(midiOutLongMsg, 3, 787 uintptr(hmo), 788 uintptr(unsafe.Pointer(pmh)), 789 uintptr(cbmh)) 790 return MMRESULT(ret1) 791 } 792 793 func MidiOutMessage(hmo HMIDIOUT, uMsg UINT, dw1 *uint32, dw2 *uint32) MMRESULT { 794 ret1 := syscall6(midiOutMessage, 4, 795 uintptr(hmo), 796 uintptr(uMsg), 797 uintptr(unsafe.Pointer(dw1)), 798 uintptr(unsafe.Pointer(dw2)), 799 0, 800 0) 801 return MMRESULT(ret1) 802 } 803 804 func MidiOutOpen(phmo *HMIDIOUT, uDeviceID UINT, dwCallback *uint32, dwInstance *uint32, fdwOpen DWORD) MMRESULT { 805 ret1 := syscall6(midiOutOpen, 5, 806 uintptr(unsafe.Pointer(phmo)), 807 uintptr(uDeviceID), 808 uintptr(unsafe.Pointer(dwCallback)), 809 uintptr(unsafe.Pointer(dwInstance)), 810 uintptr(fdwOpen), 811 0) 812 return MMRESULT(ret1) 813 } 814 815 func MidiOutPrepareHeader(hmo HMIDIOUT, pmh *MIDIHDR, cbmh UINT) MMRESULT { 816 ret1 := syscall3(midiOutPrepareHeader, 3, 817 uintptr(hmo), 818 uintptr(unsafe.Pointer(pmh)), 819 uintptr(cbmh)) 820 return MMRESULT(ret1) 821 } 822 823 func MidiOutReset(hmo HMIDIOUT) MMRESULT { 824 ret1 := syscall3(midiOutReset, 1, 825 uintptr(hmo), 826 0, 827 0) 828 return MMRESULT(ret1) 829 } 830 831 func MidiOutSetVolume(hmo HMIDIOUT, dwVolume DWORD) MMRESULT { 832 ret1 := syscall3(midiOutSetVolume, 2, 833 uintptr(hmo), 834 uintptr(dwVolume), 835 0) 836 return MMRESULT(ret1) 837 } 838 839 func MidiOutShortMsg(hmo HMIDIOUT, dwMsg DWORD) MMRESULT { 840 ret1 := syscall3(midiOutShortMsg, 2, 841 uintptr(hmo), 842 uintptr(dwMsg), 843 0) 844 return MMRESULT(ret1) 845 } 846 847 func MidiOutUnprepareHeader(hmo HMIDIOUT, pmh *MIDIHDR, cbmh UINT) MMRESULT { 848 ret1 := syscall3(midiOutUnprepareHeader, 3, 849 uintptr(hmo), 850 uintptr(unsafe.Pointer(pmh)), 851 uintptr(cbmh)) 852 return MMRESULT(ret1) 853 } 854 855 func MidiStreamClose(hms HMIDISTRM) MMRESULT { 856 ret1 := syscall3(midiStreamClose, 1, 857 uintptr(hms), 858 0, 859 0) 860 return MMRESULT(ret1) 861 } 862 863 func MidiStreamOpen(phms *HMIDISTRM, puDeviceID *UINT, cMidi DWORD, dwCallback *uint32, dwInstance *uint32, fdwOpen DWORD) MMRESULT { 864 ret1 := syscall6(midiStreamOpen, 6, 865 uintptr(unsafe.Pointer(phms)), 866 uintptr(unsafe.Pointer(puDeviceID)), 867 uintptr(cMidi), 868 uintptr(unsafe.Pointer(dwCallback)), 869 uintptr(unsafe.Pointer(dwInstance)), 870 uintptr(fdwOpen)) 871 return MMRESULT(ret1) 872 } 873 874 func MidiStreamOut(hms HMIDISTRM, pmh *MIDIHDR, cbmh UINT) MMRESULT { 875 ret1 := syscall3(midiStreamOut, 3, 876 uintptr(hms), 877 uintptr(unsafe.Pointer(pmh)), 878 uintptr(cbmh)) 879 return MMRESULT(ret1) 880 } 881 882 func MidiStreamPause(hms HMIDISTRM) MMRESULT { 883 ret1 := syscall3(midiStreamPause, 1, 884 uintptr(hms), 885 0, 886 0) 887 return MMRESULT(ret1) 888 } 889 890 func MidiStreamPosition(hms HMIDISTRM, lpmmt *MMTIME, cbmmt UINT) MMRESULT { 891 ret1 := syscall3(midiStreamPosition, 3, 892 uintptr(hms), 893 uintptr(unsafe.Pointer(lpmmt)), 894 uintptr(cbmmt)) 895 return MMRESULT(ret1) 896 } 897 898 func MidiStreamProperty(hms HMIDISTRM, lppropdata *byte, dwProperty DWORD) MMRESULT { 899 ret1 := syscall3(midiStreamProperty, 3, 900 uintptr(hms), 901 uintptr(unsafe.Pointer(lppropdata)), 902 uintptr(dwProperty)) 903 return MMRESULT(ret1) 904 } 905 906 func MidiStreamRestart(hms HMIDISTRM) MMRESULT { 907 ret1 := syscall3(midiStreamRestart, 1, 908 uintptr(hms), 909 0, 910 0) 911 return MMRESULT(ret1) 912 } 913 914 func MidiStreamStop(hms HMIDISTRM) MMRESULT { 915 ret1 := syscall3(midiStreamStop, 1, 916 uintptr(hms), 917 0, 918 0) 919 return MMRESULT(ret1) 920 } 921 922 func MixerClose(hmx HMIXER) MMRESULT { 923 ret1 := syscall3(mixerClose, 1, 924 uintptr(hmx), 925 0, 926 0) 927 return MMRESULT(ret1) 928 } 929 930 func MixerGetControlDetails(hmxobj HMIXEROBJ, pmxcd *MIXERCONTROLDETAILS, fdwDetails DWORD) MMRESULT { 931 ret1 := syscall3(mixerGetControlDetails, 3, 932 uintptr(hmxobj), 933 uintptr(unsafe.Pointer(pmxcd)), 934 uintptr(fdwDetails)) 935 return MMRESULT(ret1) 936 } 937 938 func MixerGetDevCaps(uMxId *uint32, pmxcaps LPMIXERCAPS, cbmxcaps UINT) MMRESULT { 939 ret1 := syscall3(mixerGetDevCaps, 3, 940 uintptr(unsafe.Pointer(uMxId)), 941 uintptr(unsafe.Pointer(pmxcaps)), 942 uintptr(cbmxcaps)) 943 return MMRESULT(ret1) 944 } 945 946 func MixerGetID(hmxobj HMIXEROBJ, puMxId *UINT, fdwId DWORD) MMRESULT { 947 ret1 := syscall3(mixerGetID, 3, 948 uintptr(hmxobj), 949 uintptr(unsafe.Pointer(puMxId)), 950 uintptr(fdwId)) 951 return MMRESULT(ret1) 952 } 953 954 func MixerGetLineControls(hmxobj HMIXEROBJ, pmxlc LPMIXERLINECONTROLS, fdwControls DWORD) MMRESULT { 955 ret1 := syscall3(mixerGetLineControls, 3, 956 uintptr(hmxobj), 957 uintptr(unsafe.Pointer(pmxlc)), 958 uintptr(fdwControls)) 959 return MMRESULT(ret1) 960 } 961 962 func MixerGetLineInfo(hmxobj HMIXEROBJ, pmxl LPMIXERLINE, fdwInfo DWORD) MMRESULT { 963 ret1 := syscall3(mixerGetLineInfo, 3, 964 uintptr(hmxobj), 965 uintptr(unsafe.Pointer(pmxl)), 966 uintptr(fdwInfo)) 967 return MMRESULT(ret1) 968 } 969 970 func MixerGetNumDevs() UINT { 971 ret1 := syscall3(mixerGetNumDevs, 0, 972 0, 973 0, 974 0) 975 return UINT(ret1) 976 } 977 978 func MixerMessage(hmx HMIXER, uMsg UINT, dwParam1 *uint32, dwParam2 *uint32) DWORD { 979 ret1 := syscall6(mixerMessage, 4, 980 uintptr(hmx), 981 uintptr(uMsg), 982 uintptr(unsafe.Pointer(dwParam1)), 983 uintptr(unsafe.Pointer(dwParam2)), 984 0, 985 0) 986 return DWORD(ret1) 987 } 988 989 func MixerOpen(phmx *HMIXER, uMxId UINT, dwCallback *uint32, dwInstance *uint32, fdwOpen DWORD) MMRESULT { 990 ret1 := syscall6(mixerOpen, 5, 991 uintptr(unsafe.Pointer(phmx)), 992 uintptr(uMxId), 993 uintptr(unsafe.Pointer(dwCallback)), 994 uintptr(unsafe.Pointer(dwInstance)), 995 uintptr(fdwOpen), 996 0) 997 return MMRESULT(ret1) 998 } 999 1000 func MixerSetControlDetails(hmxobj HMIXEROBJ, pmxcd *MIXERCONTROLDETAILS, fdwDetails DWORD) MMRESULT { 1001 ret1 := syscall3(mixerSetControlDetails, 3, 1002 uintptr(hmxobj), 1003 uintptr(unsafe.Pointer(pmxcd)), 1004 uintptr(fdwDetails)) 1005 return MMRESULT(ret1) 1006 } 1007 1008 func MmioAdvance(hmmio HMMIO, pmmioinfo LPMMIOINFO, fuAdvance UINT) MMRESULT { 1009 ret1 := syscall3(mmioAdvance, 3, 1010 uintptr(hmmio), 1011 uintptr(unsafe.Pointer(pmmioinfo)), 1012 uintptr(fuAdvance)) 1013 return MMRESULT(ret1) 1014 } 1015 1016 func MmioAscend(hmmio HMMIO, pmmcki LPMMCKINFO, fuAscend UINT) MMRESULT { 1017 ret1 := syscall3(mmioAscend, 3, 1018 uintptr(hmmio), 1019 uintptr(unsafe.Pointer(pmmcki)), 1020 uintptr(fuAscend)) 1021 return MMRESULT(ret1) 1022 } 1023 1024 func MmioClose(hmmio HMMIO, fuClose UINT) MMRESULT { 1025 ret1 := syscall3(mmioClose, 2, 1026 uintptr(hmmio), 1027 uintptr(fuClose), 1028 0) 1029 return MMRESULT(ret1) 1030 } 1031 1032 func MmioCreateChunk(hmmio HMMIO, pmmcki LPMMCKINFO, fuCreate UINT) MMRESULT { 1033 ret1 := syscall3(mmioCreateChunk, 3, 1034 uintptr(hmmio), 1035 uintptr(unsafe.Pointer(pmmcki)), 1036 uintptr(fuCreate)) 1037 return MMRESULT(ret1) 1038 } 1039 1040 func MmioDescend(hmmio HMMIO, pmmcki LPMMCKINFO, pmmckiParent /*const*/ *MMCKINFO, fuDescend UINT) MMRESULT { 1041 ret1 := syscall6(mmioDescend, 4, 1042 uintptr(hmmio), 1043 uintptr(unsafe.Pointer(pmmcki)), 1044 uintptr(unsafe.Pointer(pmmckiParent)), 1045 uintptr(fuDescend), 1046 0, 1047 0) 1048 return MMRESULT(ret1) 1049 } 1050 1051 func MmioFlush(hmmio HMMIO, fuFlush UINT) MMRESULT { 1052 ret1 := syscall3(mmioFlush, 2, 1053 uintptr(hmmio), 1054 uintptr(fuFlush), 1055 0) 1056 return MMRESULT(ret1) 1057 } 1058 1059 func MmioGetInfo(hmmio HMMIO, pmmioinfo LPMMIOINFO, fuInfo UINT) MMRESULT { 1060 ret1 := syscall3(mmioGetInfo, 3, 1061 uintptr(hmmio), 1062 uintptr(unsafe.Pointer(pmmioinfo)), 1063 uintptr(fuInfo)) 1064 return MMRESULT(ret1) 1065 } 1066 1067 func MmioInstallIOProc(fccIOProc FOURCC, pIOProc *MMIOPROC, dwFlags DWORD) *MMIOPROC { 1068 ret1 := syscall3(mmioInstallIOProc, 3, 1069 uintptr(fccIOProc), 1070 uintptr(unsafe.Pointer(pIOProc)), 1071 uintptr(dwFlags)) 1072 return (*MMIOPROC)(unsafe.Pointer(ret1)) 1073 } 1074 1075 func MmioOpen(pszFileName LPWSTR, pmmioinfo LPMMIOINFO, fdwOpen DWORD) HMMIO { 1076 ret1 := syscall3(mmioOpen, 3, 1077 uintptr(unsafe.Pointer(pszFileName)), 1078 uintptr(unsafe.Pointer(pmmioinfo)), 1079 uintptr(fdwOpen)) 1080 return HMMIO(ret1) 1081 } 1082 1083 func MmioRead(hmmio HMMIO, pch HPSTR, cch LONG) LONG { 1084 ret1 := syscall3(mmioRead, 3, 1085 uintptr(hmmio), 1086 uintptr(unsafe.Pointer(pch)), 1087 uintptr(cch)) 1088 return LONG(ret1) 1089 } 1090 1091 func MmioRename(pszFileName string, pszNewFileName string, pmmioinfo /*const*/ *MMIOINFO, fdwRename DWORD) MMRESULT { 1092 pszFileNameStr := unicode16FromString(pszFileName) 1093 pszNewFileNameStr := unicode16FromString(pszNewFileName) 1094 ret1 := syscall6(mmioRename, 4, 1095 uintptr(unsafe.Pointer(&pszFileNameStr[0])), 1096 uintptr(unsafe.Pointer(&pszNewFileNameStr[0])), 1097 uintptr(unsafe.Pointer(pmmioinfo)), 1098 uintptr(fdwRename), 1099 0, 1100 0) 1101 return MMRESULT(ret1) 1102 } 1103 1104 func MmioSeek(hmmio HMMIO, lOffset LONG, iOrigin int32) LONG { 1105 ret1 := syscall3(mmioSeek, 3, 1106 uintptr(hmmio), 1107 uintptr(lOffset), 1108 uintptr(iOrigin)) 1109 return LONG(ret1) 1110 } 1111 1112 func MmioSendMessage(hmmio HMMIO, uMsg UINT, lParam1 LPARAM, lParam2 LPARAM) LRESULT { 1113 ret1 := syscall6(mmioSendMessage, 4, 1114 uintptr(hmmio), 1115 uintptr(uMsg), 1116 uintptr(lParam1), 1117 uintptr(lParam2), 1118 0, 1119 0) 1120 return LRESULT(ret1) 1121 } 1122 1123 func MmioSetBuffer(hmmio HMMIO, pchBuffer LPSTR, cchBuffer LONG, fuBuffer UINT) MMRESULT { 1124 ret1 := syscall6(mmioSetBuffer, 4, 1125 uintptr(hmmio), 1126 uintptr(unsafe.Pointer(pchBuffer)), 1127 uintptr(cchBuffer), 1128 uintptr(fuBuffer), 1129 0, 1130 0) 1131 return MMRESULT(ret1) 1132 } 1133 1134 func MmioSetInfo(hmmio HMMIO, pmmioinfo /*const*/ *MMIOINFO, fuInfo UINT) MMRESULT { 1135 ret1 := syscall3(mmioSetInfo, 3, 1136 uintptr(hmmio), 1137 uintptr(unsafe.Pointer(pmmioinfo)), 1138 uintptr(fuInfo)) 1139 return MMRESULT(ret1) 1140 } 1141 1142 func MmioStringToFOURCC(sz string, uFlags UINT) FOURCC { 1143 szStr := unicode16FromString(sz) 1144 ret1 := syscall3(mmioStringToFOURCC, 2, 1145 uintptr(unsafe.Pointer(&szStr[0])), 1146 uintptr(uFlags), 1147 0) 1148 return FOURCC(ret1) 1149 } 1150 1151 func MmioWrite(hmmio HMMIO, pch /*const*/ HPSTR, cch LONG) LONG { 1152 ret1 := syscall3(mmioWrite, 3, 1153 uintptr(hmmio), 1154 uintptr(unsafe.Pointer(pch)), 1155 uintptr(cch)) 1156 return LONG(ret1) 1157 } 1158 1159 func SndPlaySound(pszSound string, fuSound UINT) bool { 1160 pszSoundStr := unicode16FromString(pszSound) 1161 ret1 := syscall3(sndPlaySound, 2, 1162 uintptr(unsafe.Pointer(&pszSoundStr[0])), 1163 uintptr(fuSound), 1164 0) 1165 return ret1 != 0 1166 } 1167 1168 func TimeBeginPeriod(uPeriod UINT) MMRESULT { 1169 ret1 := syscall3(timeBeginPeriod, 1, 1170 uintptr(uPeriod), 1171 0, 1172 0) 1173 return MMRESULT(ret1) 1174 } 1175 1176 func TimeEndPeriod(uPeriod UINT) MMRESULT { 1177 ret1 := syscall3(timeEndPeriod, 1, 1178 uintptr(uPeriod), 1179 0, 1180 0) 1181 return MMRESULT(ret1) 1182 } 1183 1184 func TimeGetDevCaps(ptc LPTIMECAPS, cbtc UINT) MMRESULT { 1185 ret1 := syscall3(timeGetDevCaps, 2, 1186 uintptr(unsafe.Pointer(ptc)), 1187 uintptr(cbtc), 1188 0) 1189 return MMRESULT(ret1) 1190 } 1191 1192 func TimeGetSystemTime(pmmt *MMTIME, cbmmt UINT) MMRESULT { 1193 ret1 := syscall3(timeGetSystemTime, 2, 1194 uintptr(unsafe.Pointer(pmmt)), 1195 uintptr(cbmmt), 1196 0) 1197 return MMRESULT(ret1) 1198 } 1199 1200 func TimeGetTime() DWORD { 1201 ret1 := syscall3(timeGetTime, 0, 1202 0, 1203 0, 1204 0) 1205 return DWORD(ret1) 1206 } 1207 1208 func TimeKillEvent(uTimerID UINT) MMRESULT { 1209 ret1 := syscall3(timeKillEvent, 1, 1210 uintptr(uTimerID), 1211 0, 1212 0) 1213 return MMRESULT(ret1) 1214 } 1215 1216 func TimeSetEvent(uDelay UINT, uResolution UINT, fptc TIMECALLBACK, dwUser *uint32, fuEvent UINT) MMRESULT { 1217 fptcCallback := syscall.NewCallback(fptc) 1218 ret1 := syscall6(timeSetEvent, 5, 1219 uintptr(uDelay), 1220 uintptr(uResolution), 1221 fptcCallback, 1222 uintptr(unsafe.Pointer(dwUser)), 1223 uintptr(fuEvent), 1224 0) 1225 return MMRESULT(ret1) 1226 } 1227 1228 func WaveInAddBuffer(hwi HWAVEIN, pwh LPWAVEHDR, cbwh UINT) MMRESULT { 1229 ret1 := syscall3(waveInAddBuffer, 3, 1230 uintptr(hwi), 1231 uintptr(unsafe.Pointer(pwh)), 1232 uintptr(cbwh)) 1233 return MMRESULT(ret1) 1234 } 1235 1236 func WaveInClose(hwi HWAVEIN) MMRESULT { 1237 ret1 := syscall3(waveInClose, 1, 1238 uintptr(hwi), 1239 0, 1240 0) 1241 return MMRESULT(ret1) 1242 } 1243 1244 func WaveInGetDevCaps(uDeviceID *uint32, pwic LPWAVEINCAPS, cbwic UINT) MMRESULT { 1245 ret1 := syscall3(waveInGetDevCaps, 3, 1246 uintptr(unsafe.Pointer(uDeviceID)), 1247 uintptr(unsafe.Pointer(pwic)), 1248 uintptr(cbwic)) 1249 return MMRESULT(ret1) 1250 } 1251 1252 func WaveInGetErrorText(mmrError MMRESULT, pszText LPWSTR, cchText UINT) MMRESULT { 1253 ret1 := syscall3(waveInGetErrorText, 3, 1254 uintptr(mmrError), 1255 uintptr(unsafe.Pointer(pszText)), 1256 uintptr(cchText)) 1257 return MMRESULT(ret1) 1258 } 1259 1260 func WaveInGetID(hwi HWAVEIN, puDeviceID *UINT) MMRESULT { 1261 ret1 := syscall3(waveInGetID, 2, 1262 uintptr(hwi), 1263 uintptr(unsafe.Pointer(puDeviceID)), 1264 0) 1265 return MMRESULT(ret1) 1266 } 1267 1268 func WaveInGetNumDevs() UINT { 1269 ret1 := syscall3(waveInGetNumDevs, 0, 1270 0, 1271 0, 1272 0) 1273 return UINT(ret1) 1274 } 1275 1276 func WaveInGetPosition(hwi HWAVEIN, pmmt *MMTIME, cbmmt UINT) MMRESULT { 1277 ret1 := syscall3(waveInGetPosition, 3, 1278 uintptr(hwi), 1279 uintptr(unsafe.Pointer(pmmt)), 1280 uintptr(cbmmt)) 1281 return MMRESULT(ret1) 1282 } 1283 1284 func WaveInMessage(hwi HWAVEIN, uMsg UINT, dw1 *uint32, dw2 *uint32) MMRESULT { 1285 ret1 := syscall6(waveInMessage, 4, 1286 uintptr(hwi), 1287 uintptr(uMsg), 1288 uintptr(unsafe.Pointer(dw1)), 1289 uintptr(unsafe.Pointer(dw2)), 1290 0, 1291 0) 1292 return MMRESULT(ret1) 1293 } 1294 1295 func WaveInOpen(phwi *HWAVEIN, uDeviceID UINT, pwfx /*const*/ *WAVEFORMATEX, dwCallback *uint32, dwInstance *uint32, fdwOpen DWORD) MMRESULT { 1296 ret1 := syscall6(waveInOpen, 6, 1297 uintptr(unsafe.Pointer(phwi)), 1298 uintptr(uDeviceID), 1299 uintptr(unsafe.Pointer(pwfx)), 1300 uintptr(unsafe.Pointer(dwCallback)), 1301 uintptr(unsafe.Pointer(dwInstance)), 1302 uintptr(fdwOpen)) 1303 return MMRESULT(ret1) 1304 } 1305 1306 func WaveInPrepareHeader(hwi HWAVEIN, pwh LPWAVEHDR, cbwh UINT) MMRESULT { 1307 ret1 := syscall3(waveInPrepareHeader, 3, 1308 uintptr(hwi), 1309 uintptr(unsafe.Pointer(pwh)), 1310 uintptr(cbwh)) 1311 return MMRESULT(ret1) 1312 } 1313 1314 func WaveInReset(hwi HWAVEIN) MMRESULT { 1315 ret1 := syscall3(waveInReset, 1, 1316 uintptr(hwi), 1317 0, 1318 0) 1319 return MMRESULT(ret1) 1320 } 1321 1322 func WaveInStart(hwi HWAVEIN) MMRESULT { 1323 ret1 := syscall3(waveInStart, 1, 1324 uintptr(hwi), 1325 0, 1326 0) 1327 return MMRESULT(ret1) 1328 } 1329 1330 func WaveInStop(hwi HWAVEIN) MMRESULT { 1331 ret1 := syscall3(waveInStop, 1, 1332 uintptr(hwi), 1333 0, 1334 0) 1335 return MMRESULT(ret1) 1336 } 1337 1338 func WaveInUnprepareHeader(hwi HWAVEIN, pwh LPWAVEHDR, cbwh UINT) MMRESULT { 1339 ret1 := syscall3(waveInUnprepareHeader, 3, 1340 uintptr(hwi), 1341 uintptr(unsafe.Pointer(pwh)), 1342 uintptr(cbwh)) 1343 return MMRESULT(ret1) 1344 } 1345 1346 func WaveOutBreakLoop(hwo HWAVEOUT) MMRESULT { 1347 ret1 := syscall3(waveOutBreakLoop, 1, 1348 uintptr(hwo), 1349 0, 1350 0) 1351 return MMRESULT(ret1) 1352 } 1353 1354 func WaveOutClose(hwo HWAVEOUT) MMRESULT { 1355 ret1 := syscall3(waveOutClose, 1, 1356 uintptr(hwo), 1357 0, 1358 0) 1359 return MMRESULT(ret1) 1360 } 1361 1362 func WaveOutGetDevCaps(uDeviceID *uint32, pwoc LPWAVEOUTCAPS, cbwoc UINT) MMRESULT { 1363 ret1 := syscall3(waveOutGetDevCaps, 3, 1364 uintptr(unsafe.Pointer(uDeviceID)), 1365 uintptr(unsafe.Pointer(pwoc)), 1366 uintptr(cbwoc)) 1367 return MMRESULT(ret1) 1368 } 1369 1370 func WaveOutGetErrorText(mmrError MMRESULT, pszText LPWSTR, cchText UINT) MMRESULT { 1371 ret1 := syscall3(waveOutGetErrorText, 3, 1372 uintptr(mmrError), 1373 uintptr(unsafe.Pointer(pszText)), 1374 uintptr(cchText)) 1375 return MMRESULT(ret1) 1376 } 1377 1378 func WaveOutGetID(hwo HWAVEOUT, puDeviceID *UINT) MMRESULT { 1379 ret1 := syscall3(waveOutGetID, 2, 1380 uintptr(hwo), 1381 uintptr(unsafe.Pointer(puDeviceID)), 1382 0) 1383 return MMRESULT(ret1) 1384 } 1385 1386 func WaveOutGetNumDevs() UINT { 1387 ret1 := syscall3(waveOutGetNumDevs, 0, 1388 0, 1389 0, 1390 0) 1391 return UINT(ret1) 1392 } 1393 1394 func WaveOutGetPitch(hwo HWAVEOUT, pdwPitch *uint32) MMRESULT { 1395 ret1 := syscall3(waveOutGetPitch, 2, 1396 uintptr(hwo), 1397 uintptr(unsafe.Pointer(pdwPitch)), 1398 0) 1399 return MMRESULT(ret1) 1400 } 1401 1402 func WaveOutGetPlaybackRate(hwo HWAVEOUT, pdwRate *uint32) MMRESULT { 1403 ret1 := syscall3(waveOutGetPlaybackRate, 2, 1404 uintptr(hwo), 1405 uintptr(unsafe.Pointer(pdwRate)), 1406 0) 1407 return MMRESULT(ret1) 1408 } 1409 1410 func WaveOutGetPosition(hwo HWAVEOUT, pmmt *MMTIME, cbmmt UINT) MMRESULT { 1411 ret1 := syscall3(waveOutGetPosition, 3, 1412 uintptr(hwo), 1413 uintptr(unsafe.Pointer(pmmt)), 1414 uintptr(cbmmt)) 1415 return MMRESULT(ret1) 1416 } 1417 1418 func WaveOutGetVolume(hwo HWAVEOUT, pdwVolume *uint32) MMRESULT { 1419 ret1 := syscall3(waveOutGetVolume, 2, 1420 uintptr(hwo), 1421 uintptr(unsafe.Pointer(pdwVolume)), 1422 0) 1423 return MMRESULT(ret1) 1424 } 1425 1426 func WaveOutMessage(hwo HWAVEOUT, uMsg UINT, dw1 *uint32, dw2 *uint32) MMRESULT { 1427 ret1 := syscall6(waveOutMessage, 4, 1428 uintptr(hwo), 1429 uintptr(uMsg), 1430 uintptr(unsafe.Pointer(dw1)), 1431 uintptr(unsafe.Pointer(dw2)), 1432 0, 1433 0) 1434 return MMRESULT(ret1) 1435 } 1436 1437 func WaveOutOpen(phwo *HWAVEOUT, uDeviceID UINT, pwfx /*const*/ *WAVEFORMATEX, dwCallback *uint32, dwInstance *uint32, fdwOpen DWORD) MMRESULT { 1438 ret1 := syscall6(waveOutOpen, 6, 1439 uintptr(unsafe.Pointer(phwo)), 1440 uintptr(uDeviceID), 1441 uintptr(unsafe.Pointer(pwfx)), 1442 uintptr(unsafe.Pointer(dwCallback)), 1443 uintptr(unsafe.Pointer(dwInstance)), 1444 uintptr(fdwOpen)) 1445 return MMRESULT(ret1) 1446 } 1447 1448 func WaveOutPause(hwo HWAVEOUT) MMRESULT { 1449 ret1 := syscall3(waveOutPause, 1, 1450 uintptr(hwo), 1451 0, 1452 0) 1453 return MMRESULT(ret1) 1454 } 1455 1456 func WaveOutPrepareHeader(hwo HWAVEOUT, pwh LPWAVEHDR, cbwh UINT) MMRESULT { 1457 ret1 := syscall3(waveOutPrepareHeader, 3, 1458 uintptr(hwo), 1459 uintptr(unsafe.Pointer(pwh)), 1460 uintptr(cbwh)) 1461 return MMRESULT(ret1) 1462 } 1463 1464 func WaveOutReset(hwo HWAVEOUT) MMRESULT { 1465 ret1 := syscall3(waveOutReset, 1, 1466 uintptr(hwo), 1467 0, 1468 0) 1469 return MMRESULT(ret1) 1470 } 1471 1472 func WaveOutRestart(hwo HWAVEOUT) MMRESULT { 1473 ret1 := syscall3(waveOutRestart, 1, 1474 uintptr(hwo), 1475 0, 1476 0) 1477 return MMRESULT(ret1) 1478 } 1479 1480 func WaveOutSetPitch(hwo HWAVEOUT, dwPitch DWORD) MMRESULT { 1481 ret1 := syscall3(waveOutSetPitch, 2, 1482 uintptr(hwo), 1483 uintptr(dwPitch), 1484 0) 1485 return MMRESULT(ret1) 1486 } 1487 1488 func WaveOutSetPlaybackRate(hwo HWAVEOUT, dwRate DWORD) MMRESULT { 1489 ret1 := syscall3(waveOutSetPlaybackRate, 2, 1490 uintptr(hwo), 1491 uintptr(dwRate), 1492 0) 1493 return MMRESULT(ret1) 1494 } 1495 1496 func WaveOutSetVolume(hwo HWAVEOUT, dwVolume DWORD) MMRESULT { 1497 ret1 := syscall3(waveOutSetVolume, 2, 1498 uintptr(hwo), 1499 uintptr(dwVolume), 1500 0) 1501 return MMRESULT(ret1) 1502 } 1503 1504 func WaveOutUnprepareHeader(hwo HWAVEOUT, pwh LPWAVEHDR, cbwh UINT) MMRESULT { 1505 ret1 := syscall3(waveOutUnprepareHeader, 3, 1506 uintptr(hwo), 1507 uintptr(unsafe.Pointer(pwh)), 1508 uintptr(cbwh)) 1509 return MMRESULT(ret1) 1510 } 1511 1512 func WaveOutWrite(hwo HWAVEOUT, pwh LPWAVEHDR, cbwh UINT) MMRESULT { 1513 ret1 := syscall3(waveOutWrite, 3, 1514 uintptr(hwo), 1515 uintptr(unsafe.Pointer(pwh)), 1516 uintptr(cbwh)) 1517 return MMRESULT(ret1) 1518 } 1519 1520 func DriverCallback(dwCallBack *uint32, uFlags DWORD, hDev HDRVR, wMsg DWORD, dwUser *uint32, dwParam1 *uint32, dwParam2 *uint32) bool { 1521 ret1 := syscall9(driverCallback, 7, 1522 uintptr(unsafe.Pointer(dwCallBack)), 1523 uintptr(uFlags), 1524 uintptr(hDev), 1525 uintptr(wMsg), 1526 uintptr(unsafe.Pointer(dwUser)), 1527 uintptr(unsafe.Pointer(dwParam1)), 1528 uintptr(unsafe.Pointer(dwParam2)), 1529 0, 1530 0) 1531 return ret1 != 0 1532 } 1533 1534 func JoyConfigChanged(flags DWORD) MMRESULT { 1535 ret1 := syscall3(joyConfigChanged, 1, 1536 uintptr(flags), 1537 0, 1538 0) 1539 return MMRESULT(ret1) 1540 } 1541 1542 func MciDriverNotify(hWndCallBack HWND, wDevID MCIDEVICEID, wStatus UINT) bool { 1543 ret1 := syscall3(mciDriverNotify, 3, 1544 uintptr(hWndCallBack), 1545 uintptr(wDevID), 1546 uintptr(wStatus)) 1547 return ret1 != 0 1548 } 1549 1550 func MciDriverYield(uDeviceID MCIDEVICEID) UINT { 1551 ret1 := syscall3(mciDriverYield, 1, 1552 uintptr(uDeviceID), 1553 0, 1554 0) 1555 return UINT(ret1) 1556 } 1557 1558 func MciExecute(lpstrCommand /*const*/ LPCSTR) bool { 1559 ret1 := syscall3(mciExecute, 1, 1560 uintptr(unsafe.Pointer(lpstrCommand)), 1561 0, 1562 0) 1563 return ret1 != 0 1564 } 1565 1566 func MciFreeCommandResource(uTable UINT) bool { 1567 ret1 := syscall3(mciFreeCommandResource, 1, 1568 uintptr(uTable), 1569 0, 1570 0) 1571 return ret1 != 0 1572 } 1573 1574 func MciGetDriverData(uDeviceID MCIDEVICEID) *uint32 { 1575 ret1 := syscall3(mciGetDriverData, 1, 1576 uintptr(uDeviceID), 1577 0, 1578 0) 1579 return (*uint32)(unsafe.Pointer(ret1)) 1580 } 1581 1582 func MciLoadCommandResource(hInst HINSTANCE, resNameW string, aType UINT) UINT { 1583 resNameWStr := unicode16FromString(resNameW) 1584 ret1 := syscall3(mciLoadCommandResource, 3, 1585 uintptr(hInst), 1586 uintptr(unsafe.Pointer(&resNameWStr[0])), 1587 uintptr(aType)) 1588 return UINT(ret1) 1589 } 1590 1591 func MciSetDriverData(uDeviceID MCIDEVICEID, data *uint32) bool { 1592 ret1 := syscall3(mciSetDriverData, 2, 1593 uintptr(uDeviceID), 1594 uintptr(unsafe.Pointer(data)), 1595 0) 1596 return ret1 != 0 1597 } 1598 1599 func MmGetCurrentTask() DWORD { 1600 ret1 := syscall3(mmGetCurrentTask, 0, 1601 0, 1602 0, 1603 0) 1604 return DWORD(ret1) 1605 } 1606 1607 func MmTaskBlock(tid DWORD) { 1608 syscall3(mmTaskBlock, 1, 1609 uintptr(tid), 1610 0, 1611 0) 1612 } 1613 1614 func MmTaskCreate(cb TASKCALLBACK, ph *HANDLE, client *uint32) UINT { 1615 cbCallback := syscall.NewCallback(cb) 1616 ret1 := syscall3(mmTaskCreate, 3, 1617 cbCallback, 1618 uintptr(unsafe.Pointer(ph)), 1619 uintptr(unsafe.Pointer(client))) 1620 return UINT(ret1) 1621 } 1622 1623 func MmTaskSignal(tid DWORD) bool { 1624 ret1 := syscall3(mmTaskSignal, 1, 1625 uintptr(tid), 1626 0, 1627 0) 1628 return ret1 != 0 1629 } 1630 1631 func MmTaskYield() { 1632 syscall3(mmTaskYield, 0, 1633 0, 1634 0, 1635 0) 1636 } 1637 1638 func MmsystemGetVersion() UINT { 1639 ret1 := syscall3(mmsystemGetVersion, 0, 1640 0, 1641 0, 1642 0) 1643 return UINT(ret1) 1644 }