class IMMDevice(com.pIUnknown): _methods_ = [ ('Activate', com.STDMETHOD(com.REFIID, DWORD, POINTER(PROPVARIANT))), ('OpenPropertyStore', com.STDMETHOD(UINT, POINTER(IPropertyStore))), ('GetId', com.STDMETHOD(POINTER(LPWSTR))), ('GetState', com.STDMETHOD(POINTER(DWORD))), ]
class IMFMediaBuffer(com.pIUnknown): _methods_ = [('Lock', com.STDMETHOD(POINTER(POINTER(BYTE)), POINTER(DWORD), POINTER(DWORD))), ('Unlock', com.STDMETHOD()), ('GetCurrentLength', com.STDMETHOD(POINTER(DWORD))), ('SetCurrentLength', com.STDMETHOD(DWORD)), ('GetMaxLength', com.STDMETHOD(POINTER(DWORD)))]
class IWbemClassObject(com.pIUnknown): _methods_ = [ ('GetQualifierSet', com.STDMETHOD()), ('Get', com.STDMETHOD(BSTR, LONG, POINTER(VARIANT), c_void_p, c_void_p)) # ... long, unneeded ]
class IEnumWbemClassObject(com.pIUnknown): _methods_ = [('Reset', com.STDMETHOD()), ('Next', com.STDMETHOD(LONG, ULONG, POINTER(IWbemClassObject), POINTER(ULONG))), ('NextAsync', com.STDMETHOD()), ('Clone', com.STDMETHOD()), ('Skip', com.STDMETHOD())]
class IPropertyStore(com.pIUnknown): _methods_ = [ ('GetCount', com.STDMETHOD(POINTER(DWORD))), ('GetAt', com.STDMETHOD(DWORD, POINTER(PROPERTYKEY))), ('GetValue', com.STDMETHOD(REFPROPERTYKEY, POINTER(PROPVARIANT))), ('SetValue', com.STDMETHOD()), ('Commit', com.STDMETHOD()), ]
class IMFMediaType(IMFAttributes, com.pIUnknown): _methods_ = [ ('GetMajorType', com.STDMETHOD()), ('IsCompressedFormat', com.STDMETHOD()), ('IsEqual', com.STDMETHOD()), ('GetRepresentation', com.STDMETHOD()), ('FreeRepresentation', com.STDMETHOD()), ]
class IMMDeviceEnumerator(com.pIUnknown): _methods_ = [ ('EnumAudioEndpoints', com.STDMETHOD(EDataFlow, DWORD, c_void_p)), ('GetDefaultAudioEndpoint', com.STDMETHOD(EDataFlow, ERole, ctypes.POINTER(IMMDevice))), ('GetDevice', com.STDMETHOD(LPCWSTR, POINTER(IMMDevice))), ('RegisterEndpointNotificationCallback', com.STDMETHOD(POINTER(IMMNotificationClient))), ('UnregisterEndpointNotificationCallback', com.STDMETHOD()), ]
class IXAudio2(com.pIUnknown): _methods_ = [ ('RegisterForCallbacks', com.STDMETHOD(POINTER(IXAudio2EngineCallback))), ('UnregisterForCallbacks', com.METHOD(ctypes.c_void_p, POINTER(IXAudio2EngineCallback))), ('CreateSourceVoice', com.STDMETHOD(POINTER(IXAudio2SourceVoice), POINTER(WAVEFORMATEX), UINT32, c_float, POINTER(IXAudio2VoiceCallback), POINTER(XAUDIO2_VOICE_SENDS), POINTER(XAUDIO2_EFFECT_CHAIN))), ('CreateSubmixVoice', com.STDMETHOD(POINTER(IXAudio2SubmixVoice), UINT32, UINT32, UINT32, UINT32, POINTER(XAUDIO2_VOICE_SENDS), POINTER(XAUDIO2_EFFECT_CHAIN))), ('CreateMasteringVoice', com.STDMETHOD(POINTER(IXAudio2MasteringVoice), UINT32, UINT32, UINT32, LPCWSTR, POINTER(XAUDIO2_EFFECT_CHAIN), UINT32)), ('StartEngine', com.STDMETHOD()), ('StopEngine', com.STDMETHOD()), ('CommitChanges', com.STDMETHOD(UINT32)), ('GetPerformanceData', com.METHOD(c_void, POINTER(XAUDIO2_PERFORMANCE_DATA))), ('SetDebugConfiguration', com.STDMETHOD(POINTER(XAUDIO2_DEBUG_CONFIGURATION), c_void_p)), ]
class IXAudio2SourceVoice(IXAudio2Voice): _methods_ = [ ('Start', com.STDMETHOD(UINT32, UINT32)), ('Stop', com.STDMETHOD(UINT32, UINT32)), ('SubmitSourceBuffer', com.STDMETHOD(POINTER(XAUDIO2_BUFFER), c_void_p)), ('FlushSourceBuffers', com.STDMETHOD()), ('Discontinuity', com.STDMETHOD()), ('ExitLoop', com.STDMETHOD()), ('GetState', com.STDMETHOD(POINTER(XAUDIO2_VOICE_STATE), UINT32)), ('SetFrequencyRatio', com.STDMETHOD(FLOAT, UINT32)), ('GetFrequencyRatio', com.STDMETHOD(POINTER(c_float))), ('SetSourceSampleRate', com.STDMETHOD()), ]
class IMFSourceReader(com.pIUnknown): _methods_ = [ ('GetStreamSelection', com.STDMETHOD(DWORD, POINTER(BOOL))), # in, out ('SetStreamSelection', com.STDMETHOD(DWORD, BOOL)), ('GetNativeMediaType', com.STDMETHOD(DWORD, DWORD, POINTER(IMFMediaType))), ('GetCurrentMediaType', com.STDMETHOD(DWORD, POINTER(IMFMediaType))), ('SetCurrentMediaType', com.STDMETHOD(DWORD, POINTER(DWORD), IMFMediaType)), ('SetCurrentPosition', com.STDMETHOD(com.REFIID, POINTER(PROPVARIANT))), ('ReadSample', com.STDMETHOD(DWORD, DWORD, POINTER(DWORD), POINTER(DWORD), POINTER(c_longlong), POINTER(IMFSample))), ('Flush', com.STDMETHOD(DWORD)), # in ('GetServiceForStream', com.STDMETHOD()), ('GetPresentationAttribute', com.STDMETHOD(DWORD, com.REFIID, POINTER(PROPVARIANT))), ]
class IDirectInput8(com.pIUnknown): _methods_ = [ ('CreateDevice', com.STDMETHOD(ctypes.POINTER(com.GUID), ctypes.POINTER(IDirectInputDevice8), ctypes.c_void_p)), ('EnumDevices', com.STDMETHOD(DWORD, LPDIENUMDEVICESCALLBACK, LPVOID, DWORD)), ('GetDeviceStatus', com.STDMETHOD()), ('RunControlPanel', com.STDMETHOD()), ('Initialize', com.STDMETHOD()), ('FindDevice', com.STDMETHOD()), ('EnumDevicesBySemantics', com.STDMETHOD()), ('ConfigureDevices', com.STDMETHOD()), ]
class IDirectSound(com.pIUnknown): _methods_ = [ ('CreateSoundBuffer', com.STDMETHOD(LPDSBUFFERDESC, ctypes.POINTER(IDirectSoundBuffer), LPUNKNOWN)), ('GetCaps', com.STDMETHOD(LPDSCAPS)), ('DuplicateSoundBuffer', com.STDMETHOD(IDirectSoundBuffer, ctypes.POINTER(IDirectSoundBuffer))), ('SetCooperativeLevel', com.STDMETHOD(HWND, DWORD)), ('Compact', com.STDMETHOD()), ('GetSpeakerConfig', com.STDMETHOD(LPDWORD)), ('SetSpeakerConfig', com.STDMETHOD(DWORD)), ('Initialize', com.STDMETHOD(com.LPGUID)), ] _type_ = com.COMInterface
class IXAudio2VoiceCallback(com.Interface): _methods_ = [ ('OnVoiceProcessingPassStart', com.STDMETHOD(UINT32)), ('OnVoiceProcessingPassEnd', com.STDMETHOD()), ('onStreamEnd', com.STDMETHOD()), ('onBufferStart', com.STDMETHOD(ctypes.c_void_p)), ('OnBufferEnd', com.STDMETHOD(ctypes.c_void_p)), ('OnLoopEnd', com.STDMETHOD(ctypes.c_void_p)), ]
class IWbemLocator(com.pIUnknown): _methods_ = [ ('ConnectServer', com.STDMETHOD(BSTR, BSTR, BSTR, LONG, LONG, BSTR, IWbemContext, POINTER(IWbemServices))), ]
class IXAudio2MasteringVoice(IXAudio2Voice): _methods_ = [('GetChannelMask', com.STDMETHOD(POINTER(DWORD)))]
class IWbemServices(com.pIUnknown): _methods_ = [ ('OpenNamespace', com.STDMETHOD()), ('CancelAsyncCall', com.STDMETHOD()), ('QueryObjectSink', com.STDMETHOD()), ('GetObject', com.STDMETHOD()), ('GetObjectAsync', com.STDMETHOD()), ('PutClass', com.STDMETHOD()), ('PutClassAsync', com.STDMETHOD()), ('DeleteClass', com.STDMETHOD()), ('DeleteClassAsync', com.STDMETHOD()), ('CreateClassEnum', com.STDMETHOD()), ('CreateClassEnumAsync', com.STDMETHOD()), ('PutInstance', com.STDMETHOD()), ('PutInstanceAsync', com.STDMETHOD()), ('DeleteInstance', com.STDMETHOD()), ('DeleteInstanceAsync', com.STDMETHOD()), ('CreateInstanceEnum', com.STDMETHOD(BSTR, LONG, IWbemContext, POINTER(IEnumWbemClassObject))), ('CreateInstanceEnumAsync', com.STDMETHOD()), # ... much more. ]
class IDirectSound3DListener(com.pIUnknown): _methods_ = [ ('GetAllParameters', com.STDMETHOD(LPDS3DLISTENER)), ('GetDistanceFactor', com.STDMETHOD(PD3DVALUE)), ('GetDopplerFactor', com.STDMETHOD(PD3DVALUE)), ('GetOrientation', com.STDMETHOD(PD3DVECTOR, PD3DVECTOR)), ('GetPosition', com.STDMETHOD(PD3DVECTOR)), ('GetRolloffFactor', com.STDMETHOD(PD3DVALUE)), ('GetVelocity', com.STDMETHOD(PD3DVECTOR)), ('SetAllParameters', com.STDMETHOD(LPDS3DLISTENER)), ('SetDistanceFactor', com.STDMETHOD(D3DVALUE, DWORD)), ('SetDopplerFactor', com.STDMETHOD(D3DVALUE, DWORD)), ('SetOrientation', com.STDMETHOD(D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, DWORD)), ('SetPosition', com.STDMETHOD(D3DVALUE, D3DVALUE, D3DVALUE, DWORD)), ('SetRolloffFactor', com.STDMETHOD(D3DVALUE, DWORD)), ('SetVelocity', com.STDMETHOD(D3DVALUE, D3DVALUE, D3DVALUE, DWORD)), ('CommitDeferredSettings', com.STDMETHOD()), ]
class IDirectSoundBuffer(com.pIUnknown): _methods_ = [ ('GetCaps', com.STDMETHOD(LPDSBCAPS)), ('GetCurrentPosition', com.STDMETHOD(LPDWORD, LPDWORD)), ('GetFormat', com.STDMETHOD(LPWAVEFORMATEX, DWORD, LPDWORD)), ('GetVolume', com.STDMETHOD(LPLONG)), ('GetPan', com.STDMETHOD(LPLONG)), ('GetFrequency', com.STDMETHOD(LPDWORD)), ('GetStatus', com.STDMETHOD(LPDWORD)), ('Initialize', com.STDMETHOD(ctypes.c_void_p, LPDSBUFFERDESC)), ('Lock', com.STDMETHOD(DWORD, DWORD, ctypes.POINTER(ctypes.c_void_p), LPDWORD, ctypes.POINTER(ctypes.c_void_p), LPDWORD, DWORD)), ('Play', com.STDMETHOD(DWORD, DWORD, DWORD)), ('SetCurrentPosition', com.STDMETHOD(DWORD)), ('SetFormat', com.STDMETHOD(LPWAVEFORMATEX)), ('SetVolume', com.STDMETHOD(LONG)), ('SetPan', com.STDMETHOD(LONG)), ('SetFrequency', com.STDMETHOD(DWORD)), ('Stop', com.STDMETHOD()), ('Unlock', com.STDMETHOD(ctypes.c_void_p, DWORD, ctypes.c_void_p, DWORD)), ('Restore', com.STDMETHOD()), ]
class IMMDeviceCollection(com.pIUnknown): _methods_ = [ ('GetCount', com.STDMETHOD(POINTER(UINT))), ('Item', com.STDMETHOD(UINT, POINTER(IMMDevice))), ]
class IDirectSound3DBuffer(com.pIUnknown): _methods_ = [ ('GetAllParameters', com.STDMETHOD(LPDS3DBUFFER)), ('GetConeAngles', com.STDMETHOD(LPDWORD, LPDWORD)), ('GetConeOrientation', com.STDMETHOD(PD3DVECTOR)), ('GetConeOutsideVolume', com.STDMETHOD(LPLONG)), ('GetMaxDistance', com.STDMETHOD(PD3DVALUE)), ('GetMinDistance', com.STDMETHOD(PD3DVALUE)), ('GetMode', com.STDMETHOD(LPDWORD)), ('GetPosition', com.STDMETHOD(PD3DVECTOR)), ('GetVelocity', com.STDMETHOD(PD3DVECTOR)), ('SetAllParameters', com.STDMETHOD(LPDS3DBUFFER, DWORD)), ('SetConeAngles', com.STDMETHOD(DWORD, DWORD, DWORD)), ('SetConeOrientation', com.STDMETHOD(D3DVALUE, D3DVALUE, D3DVALUE, DWORD)), ('SetConeOutsideVolume', com.STDMETHOD(LONG, DWORD)), ('SetMaxDistance', com.STDMETHOD(D3DVALUE, DWORD)), ('SetMinDistance', com.STDMETHOD(D3DVALUE, DWORD)), ('SetMode', com.STDMETHOD(DWORD, DWORD)), ('SetPosition', com.STDMETHOD(D3DVALUE, D3DVALUE, D3DVALUE, DWORD)), ('SetVelocity', com.STDMETHOD(D3DVALUE, D3DVALUE, D3DVALUE, DWORD)), ]
class IMFAttributes(com.pIUnknown): _methods_ = [ ('GetItem', com.STDMETHOD()), ('GetItemType', com.STDMETHOD()), ('CompareItem', com.STDMETHOD()), ('Compare', com.STDMETHOD()), ('GetUINT32', com.STDMETHOD(com.REFIID, POINTER(c_uint32))), ('GetUINT64', com.STDMETHOD(com.REFIID, POINTER(c_uint64))), ('GetDouble', com.STDMETHOD()), ('GetGUID', com.STDMETHOD(com.REFIID, POINTER(com.GUID))), ('GetStringLength', com.STDMETHOD()), ('GetString', com.STDMETHOD()), ('GetAllocatedString', com.STDMETHOD()), ('GetBlobSize', com.STDMETHOD()), ('GetBlob', com.STDMETHOD()), ('GetAllocatedBlob', com.STDMETHOD()), ('GetUnknown', com.STDMETHOD()), ('SetItem', com.STDMETHOD()), ('DeleteItem', com.STDMETHOD()), ('DeleteAllItems', com.STDMETHOD()), ('SetUINT32', com.STDMETHOD(com.REFIID, c_uint32)), ('SetUINT64', com.STDMETHOD()), ('SetDouble', com.STDMETHOD()), ('SetGUID', com.STDMETHOD(com.REFIID, com.REFIID)), ('SetString', com.STDMETHOD()), ('SetBlob', com.STDMETHOD()), ('SetUnknown', com.STDMETHOD(com.REFIID, com.pIUnknown)), ('LockStore', com.STDMETHOD()), ('UnlockStore', com.STDMETHOD()), ('GetCount', com.STDMETHOD()), ('GetItemByIndex', com.STDMETHOD()), ('CopyAllItems', com.STDMETHOD(c_void_p)), # IMFAttributes ]
class IMFSample(IMFAttributes, com.pIUnknown): _methods_ = [ ('GetSampleFlags', com.STDMETHOD()), ('SetSampleFlags', com.STDMETHOD()), ('GetSampleTime', com.STDMETHOD()), ('SetSampleTime', com.STDMETHOD()), ('GetSampleDuration', com.STDMETHOD(POINTER(c_ulonglong))), ('SetSampleDuration', com.STDMETHOD(DWORD, IMFMediaBuffer)), ('GetBufferCount', com.STDMETHOD(POINTER(DWORD))), ('GetBufferByIndex', com.STDMETHOD(DWORD, IMFMediaBuffer)), ('ConvertToContiguousBuffer', com.STDMETHOD(POINTER(IMFMediaBuffer))), # out ('AddBuffer', com.STDMETHOD(POINTER(DWORD))), ('RemoveBufferByIndex', com.STDMETHOD()), ('RemoveAllBuffers', com.STDMETHOD()), ('GetTotalLength', com.STDMETHOD(POINTER(DWORD))), ('CopyToBuffer', com.STDMETHOD()), ]
class IDirectInputDevice8(com.pIUnknown): _methods_ = [ ('GetCapabilities', com.STDMETHOD()), ('EnumObjects', com.STDMETHOD(LPDIENUMDEVICEOBJECTSCALLBACK, LPVOID, DWORD)), ('GetProperty', com.STDMETHOD()), ('SetProperty', com.STDMETHOD(LPVOID, LPDIPROPHEADER)), ('Acquire', com.STDMETHOD()), ('Unacquire', com.STDMETHOD()), ('GetDeviceState', com.STDMETHOD()), ('GetDeviceData', com.STDMETHOD(DWORD, LPDIDEVICEOBJECTDATA, LPDWORD, DWORD)), ('SetDataFormat', com.STDMETHOD(LPDIDATAFORMAT)), ('SetEventNotification', com.STDMETHOD(HANDLE)), ('SetCooperativeLevel', com.STDMETHOD(HWND, DWORD)), ('GetObjectInfo', com.STDMETHOD()), ('GetDeviceInfo', com.STDMETHOD()), ('RunControlPanel', com.STDMETHOD()), ('Initialize', com.STDMETHOD()), ('CreateEffect', com.STDMETHOD()), ('EnumEffects', com.STDMETHOD()), ('GetEffectInfo', com.STDMETHOD()), ('GetForceFeedbackState', com.STDMETHOD()), ('SendForceFeedbackCommand', com.STDMETHOD()), ('EnumCreatedEffectObjects', com.STDMETHOD()), ('Escape', com.STDMETHOD()), ('Poll', com.STDMETHOD()), ('SendDeviceData', com.STDMETHOD()), ('EnumEffectsInFile', com.STDMETHOD()), ('WriteEffectToFile', com.STDMETHOD()), ('BuildActionMap', com.STDMETHOD()), ('SetActionMap', com.STDMETHOD()), ('GetImageInfo', com.STDMETHOD()), ]
class IXAudio2Voice(com.pInterface): _methods_ = [ ('GetVoiceDetails', com.STDMETHOD(POINTER(XAUDIO2_VOICE_DETAILS))), ('SetOutputVoices', com.STDMETHOD()), ('SetEffectChain', com.STDMETHOD(POINTER(XAUDIO2_EFFECT_CHAIN))), ('EnableEffect', com.STDMETHOD()), ('DisableEffect', com.STDMETHOD()), ('GetEffectState', com.STDMETHOD()), ('SetEffectParameters', com.STDMETHOD()), ('GetEffectParameters', com.STDMETHOD()), ('SetFilterParameters', com.STDMETHOD(POINTER(XAUDIO2_FILTER_PARAMETERS), UINT32)), ('GetFilterParameters', com.STDMETHOD()), ('SetOutputFilterParameters', com.STDMETHOD()), ('GetOutputFilterParameters', com.STDMETHOD()), ('SetVolume', com.STDMETHOD(ctypes.c_float, UINT32)), ('GetVolume', com.STDMETHOD(POINTER(c_float))), ('SetChannelVolumes', com.STDMETHOD()), ('GetChannelVolumes', com.STDMETHOD()), ('SetOutputMatrix', com.STDMETHOD(c_void_p, UINT32, UINT32, POINTER(FLOAT), UINT32)), ('GetOutputMatrix', com.STDMETHOD()), ('DestroyVoice', com.STDMETHOD()) ]
class IMFByteStream(com.pIUnknown): _methods_ = [ ('GetCapabilities', com.STDMETHOD()), ('GetLength', com.STDMETHOD()), ('SetLength', com.STDMETHOD()), ('GetCurrentPosition', com.STDMETHOD()), ('SetCurrentPosition', com.STDMETHOD(c_ulonglong)), ('IsEndOfStream', com.STDMETHOD()), ('Read', com.STDMETHOD()), ('BeginRead', com.STDMETHOD()), ('EndRead', com.STDMETHOD()), ('Write', com.STDMETHOD(POINTER(BYTE), ULONG, POINTER(ULONG))), ('BeginWrite', com.STDMETHOD()), ('EndWrite', com.STDMETHOD()), ('Seek', com.STDMETHOD()), ('Flush', com.STDMETHOD()), ('Close', com.STDMETHOD()), ]