2009-07-09 18 views
1

私は書いたドライバを持っており、そのドライバに記号的な名前を付けました。シンボリック名は...ユーザーモードからドライバとの通信に問題があります

L"\\DosDevices\\somename" 

です...と私はユーザーモードからのCreateFileを使用して、デバイスオブジェクトにアクセスしようとしたとき、私は常にエラーコード3を取得します(パスが見つかりません)。

私は次のパスでのCreateFileを使用してみました...

L"\\\\.\\somename" 

L"\\Device\\somename" 

...そして、それは仕事をdoesntの:私は常にエラーコード3を取得

誰かが理由を知っていますか?

+0

私はおそらく間違っていますが、WCHARではなくCHARであるべきですか? (すなわち、Lを落とす)。また、私はかなりスラッシュが必要であると確信しているので、 "\\\\。\\ DosDevices \\ somename"。 実際に必要とするバックスラッシュごとに2つのバックスラッシュを常に使用することを覚えておいてください。 –

+0

ドライバは正常にロードされていますか?初期化中に、デバイス名を作成/宣伝するために必要なAPI呼び出しが行われましたか? – ChrisW

答えて

1

WinObjを使用して、シンボリックが正常に作成されたかどうかを確認します。リンクがGLOBALの下に表示されます。そうでない場合、あなたの運転手に欠陥があります。

Btw。 \\。\ somenameは正しいです。

関連する問題