const修飾子?について質問させてください(スレ違いぽいかも。すみません)。
初歩的質問ですが、よろしくお願いします。

スレッドBからスレッドA(WinMain・プロシージャ含む)に文字列を渡す、
といった状況なのですが、
const char *型は、ポインタではなくポインタの指す対象が定数になるという?
記述をMSDNで読み、最近知りました(初歩だとは思うのですが)。

ただ、不思議に思ったのですが、スレッドBの関数hogeがLPCTSTR型で受け取った
文字列ポインタlpctstr_Hoge(hoge()を呼んだ関数が、char型配列(const宣言でもstatic宣言でも
ない)で宣言した文字列をLPCTSTR型にキャストしてhoge()に渡したもの)を
PostMessage(hwnd, WM_HOGE, (WPARAM)lpcstr, 0)でスレッドAのウインドウプロシージャに
渡すと、対象の文字列の内容が破棄されておらず、内容が保持されていました。

私としては、PostMessageした側(hoge())が終了しているだろうから文字列の内容は
破棄されていると思っていたのですが、これは一体どういうことなのでしょうか??
hoge()を呼んだ関数のchar配列が定数になっているのなら、次に同じ処理を行ったとき
どうなるのでしょうか。かなりバカな質問だと思うのですが、理解するヒントが頂ければ
幸いに思います。よろしくお願いします