1

IRQL_PASSIVE で「すべて」が可能になるはずだと読んだので、多少混乱しましたが、これに winsock2 が含まれているのか、他のユーザーランド ライブラリが含まれているのかよくわかりません。私の通常の理解は、WSK インターフェイスを使用することです。でも、普通のソケットが使えればもっと快適です。

winsock を含めようとしているときにビルダー エラーが頻繁に発生するため、少し確信が持てません。また、ドキュメントを検索しても正式な回答が得られないため、これを質問として述べたいと思います: IRQL_PASSIVE で実際にアクセスできるライブラリの種類は何ですか? IRQL は唯一の制限パラメーターですか?

4

1 に答える 1

2

カーネル モードから (ほとんどの) ユーザー ランド ライブラリにアクセスすることはできません。そのライブラリのカーネル モード インターフェイスを取得するか、ユーザー モード サービス (逆呼び出し) を使用する必要があります。

Winsock にはカーネル インターフェイスがあります。このMSDN の記事を参照してください。

IRQL レベルによって、使用できる「カーネル サービス」が決まります。したがって、KeGetCurrentIrql() >= IRQL_DISPATCH の場合、ページングに依存することはできず (これにより IRQL_NOT_LESS_OR_EQUAL バグチェックが生成されます)、ページングを使用する関数を呼び出すことはできません (すべきではありませんか?)。

ライブラリの使用を妨げるものではありません。

于 2009-07-20T12:29:54.410 に答える