1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #ifndef _NULLSOFT_WINAMP_DEVICES_DEVICE_OBJECT_ENUMERATOR_HEADER
- #define _NULLSOFT_WINAMP_DEVICES_DEVICE_OBJECT_ENUMERATOR_HEADER
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
- #pragma once
- #endif
- #include "./ifc_deviceobject.h"
- #include "./ifc_deviceobjectenum.h"
- class DeviceObjectEnum : public ifc_deviceobjectenum
- {
- protected:
- DeviceObjectEnum();
- ~DeviceObjectEnum();
- public:
- static HRESULT CreateInstance(ifc_deviceobject **objects,
- size_t count,
- DeviceObjectEnum **instance);
- public:
- /* Dispatchable */
- size_t AddRef();
- size_t Release();
- int QueryInterface(GUID interface_guid, void **object);
-
- /* ifc_deviceobjectenum */
- HRESULT Next(ifc_deviceobject **objects, size_t bufferMax, size_t *fetched);
- HRESULT Reset(void);
- HRESULT Skip(size_t count);
- HRESULT GetCount(size_t *count);
- protected:
- size_t ref;
- ifc_deviceobject **buffer;
- size_t size;
- size_t cursor;
- protected:
- RECVS_DISPATCH;
- };
- #endif // _NULLSOFT_WINAMP_DEVICES_DEVICE_OBJECT_ENUMERATOR_HEADER
|