123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #ifndef NULLSOFT_PODCAST_PLUGIN_UTIL_HEADER
- #define NULLSOFT_PODCAST_PLUGIN_UTIL_HEADER
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
- #pragma once
- #endif
- #include <wtypes.h>
- #include "../nu/trace.h"
- #define CSTR_INVARIANT MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT)
- #ifndef ARRAYSIZE
- #define ARRAYSIZE(blah) (sizeof(blah)/sizeof(*blah))
- #endif
- #ifndef LONGX86
- #ifdef _WIN64
- #define LONGX86 LONG_PTR
- #else /*_WIN64*/
- #define LONGX86 LONG
- #endif /*_WIN64*/
- #endif // LONGX86
- #ifdef __cplusplus
- #define SENDMSG(__hwnd, __msgId, __wParam, __lParam) ::SendMessageW((__hwnd), (__msgId), (__wParam), (__lParam))
- #else
- #define SENDMSG(__hwnd, __msgId, __wParam, __lParam) SendMessageW((__hwnd), (__msgId), (__wParam), (__lParam))
- #endif // __cplusplus
- #define SENDMLIPC(__hwndML, __ipcMsgId, __param) SENDMSG((__hwndML), WM_ML_IPC, (WPARAM)(__param), (LPARAM)(__ipcMsgId))
- #define SENDWAIPC(__hwndWA, __ipcMsgId, __param) SENDMSG((__hwndWA), WM_WA_IPC, (WPARAM)(__param), (LPARAM)(__ipcMsgId))
- #if defined (_WIN64)
- #define MSGRESULT(__hwnd, __result) { SetWindowLongPtrW((__hwnd), DWLP_MSGRESULT, ((LONGX86)(LONG_PTR)(__result))); return TRUE; }
- #else
- #define MSGRESULT(__hwnd, __result) { SetWindowLongPtrW((__hwnd), DWL_MSGRESULT, ((LONGX86)(LONG_PTR)(__result))); return TRUE; }
- #endif
- #define SENDCMD(__hwnd, __ctrlId, __eventId, __hctrl) (SENDMSG((__hwnd), WM_COMMAND, MAKEWPARAM(__ctrlId, __eventId), (LPARAM)(__hctrl)))
- LPWSTR Plugin_MallocString(size_t cchLen);
- LPWSTR Plugin_ReAllocString(LPWSTR pszString, size_t cchLen);
- void Plugin_FreeString(LPWSTR pszString);
- LPWSTR Plugin_CopyString(LPCWSTR pszSource);
- LPSTR Plugin_MallocAnsiString(size_t cchLen);
- LPSTR Plugin_CopyAnsiString(LPCSTR pszSource);
- void Plugin_FreeAnsiString(LPSTR pszString);
- LPWSTR Plugin_DuplicateResString(LPCWSTR pszResource);
- void Plugin_FreeResString(LPWSTR pszResource);
- HRESULT Plugin_CopyResString(LPWSTR pszBuffer, INT cchBufferMax, LPCWSTR pszString);
- LPSTR Plugin_WideCharToMultiByte(UINT codePage, DWORD dwFlags, LPCWSTR lpWideCharStr, INT cchWideChar, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar);
- LPWSTR Plugin_MultiByteToWideChar(UINT codePage, DWORD dwFlags, LPCSTR lpMultiByteStr, INT cbMultiByte);
- void Plugin_SafeRelease(IUnknown *pUnk);
- HRESULT Plugin_FileExtensionFromUrl(LPWSTR pszBuffer, INT cchBufferMax, LPCWSTR pszUrl, LPCWSTR defaultExtension);
- void Plugin_ReplaceBadPathChars(LPWSTR pszPath);
- INT Plugin_CleanDirectory(LPWSTR pszPath);
- HRESULT Plugin_EnsurePathExist(LPCWSTR pszDirectory);
- #endif // NULLSOFT_PODCAST_PLUGIN_UTIL_HEADER
|