ホーム
製品リスト
ダウンロード
ショップ
お問い合わせ
会社概要
ブログ
ホーム
製品リスト
ダウンロード
ショップ
お問い合わせ
会社概要
ブログ
Jungo
製品ホーム
製品
PCI / PCI Express 開発
WinDriver PCI for Windows
WinDriver PCI for Linux
WinDriver PCI for Linux ARM
USB 開発
WinDriver USB for Windows
WinDriver USB for Linux
WinDriver USB for Linux ARM
サーバー & 署名サービス
WinDriver for Servers
デジタル署名代行サービス
WHQL プレテスト代行
ダウンロード
WinDriver PCI 評価版
WinDriver USB 評価版
ライセンス
価格・ライセンス
価格・ライセンス体系
ライセンス オプション詳細
保守・アップグレード
SSP 保守サポート内容
アップグレード手順
技術情報
ドキュメント・FAQ
テクニカル情報トップ
マニュアル ダウンロード
よくある質問 (FAQ)
技術ドキュメント (KB)
セットアップ
インストール手順
アンインストール手順
技術記事・更新情報
FPGA DMA 転送実装ガイド
リリースノート
バージョン変更履歴
ブログ
お問い合わせ
テクニカル ドキュメント #45
Doc ID:
45
製品:
WinDriver
Version:
--
COPY_TO_USER_OR_KERNEL および COPY_FROM_USER_OR_KERNEL とは何ですか?また、いつ使用しますか?
COPY_TO_USER_OR_KERNEL および COPY_FROM_USER_OR_KERNEL マクロは、Kernel PlugIn 内からユーザー モードのメモリ アドレスにアクセスする際に、ユーザー モードのメモリ アドレスから/へデータ (必要に応じて) をコピーするのに使用されます。データをコピーすることによって、たとえユーザー モード プロセスのコンテキストが、IO オペレーションの最中に変更しても、ユーザー モードのアドレスを正常に使用することができます。これは特に長いオペレーション (ユーザー モード プロセスのコンテキストの変更) には最適です。
[コピーを行うのにマクロを使用することで、対応するすべての OS の汎用的な解決策となります]。
KP_IntAtIrql() または KP_IntAtDpc() 関数ないからユーザー モード データへアクセスする場合、これらの関数を実行する前に、先ず、Kernel PlugIn の変数にデータをコピーしてください。
WinDriver\include\kpstdlib.h ヘッダ ファイルに、COPY_TO_USER_OR_KERNEL および COPY_FROM_USER_OR_KERNEL マクロを定義します。
COPY_TO_USER_OR_KERNEL マクロを使用した例、サンプルの kptest.c ファイル (WinDriver\kerplug\kptest\kermode ディレクトリ以下) の KP_Call() の実装を参照してください。または、DriverWizard で生成した \kerplug\kp_xxx.c ファイル (WinDriver v5.20 以降) の KP_XXX_Call() の実装を参照してください
ユーザー モードと Kernel PlugIn ルーティン (例、KpIntAtIrql() および KpIntAtDpc()) 間のデータ バッファの共有に関しては、
テクニカル ドキュメント #41
を参照してください。
このサイトでは、サイトや広告を改善するために Cookie を使用します。サイトを利用することで、Cookie の使用に同意するものといたします。詳細は
プライバシーについて
をご覧ください。
同意する