PowerShell コマンドがあれば...
$theEvent=Register-ObjectEvent -InputObject $theWatcher -EventName EventRecordWritten -SourceIdentifier $theId -Action { OnEvent $($args[$ONE]) }
'OnEvent' が関数として定義されている場合、上記は機能し、イベントが発生すると、アクション設定が 1 つのパラメータを渡してコールバックを呼び出します。
ただし、定義された関数の名前を持つ文字列変数を渡す必要があり、次のような操作を行います...
$theAction="OnEvent"
$theEvent=Register-ObjectEvent -InputObject $theWatcher -EventName EventRecordWritten -SourceIdentifier $theId -Action { $theAction $($args[$ONE]) }
どうすればいいのでしょうか? 明らかに '{' と '}' はコード スクリプト ブロックを作成していますが、 '$theAction' 文字列を評価して、その変数を関数ポインターに置き換える方法がわかりません。OnEvent 関数を指していますか?