| 421 | } |
| 422 | |
| 423 | func (i *_IMMDevice) Activate(iid *windows.GUID, dwClsCtx uint32, pActivationParams *_PROPVARIANT) (unsafe.Pointer, error) { |
| 424 | var v unsafe.Pointer |
| 425 | r, _, _ := syscall.Syscall6(i.vtbl.Activate, 5, uintptr(unsafe.Pointer(i)), |
| 426 | uintptr(unsafe.Pointer(iid)), uintptr(dwClsCtx), uintptr(unsafe.Pointer(pActivationParams)), uintptr(unsafe.Pointer(&v)), 0) |
| 427 | runtime.KeepAlive(iid) |
| 428 | runtime.KeepAlive(pActivationParams) |
| 429 | if uint32(r) != uint32(windows.S_OK) { |
| 430 | return nil, fmt.Errorf("oto: IMMDevice::Activate failed: HRESULT(%d)", uint32(r)) |
| 431 | } |
| 432 | return v, nil |
| 433 | } |
| 434 | |
| 435 | func (i *_IMMDevice) GetId() (string, error) { |
| 436 | var strId *uint16 |