次の方法で共有


ディスプレイ ミニポート ドライバーの DriverEntry 関数

DriverEntry 関数は、DirectX グラフィックス カーネル サブシステム (Dxgkrnl) に、ディスプレイ ミニポート ドライバー (KMD) によって実装される関数へのポインター セットを提供します。

構文

NTSTATUS DriverEntry(
  _In_ PDRIVER_OBJECT  DriverObject,
  _In_ PUNICODE_STRING RegistryPath
);

パラメーター

DriverObject は、(ディスプレイ ミニポート、ディスプレイ ポート) ドライバー ペアによって形成されたドライバーを表す DRIVER_OBJECT 構造体へのポインターです。

RegistryPath は、ドライバーのレジストリ キーへのパスを提供する UNICODE_STRING 構造体へのポインターです。

戻り値

DriverEntry は、DxgkInitialize の呼び出しによって返される値を返す必要があります。

解説

DriverEntry は、次の手順を実行する必要があります。

  1. DRIVER_INITIALIZATION_DATA 構造体を割り当て、その Version メンバーを、Dispmprt.h で定義されている DXGKDDI_INTERFACE_VERSION に設定します。

  2. DRIVER_INITIALIZATION_DATA の残りのメンバーには、KMD によって実装される関数へのポインターを入力します。

  3. DriverObjectRegistryPath、および入力された DRIVER_INITIALIZATION_DATA 構造体を DxgkInitialize に渡します。

  4. DxgkInitialize によって返される値を返します。

DRIVER_INITIALIZATION_DATA 構造体は、DriverEntry が返された後、メモリ内にとどまる必要はありません。

DriverEntry はページング可能にする必要があります。

カーネルモードの表示専用ドライバーの DriverEntry

カーネルモードの表示専用ドライバー (KMDOD) インターフェイスの場合、KMDDOD_INITIALIZATION_DATA 構造体は、KMDOD で実装できる関数をすべて一覧表示します。 DxgkDdiPresentDisplayOnly 関数を除くこれらの関数はすべて、フル ディスプレイ ミニポート ドライバー (KMD) で実装することもできます。 KMDOD の DriverEntry 関数は、KMDDOD_INITIALIZATION_DATA 構造体のすべてのメンバーを入力したうえで、その構造体を DxgkInitializeDisplayOnlyDriver 関数に渡して、ディスプレイ ポート ドライバーへの関数ポインターを提供します。

KMDOD で VSync 制御機能がサポートされていない場合は、特定の関数を実装しないでください。 「VSync 制御による省エネ」を参照してください。

KMDOD では、次の構造体と列挙型も使用されます。

要件

要件 詳細
対象プラットフォーム デスクトップ
サポートされている最小のクライアント Windows Vista
Library NtosKrnl.lib
[DLL] NtosKrnl.exe

関連項目

DxgkInitialize

DxgkDdiUnload