go-wca/pkg/wca/IAudioSessionManager2.go
2020-05-24 10:03:04 +09:00

47 lines
1.4 KiB
Go

package wca
import (
"unsafe"
)
type IAudioSessionManager2 struct {
IAudioSessionManager
}
type IAudioSessionManager2Vtbl struct {
IAudioSessionManagerVtbl
GetSessionEnumerator uintptr
RegisterSessionNotification uintptr
UnregisterSessionNotification uintptr
RegisterDuckNotification uintptr
UnregisterDuckNotification uintptr
}
func (v *IAudioSessionManager2) VTable() *IAudioSessionManager2Vtbl {
return (*IAudioSessionManager2Vtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *IAudioSessionManager2) GetSessionEnumerator(sessionEnum **IAudioSessionEnumerator) (err error) {
err = asm2GetSessionEnumerator(v, sessionEnum)
return
}
func (v *IAudioSessionManager2) RegisterSessionNotification(sessionNotification *IAudioSessionNotification) (err error) {
err = asm2RegisterSessionNotification(v, sessionNotification)
return
}
func (v *IAudioSessionManager2) UnregisterSessionNotification(sessionNotification *IAudioSessionNotification) (err error) {
err = asm2UnregisterSessionNotification(v, sessionNotification)
return
}
func (v *IAudioSessionManager2) RegisterDuckNotification(sessionID *string, duckNotification *IAudioVolumeDuckNotification) (err error) {
err = asm2RegisterDuckNotification(v, sessionID, duckNotification)
return
}
func (v *IAudioSessionManager2) UnregisterDuckNotification(duckNotification *IAudioVolumeDuckNotification) (err error) {
err = asm2UnregisterDuckNotification(v, duckNotification)
return
}