WD_PciScanCards() を使用して、接続してるカードのスロットを見つけてください。 WD_PciGetCardInfo() を呼び出して、カードの情報を取得します。 この情報には、Plug & Play システムでカード用に選択されたメモリ範囲が含まれます。 WD_CardRegister() を呼び出して、メモリ範囲をインストールし、それをカーネルとユーザー モードの両方のバーチャル アドレス スペースにマップします。 物理アドレスのユーザー モード マップを使用することによって、ユーザー モード アプリケーションからでも直接メモリにアクセスできます。 物理アドレスは、cardReg.Card.Item[i].I.Mem.dwUserDirectAddr の、WD_CardRegister() で返されます。(i は、配列 Item のメモリ範囲のインデックス番号を現しています) またはカーネルでメモリにアクセスするには、メモリのカーネル モード マップを渡すことによって、ユーザー モード アプリケーションからでも直接メモリにアクセスできます。 WinDriver\samples\pci_diag ディレクトリにサンプルがあるので参照してください。また、PCI カード用に DriverWizard で生成した診断コードも参照してください。 WinDriver の API 関数についての説明は、ユーザー マニュアルを参照してください。 [メモ: Kernel PlugIn プロジェクトからカーネルで直接メモリにアクセスするには、物理メモリ アドレスのカーネル モード マップを使用する必要があります。 物理メモリ アドレスは、cardReg.Card.Item[i].I.Mem.dwTransAddr の、WD_CardRegister() で返されます。その場合、ユーザー モード アプリケーションから直接メモリにアクセスするのにユーザー モード マップは使用できません]。
WD_PciGetCardInfo() を呼び出して、カードの情報を取得します。 この情報には、Plug & Play システムでカード用に選択されたメモリ範囲が含まれます。 WD_CardRegister() を呼び出して、メモリ範囲をインストールし、それをカーネルとユーザー モードの両方のバーチャル アドレス スペースにマップします。 物理アドレスのユーザー モード マップを使用することによって、ユーザー モード アプリケーションからでも直接メモリにアクセスできます。 物理アドレスは、cardReg.Card.Item[i].I.Mem.dwUserDirectAddr の、WD_CardRegister() で返されます。(i は、配列 Item のメモリ範囲のインデックス番号を現しています) またはカーネルでメモリにアクセスするには、メモリのカーネル モード マップを渡すことによって、ユーザー モード アプリケーションからでも直接メモリにアクセスできます。 WinDriver\samples\pci_diag ディレクトリにサンプルがあるので参照してください。また、PCI カード用に DriverWizard で生成した診断コードも参照してください。 WinDriver の API 関数についての説明は、ユーザー マニュアルを参照してください。 [メモ: Kernel PlugIn プロジェクトからカーネルで直接メモリにアクセスするには、物理メモリ アドレスのカーネル モード マップを使用する必要があります。 物理メモリ アドレスは、cardReg.Card.Item[i].I.Mem.dwTransAddr の、WD_CardRegister() で返されます。その場合、ユーザー モード アプリケーションから直接メモリにアクセスするのにユーザー モード マップは使用できません]。
WD_CardRegister() を呼び出して、メモリ範囲をインストールし、それをカーネルとユーザー モードの両方のバーチャル アドレス スペースにマップします。 物理アドレスのユーザー モード マップを使用することによって、ユーザー モード アプリケーションからでも直接メモリにアクセスできます。 物理アドレスは、cardReg.Card.Item[i].I.Mem.dwUserDirectAddr の、WD_CardRegister() で返されます。(i は、配列 Item のメモリ範囲のインデックス番号を現しています) またはカーネルでメモリにアクセスするには、メモリのカーネル モード マップを渡すことによって、ユーザー モード アプリケーションからでも直接メモリにアクセスできます。 WinDriver\samples\pci_diag ディレクトリにサンプルがあるので参照してください。また、PCI カード用に DriverWizard で生成した診断コードも参照してください。 WinDriver の API 関数についての説明は、ユーザー マニュアルを参照してください。 [メモ: Kernel PlugIn プロジェクトからカーネルで直接メモリにアクセスするには、物理メモリ アドレスのカーネル モード マップを使用する必要があります。 物理メモリ アドレスは、cardReg.Card.Item[i].I.Mem.dwTransAddr の、WD_CardRegister() で返されます。その場合、ユーザー モード アプリケーションから直接メモリにアクセスするのにユーザー モード マップは使用できません]。