ドライバのヒント: すべてのドライバ作成者が知る必要のある事項

「ドライバのヒント」では、リリース済みの Windows バージョン用のドライバ作成において不可欠な技法、ツール、およびベスト プラクティスに関する簡潔な情報を、実行手順と共に提供し、詳細な情報へのリンクを記載します。

最新のドライバのヒント :
ホワイト ペーパーサンプル コードから運用ドライバへ: サンプルにおいて変更すべき点  
ホワイト ペーパーどのような場合に WDF ドライバが電源管理された I/O キューを使用できるか  
ホワイト ペーパーファイル システム ドライバにリリース署名する方法  
ホワイト ペーパー署名されたドライバ用のカスタム電源設定  

KMDF に関するヒント
ホワイト ペーパーEvtCleanupCallback はいつ実行されるか?
ホワイト ペーパーKMDF ドライバのインストールのトラブルシューティング
ホワイト ペーパーKMDF ログの使用方法
ホワイト ペーパーそのハンドルはまだ有効ですか?
ホワイト ペーパーフレームワークの検証を有効にする方法
Microsoft.comドライバの KMDF ログを表示する方法

ドライバのメモリ管理に関するヒント
ホワイト ペーパーCommon-buffer DMA? No translation required!
ホワイト ペーパーHow do I keep my driver from running out of kernel-mode stack?
ホワイト ペーパーWhat does MmProbeAndLockPages actually lock?
ホワイト ペーパーWhere did all that contiguous memory come from?
ホワイト ペーパーWho's Using the Pool?
ホワイト ペーパーその MDL の中にはいったい何があるのでしょう?
ホワイト ペーパー効率的なメモリ使用のための 6 つのヒント

ドライバの I/O 要求に関するヒント
ホワイト ペーパーGetting your driver to handle more than one I/O request at a time
ホワイト ペーパーI/O cancellation: when does it matter?
ホワイト ペーパーQueuing a work item: Once is enough!
ホワイト ペーパーToo long, too short, or just right? Buffer size matters
ホワイト ペーパーWhat does DO_DEVICE_INITIALIZING really do?
ホワイト ペーパー私のデバイスは削除されましたが、なぜ IRP を受信し続けるのでしょうか?

ドライバのプラグ アンド プレイおよび電源の管理に関するヒント
ホワイト ペーパーHello, user mode? Plug and Play calling
ホワイト ペーパーデバイスが突然取り外されました。どうすればよいでしょうか?
ホワイト ペーパーどのような場合に WDF ドライバが電源管理された I/O キューを使用できるか  

ドライバ設計に関するヒント
ホワイト ペーパーNo time to write a bus driver? Try using a device object namespace
ホワイト ペーパーWriting kernel-mode drivers in C++: should you or shouldn't you?
ホワイト ペーパーサンプル コードから運用ドライバへ: サンプルにおいて変更すべき点  

ドライバの同期に関するヒント:
ホワイト ペーパーOne at a time! Protecting shared data from concurrent routines
ホワイト ペーパーSummary of Windows Synchronization Primitives

ドライバのセキュリティおよび信頼性に関するヒント
ホワイト ペーパーHelp prevent buffer overruns in your driver! Use safe string functions
ホワイト ペーパーHow safe is your device namespace?
ホワイト ペーパーIOCTLs with FILE_ANY_ACCESS: safe or sorry?
ホワイト ペーパーOf course it's a valid handle! (Or is it?)
ホワイト ペーパーファイル システム ドライバにリリース署名する方法  
ホワイト ペーパー署名されたドライバ用のカスタム電源設定  

ビルド、テスト、およびデバッグに関するヒント
ホワイト ペーパーWindows Vista でのインボックス ドライバのテスト ビルドのインストール
ホワイト ペーパーWindows Vista のデバッグ
ホワイト ペーパーあなたのドライバはどれくらいの時間を DPC と ISR に費やしていますか?
ホワイト ペーパーカーネル モード ドライバで DLL を呼び出す
ホワイト ペーパードライバが Windows 2000 に読み込まれない場合、VER_SET_CONDITION が原因かもしれません
ホワイト ペーパードライバのソース コード内の見つけにくいバグを、PREfast を使用して追跡する
ホワイト ペーパーメモリのアクセスおよび割り当てのエラーに関するテスト
ホワイト ペーパー不要なシンボルをデバッガが検索しないようにする方法は?
ホワイト ペーパー関数の typedef を C++ ドライバ コードで使用して、PREfast の結果を向上させる方法

リソース
ホワイト ペーパーWDK ドキュメントのダウンロード
WHDC ポータル/ノードWindows のドライバ署名の要件
WHDC ポータル/ノードWindows 開発チームからの覚え書き
WHDC ポータル/ノードドライバのヒント: Windows デバイス ドライバのベスト プラクティス
WHDC ポータル/ノードドライバ開発者コミュニティのリソース
WHDC ポータル/ノード開発キットとツールのサポート
その他ドライバ開発者のブログ
Microsoft.comWDK Online

参照 : 
Windows 開発チームからの覚え書き