ディスプレイ ミニポート ドライバーの DriverEntry 関数
DriverEntry 関数は、DirectX グラフィックス カーネル サブシステム (Dxgkrnl) に、ディスプレイ ミニポート ドライバー (KMD) によって実装される関数へのポインター セットを提供します。
構文
NTSTATUS DriverEntry(
_In_ PDRIVER_OBJECT DriverObject,
_In_ PUNICODE_STRING RegistryPath
);
パラメーター
DriverObject は、(ディスプレイ ミニポート、ディスプレイ ポート) ドライバー ペアによって形成されたドライバーを表す DRIVER_OBJECT 構造体へのポインターです。
RegistryPath は、ドライバーのレジストリ キーへのパスを提供する UNICODE_STRING 構造体へのポインターです。
戻り値
DriverEntry は、DxgkInitialize の呼び出しによって返される値を返す必要があります。
解説
DriverEntry は、次の手順を実行する必要があります。
DRIVER_INITIALIZATION_DATA 構造体を割り当て、その Version メンバーを、Dispmprt.h で定義されている DXGKDDI_INTERFACE_VERSION に設定します。
DRIVER_INITIALIZATION_DATA の残りのメンバーには、KMD によって実装される関数へのポインターを入力します。
DriverObject、 RegistryPath、および入力された DRIVER_INITIALIZATION_DATA 構造体を DxgkInitialize に渡します。
DxgkInitialize によって返される値を返します。
DRIVER_INITIALIZATION_DATA 構造体は、DriverEntry が返された後、メモリ内にとどまる必要はありません。
DriverEntry はページング可能にする必要があります。
カーネルモードの表示専用ドライバーの DriverEntry
カーネルモードの表示専用ドライバー (KMDOD) インターフェイスの場合、KMDDOD_INITIALIZATION_DATA 構造体は、KMDOD で実装できる関数をすべて一覧表示します。 DxgkDdiPresentDisplayOnly 関数を除くこれらの関数はすべて、フル ディスプレイ ミニポート ドライバー (KMD) で実装することもできます。 KMDOD の DriverEntry 関数は、KMDDOD_INITIALIZATION_DATA 構造体のすべてのメンバーを入力したうえで、その構造体を DxgkInitializeDisplayOnlyDriver 関数に渡して、ディスプレイ ポート ドライバーへの関数ポインターを提供します。
KMDOD で VSync 制御機能がサポートされていない場合は、特定の関数を実装しないでください。 「VSync 制御による省エネ」を参照してください。
KMDOD では、次の構造体と列挙型も使用されます。
- D3DKMT_MOVE_RECT
- D3DKMT_PRESENT_DISPLAY_ONLY_FLAGS
- DXGK_PRESENT_DISPLAY_ONLY_PROGRESS_ID
- DXGKARG_PRESENT_DISPLAYONLY
- DXGKARGCB_PRESENT_DISPLAYONLY_PROGRESS
要件
要件 | 詳細 |
---|---|
対象プラットフォーム | デスクトップ |
サポートされている最小のクライアント | Windows Vista |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |