As the others explained, the problem with version 1 of the question is the use of std::string which is not a valid type for interop.
Looking at version 2 of the question, your C++ and Python declarations do not match. The C++ code returns a pointer to the struct, but the Python code expects the struct to be returned by value.
You could change either C++ or Python to match the other.
C++
DLLAPI myStruct DLLApiGetStruct()
{
myStruct result;
result.id = L"some id";
result.content = L"some content";
result.message = L"some message";
return result;
}
Python
myDLL.DLLApiGetStruct.restype = POINTER(TestStruct)
Obviously you must apply only one of these changes!
Note that in the C++ code I chose to use explicit wide strings with the L prefix rather than the _T() macro. The former matches wchar_t* and the latter is what you use with TCHAR. I would not recommend TCHAR these days, unless you need to support Win98.