>>412
>DLL 中で malloc() して文字列を返す場合、この領域はいつまで保たれるのでしょうか?

死ぬまで。
死ねば記憶(記憶領域の管理)は失われます。

これはDLL内の関数だろうが、アプリ本体だろうが同じ。

>呼び出し元のアプリが終了した時点で開放されるのか、あるいは自分で開放する必要があるのか。

あなたのプログラミングスタイルが「アプリが終了した
時点で解放されるなら、自分で解放する必要はない」と
いうものなら、自分で解放する必要はありません。