次の方法で共有


DXGKDDI_SETPOINTERPOSITION コールバック関数 (d3dkmddi.h)

DxgkDdiSetPointerPosition 関数は、マウス ポインターの位置と表示状態を設定します。

構文

DXGKDDI_SETPOINTERPOSITION DxgkddiSetpointerposition;

NTSTATUS DxgkddiSetpointerposition(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_SETPOINTERPOSITION pSetPointerPosition
)
{...}

パラメーター

[in] hAdapter

ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーは、DxgkDdiAddDevice 関数の出力パラメーター ミニポートDeviceContext の Microsoft DirectX グラフィックス カーネル サブシステムにこのハンドルを提供しました。

[in] pSetPointerPosition

マウス ポインターを表示する場所と方法を説明する DXGKARG_SETPOINTERPOSITION 構造体へのポインター。

戻り値

DxgkDdiSetPointerPosition は、成功した場合にSTATUS_SUCCESSを返します。それ以外の場合は、Ntstatus.hで定義されているエラー コードの 1 つを返します。

備考

DirectX グラフィックス カーネル サブシステムは、ディスプレイ ミニポート ドライバーの DxgkDdiSetPointerPosition 関数を呼び出して、マウス ポインターの位置を設定します。 DxgkDdiSetPointerPosition 関数は、他のすべてのディスプレイ ミニポート ドライバー関数とは別に呼び出されます。 したがって、DxgkDdiSetPointerPosition スレッドは、別のディスプレイ ミニポート ドライバー スレッドと同時に実行できます。 ただし、DxgkDdiSetPointerPosition DxgkDdiSetPointerShape スレッド 同時に実行できないようにします。

DxgkDdiSetPointerPosition スレッドを別のディスプレイ ミニポート ドライバー スレッドと同時に実行する場合、ディスプレイ ミニポート ドライバーは、メモリ マップされた I/O (MMIO) を使用してグラフィックス ハードウェアをプログラムする操作、ダイレクト メモリ アクセス (DMA) を介してコマンド バッファーを送信する操作など、他のアクティビティとは独立してマウス ポインター ハードウェアをプログラムできる必要があります。 などなど。

DxgkDdiSetPointerPosition は、pSetPointerPosition パラメーターが指す DXGKARG_SETPOINTERPOSITION 構造の VidPnSourceId メンバーに関連付けられているビデオ 存在ネットワーク (VidPN) トポロジが無効になっている場合でも呼び出すことができます。 この場合、ドライバーはSTATUS_SUCCESSを返す必要がありますが、ドライバーまたはハードウェアの状態に変更を加える必要はありません。

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

必要条件

要件 価値
サポートされる最小クライアント Windows Vista
ターゲット プラットフォーム デスクトップ
ヘッダー d3dkmddi.h (D3dkmddi.h を含む)
IRQL PASSIVE_LEVEL

関連項目

DXGKARG_SETPOINTERPOSITION

DxgkDdiAddDevice

DxgkDdiSetPointerShape する