enumIniFile.h 984 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef NULLSOFT_WINAMP_ENUMERATOR_INI_HEADER
  2. #define NULLSOFT_WINAMP_ENUMERATOR_INI_HEADER
  3. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  4. #pragma once
  5. #endif
  6. #include "./ifc_omserviceenum.h"
  7. #include "./loaderIni.h"
  8. class ifc_omservicehost;
  9. class EnumIniFile : public ifc_omserviceenum
  10. {
  11. protected:
  12. EnumIniFile(LPCWSTR pszAddress, ifc_omservicehost *serviceHost);
  13. ~EnumIniFile();
  14. public:
  15. static HRESULT CreateInstance(LPCWSTR pszAddress, ifc_omservicehost *host, EnumIniFile **instance);
  16. public:
  17. /* Dispatchable */
  18. size_t AddRef();
  19. size_t Release();
  20. int QueryInterface(GUID interface_guid, void **object);
  21. /* ifc_omserviceenum */
  22. HRESULT Next(ULONG listSize, ifc_omservice **elementList, ULONG *elementCount);
  23. HRESULT Reset(void);
  24. HRESULT Skip(ULONG elementCount);
  25. protected:
  26. RECVS_DISPATCH;
  27. protected:
  28. ULONG ref;
  29. LPWSTR address;
  30. ifc_omservicehost *host;
  31. LoaderIni reader;
  32. WIN32_FIND_DATA fData;
  33. HANDLE hFind;
  34. };
  35. #endif //NULLSOFT_WINAMP_ENUMERATOR_INI_HEADER