0

ベアボーン コード (サービスの基本的なフレームワークのみ) を使用して正常に動作する新しい Windows サービスを作成しましたが、それを dll にリンクすると、dll の機能を使用する lib ファイルが起動時に 0xc0000034 でクラッシュします。エラー。

サービスの dll を配置する特別な場所や、これを行う特別な方法はありますか?

.

編集:exeと同じフォルダーに必要なすべてのdllがありますが、system32フォルダーに移動してみます。私のメモリ リーク ディテクタ (vld) とサービスが原因で競合が発生している可能性があると思います。デバッグと試行錯誤をさらに行う必要があります。

.

編集2:

何が原因だったのか判明。dbghelp.dll がありませんでした (依存関係ウォーカーを使用して解決しました)。入力していただきありがとうございます。

4

2 に答える 2

1

0xc0000034 は STATUS_OBJECT_NAME_NOT_FOUND を表し、ファイルが見つからないことを示しています。dll を正しいパスに配置していますか?

編集:winサービスであるため、ロードするdllへのパスは絶対パスであるか、PATH環境変数にある必要があると思います(COMサーバーはそのように機能します)

dll を System32 ディレクトリにコピーして、問題が解決するかどうかを確認してください。

于 2009-01-17T09:43:08.590 に答える
1

DLL は他の DLL に依存していますか? それらの他の DLL は正しい場所にありますか?

于 2009-01-17T09:52:11.803 に答える