191せんせー、MORPG用のDLL形式の通信ライブラリを作ろうと思うのですが
ライブラリ側からアプリケーションへのイベントの通知は
どういった方法を使うのが良いのでしょうか?
対象は今のところ、C言語でのwindowsアプリケーションを考えています。

今までに考えたものでは、
(イベントが起こった時に)
・ウィンドウメッセージをアプリ側から指定されたウィンドウに飛ばす
・アプリ側から指定されたコールバック関数へ引数に色々くっ付けて呼びだす
または
・毎回アプリ側から、ライブラリ内にあるイベントをチェックする関数を呼び出させて、
返り値でイベント状態を返す

があります。
私この度初めて一般向けのライブラリというものを作ろうとしているので、
全くとんちんかんで他人に理解されないものになってしまうのではとひやひやしております。
なので、こんな仕様はおかしいよ、とか、一般的にはこういう方法が使われるよ、といった指導を希望します。
最後になりましたが、私はCしか使えずまともなプログラムは仕上げたことがないレベルです。