関数ポインタ?

 下のコードはコンパイルは通るけど、実行するとご迷惑をおかけするんです。

HNsmService CreateService(LPCTSTR lpServiceName, TNsmServiceProc ProcAddr)
{
  return NsmInitInfo.CreateService(lpServiceName, ProcAddr);
}

 Systemサービスをラップしたくてこんなコードを書いたんだけど、
 うまく関数ポインタを又渡しできないんです。
 けっきょくおいらが関数ポインタって何なのかが分かってないのが問題なのかも。。。
 誰かご指導ご鞭撻のほどを…(´Д⊂