ListStruct_API.h 858 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #ifdef LISTSTRUCT_EXPORTS
  3. #define LISTSTRUCT_API extern "C" _declspec(dllexport)
  4. #else
  5. #define LISTSTRUCT_API extern "C" _declspec(dllimport)
  6. #endif
  7. #define LST_NAME_MAXLEN 256
  8. #define LST_VALUE_MAXLEN 256
  9. #define LST_STR_MAXLEN 4096
  10. struct ECOMDataItem
  11. {
  12. wchar_t Name[LST_NAME_MAXLEN];
  13. wchar_t Value[LST_VALUE_MAXLEN];
  14. };
  15. struct ECOMDataItemList
  16. {
  17. int nCount;
  18. ECOMDataItem *pDataItems;
  19. };
  20. extern "C"
  21. {
  22. LISTSTRUCT_API ECOMDataItemList* LST_DataListNew();
  23. LISTSTRUCT_API bool LST_DataListAddItem(ECOMDataItemList *pDataList,const wchar_t* wszName,const wchar_t* wszValue);
  24. LISTSTRUCT_API bool LST_DataListDecode(const wchar_t* wszData,ECOMDataItemList *outpDataList);
  25. LISTSTRUCT_API bool LST_DataListEncode(ECOMDataItemList *pDataList,wchar_t* outwszData);
  26. LISTSTRUCT_API void LST_DataListRelease(ECOMDataItemList *pDataList);
  27. };