次の方法で共有


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

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

構文

DXGKDDI_SETPOINTERPOSITION DxgkddiSetpointerposition;

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

パラメーター

[in] hAdapter

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

[in] pSetPointerPosition

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

戻り値

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

注釈

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

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

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

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

要件

要件
サポートされている最小のクライアント Windows Vista
対象プラットフォーム デスクトップ
Header d3dkmddi.h (D3dkmddi.h を含む)
IRQL PASSIVE_LEVEL

こちらもご覧ください

DXGKARG_SETPOINTERPOSITION

DxgkDdiAddDevice

DxgkDdiSetPointerShape