次の方法で共有


D3DDDI_DEVICECALLBACKS 構造体 (d3dumddi.h)

D3DDDI_DEVICECALLBACKS構造体には、ユーザー モード ディスプレイ ドライバーが使用できる Microsoft Direct3D ランタイム コールバック関数が含まれています。

構文

typedef struct _D3DDDI_DEVICECALLBACKS {
  PFND3DDDI_ALLOCATECB                            pfnAllocateCb;
  PFND3DDDI_DEALLOCATECB                          pfnDeallocateCb;
  PFND3DDDI_SETPRIORITYCB                         pfnSetPriorityCb;
  PFND3DDDI_QUERYRESIDENCYCB                      pfnQueryResidencyCb;
  PFND3DDDI_SETDISPLAYMODECB                      pfnSetDisplayModeCb;
  PFND3DDDI_PRESENTCB                             pfnPresentCb;
  PFND3DDDI_RENDERCB                              pfnRenderCb;
  PFND3DDDI_LOCKCB                                pfnLockCb;
  PFND3DDDI_UNLOCKCB                              pfnUnlockCb;
  PFND3DDDI_ESCAPECB                              pfnEscapeCb;
  PFND3DDDI_CREATEOVERLAYCB                       pfnCreateOverlayCb;
  PFND3DDDI_UPDATEOVERLAYCB                       pfnUpdateOverlayCb;
  PFND3DDDI_FLIPOVERLAYCB                         pfnFlipOverlayCb;
  PFND3DDDI_DESTROYOVERLAYCB                      pfnDestroyOverlayCb;
  PFND3DDDI_CREATECONTEXTCB                       pfnCreateContextCb;
  PFND3DDDI_DESTROYCONTEXTCB                      pfnDestroyContextCb;
  PFND3DDDI_CREATESYNCHRONIZATIONOBJECTCB         pfnCreateSynchronizationObjectCb;
  PFND3DDDI_DESTROYSYNCHRONIZATIONOBJECTCB        pfnDestroySynchronizationObjectCb;
  PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECTCB        pfnWaitForSynchronizationObjectCb;
  PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB         pfnSignalSynchronizationObjectCb;
  PFND3DDDI_SETASYNCCALLBACKSCB                   pfnSetAsyncCallbacksCb;
  PFND3DDDI_SETDISPLAYPRIVATEDRIVERFORMATCB       pfnSetDisplayPrivateDriverFormatCb;
  PFND3DDDI_OFFERALLOCATIONSCB                    pfnOfferAllocationsCb;
  PFND3DDDI_RECLAIMALLOCATIONSCB                  pfnReclaimAllocationsCb;
  PFND3DDDI_CREATESYNCHRONIZATIONOBJECT2CB        pfnCreateSynchronizationObject2Cb;
  PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECT2CB       pfnWaitForSynchronizationObject2Cb;
  PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECT2CB        pfnSignalSynchronizationObject2Cb;
  PFND3DDDI_PRESENTMULTIPLANEOVERLAYCB            pfnPresentMultiPlaneOverlayCb;
  PFND3DDDI_LOGUMDMARKERCB                        pfnLogUMDMarkerCb;
  PFND3DDDI_MAKERESIDENTCB                        pfnMakeResidentCb;
  PFND3DDDI_EVICTCB                               pfnEvictCb;
  PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECTFROMCPUCB pfnWaitForSynchronizationObjectFromCpuCb;
  PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTFROMCPUCB  pfnSignalSynchronizationObjectFromCpuCb;
  PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECTFROMGPUCB pfnWaitForSynchronizationObjectFromGpuCb;
  PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTFROMGPUCB  pfnSignalSynchronizationObjectFromGpuCb;
  PFND3DDDI_CREATEPAGINGQUEUECB                   pfnCreatePagingQueueCb;
  PFND3DDDI_DESTROYPAGINGQUEUECB                  pfnDestroyPagingQueueCb;
  PFND3DDDI_LOCK2CB                               pfnLock2Cb;
  PFND3DDDI_UNLOCK2CB                             pfnUnlock2Cb;
  PFND3DDDI_INVALIDATECACHECB                     pfnInvalidateCacheCb;
  PFND3DDDI_RESERVEGPUVIRTUALADDRESSCB            pfnReserveGpuVirtualAddressCb;
  PFND3DDDI_MAPGPUVIRTUALADDRESSCB                pfnMapGpuVirtualAddressCb;
  PFND3DDDI_FREEGPUVIRTUALADDRESSCB               pfnFreeGpuVirtualAddressCb;
  PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB             pfnUpdateGpuVirtualAddressCb;
  PFND3DDDI_CREATECONTEXTVIRTUALCB                pfnCreateContextVirtualCb;
  PFND3DDDI_SUBMITCOMMANDCB                       pfnSubmitCommandCb;
  PFND3DDDI_DEALLOCATE2CB                         pfnDeallocate2Cb;
  PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTFROMGPU2CB pfnSignalSynchronizationObjectFromGpu2Cb;
  PFND3DDDI_RECLAIMALLOCATIONS2CB                 pfnReclaimAllocations2Cb;
  PFND3DDDI_GETRESOURCEPRESENTPRIVATEDRIVERDATACB pfnGetResourcePresentPrivateDriverDataCb;
  PFND3DDDI_UPDATEALLOCATIONPROPERTYCB            pfnUpdateAllocationPropertyCb;
  PFND3DDDI_OFFERALLOCATIONS2CB                   pfnOfferAllocations2Cb;
  PFND3DDDI_RECLAIMALLOCATIONS3CB                 pfnReclaimAllocations3Cb;
  PFND3DDDI_SYNCTOKENCB                           pfnAcquireResourceCb;
  PFND3DDDI_SYNCTOKENCB                           pfnReleaseResourceCb;
  PFND3DDDI_CREATEHWCONTEXTCB                     pfnCreateHwContextCb;
  PFND3DDDI_DESTROYHWCONTEXTCB                    pfnDestroyHwContextCb;
  PFND3DDDI_CREATEHWQUEUECB                       pfnCreateHwQueueCb;
  PFND3DDDI_DESTROYHWQUEUECB                      pfnDestroyHwQueueCb;
  PFND3DDDI_SUBMITCOMMANDTOHWQUEUECB              pfnSubmitCommandToHwQueueCb;
  PFND3DDDI_SUBMITWAITFORSYNCOBJECTSTOHWQUEUECB   pfnSubmitWaitForSyncObjectsToHwQueueCb;
  PFND3DDDI_SUBMITSIGNALSYNCOBJECTSTOHWQUEUECB    pfnSubmitSignalSyncObjectsToHwQueueCb;
  PFND3DDDI_SUBMITPRESENTBLTTOHWQUEUECB           pfnSubmitPresentBltToHwQueueCb;
  PFND3DDDI_SUBMITPRESENTTOHWQUEUECB              pfnSubmitPresentToHwQueueCb;
  PFND3DDDI_SUBMITHISTORYSEQUENCECB               pfnSubmitHistorySequenceCb;
} D3DDDI_DEVICECALLBACKS;

メンバー

pfnAllocateCb

ユーザー モード ディスプレイ ドライバーがドライバーが使用するメモリ割り当てを Direct3D ランタイムに要求するために使用する pfnAllocateCb 関数へのポインター。

pfnDeallocateCb

ユーザー モード ディスプレイ ドライバーが、以前に割り当てられた Direct3D ランタイムの空きメモリを要求するために使用する pfnDeallocateCb 関数へのポインター。

pfnSetPriorityCb

ユーザー モード ディスプレイ ドライバーがリソースまたは割り当ての一覧の優先順位を設定するために使用する pfnSetPriorityCb 関数へのポインター。

pfnQueryResidencyCb

pfnQueryResidencyCb 関数へのポインター。ユーザー モード ディスプレイ ドライバーは、リソースまたは割り当ての一覧の所在地の状態を照会するために使用します。

pfnSetDisplayModeCb

ユーザー モード ディスプレイ ドライバーが表示の割り当てを設定するために使用する pfnSetDisplayModeCb 関数へのポインター。

pfnPresentCb

pfnPresentCb 関数へのポインター。ユーザー モードのディスプレイ ドライバーは、現在のコマンドをディスプレイ ミニポート ドライバーに送信するために使用します。

pfnRenderCb

ユーザー モードディスプレイ ドライバーがディスプレイ ミニポート ドライバーにコマンド バッファーを送信するために使用する pfnRenderCb 関数へのポインター。

pfnLockCb

ユーザー モードディスプレイ ドライバーがディスプレイ ミニポート ドライバーのロックを要求するために使用する pfnLockCb 関数へのポインター。 このロックは、ユーザー モードのディスプレイ ドライバーでは完全には処理できません。

pfnUnlockCb

ユーザー モードのディスプレイ ドライバーがロック解除のディスプレイ ミニポート ドライバーを呼び出すために使用する pfnUnlockCb 関数へのポインター。 このロック解除は、ユーザー モードのディスプレイ ドライバーでは完全には処理できません。

pfnEscapeCb

ユーザー モードディスプレイ ドライバーがディスプレイ ミニポート ドライバーと情報を共有するために使用する pfnEscapeCb 関数へのポインター。

pfnCreateOverlayCb

pfnCreateOverlayCb 関数へのポインター。ユーザー モード ディスプレイ ドライバーは、カーネル モード オーバーレイ オブジェクトを作成して表示するために使用します。

pfnUpdateOverlayCb

pfnUpdateOverlayCb 関数へのポインター。これは、ユーザー モードのディスプレイ ドライバーがカーネル モード オーバーレイ オブジェクトの変更に使用します。

pfnFlipOverlayCb

ユーザー モードディスプレイドライバーがオーバーレイに表示される割り当てを変更するために使用する pfnFlipOverlayCb 関数へのポインター。

pfnDestroyOverlayCb

pfnDestroyOverlayCb 関数へのポインター。ユーザー モード ディスプレイ ドライバーは、カーネル モードのオーバーレイ オブジェクトを破棄し、オーバーレイの表示を停止するために使用します。

pfnCreateContextCb

pfnCreateContextCb 関数へのポインター。ユーザー モード ディスプレイ ドライバーは、要求を送信するコンテキストを作成するために使用します。

pfnDestroyContextCb

pfnDestroyContextCb 関数へのポインター。ユーザー モードディスプレイ ドライバーは、pfnCreateContextCb が作成したコンテキストを破棄するために使用します。

pfnCreateSynchronizationObjectCb

ユーザー モード ディスプレイ ドライバーが同期オブジェクトの作成に使用する pfnCreateSynchronizationObjectCb 関数へのポインター。

pfnDestroySynchronizationObjectCb

pfnDestroySynchronizationObjectCb 関数へのポインター。ユーザー モードのディスプレイ ドライバーは、pfnCreateSynchronizationObjectCb が作成した同期オブジェクトを破棄するために使用します。

pfnWaitForSynchronizationObjectCb

pfnWaitForSynchronizationObjectCb 関数へのポインター。この関数は、ユーザー モードのディスプレイ ドライバーが同期イベントが発生するまで待機し、 を使用してを返します。

pfnSignalSynchronizationObjectCb

pfnSignalSynchronizationObjectCb 関数へのポインター。ユーザー モードのディスプレイ ドライバーは、同期イベントがコンテキストによって所有されなくなったことを通知するために使用します。

pfnSetAsyncCallbacksCb

ユーザー モード ディスプレイ ドライバーが、ランタイムがワーカー スレッドからランタイムのコールバック関数の呼び出しを開始するか停止するかを Direct3D ランタイムに通知するために使用する pfnSetAsyncCallbacksCb 関数へのポインター。

pfnSetAsyncCallbacksCb 関数をサポートするのは、DirectX 9 および Direct 9L バージョンのランタイムのみです。 DirectX 10 以降のバージョンのランタイムでは、ユーザー モード ディスプレイ ドライバーの CreateDevice(D3D10) 関数を呼び出してレンダリング デバイスを作成するときに、pfnSetAsyncCallbacksCb メンバーが NULL に設定されます。

pfnSetDisplayPrivateDriverFormatCb

ユーザー モード ディスプレイ ドライバーが共有プライマリ サーフェスの形式を変更するために使用する pfnSetDisplayPrivateDriverFormatCb 関数へのポインター。

pfnOfferAllocationsCb

pfnOfferAllocationsCb 関数へのポインター。WDDM 1.2 以降のユーザー モード ディスプレイ ドライバーが呼び出して、再利用のためのビデオ メモリ割り当てを提供します。

Windows 8 以降でサポートされています。

pfnReclaimAllocationsCb

WDDM 1.2 以降のユーザー モード ディスプレイ ドライバーが呼び出して、以前に再利用のために提供されていたビデオ メモリ割り当てへのアクセスを再利用する pfnReclaimAllocationsCb 関数へのポインター。

Windows 8 以降でサポートされています。

pfnCreateSynchronizationObject2Cb

WDDM 1.2 以降のユーザー モード ディスプレイ ドライバーが GPU 同期オブジェクトの作成に使用する pfnCreateSynchronizationObject2Cb 関数へのポインター。

Windows 8 以降でサポートされています。

pfnWaitForSynchronizationObject2Cb

WDDM 1.2 以降のユーザー モード ディスプレイ ドライバーが GPU 同期イベントの発生を待機し、 を使用してを返す pfnWaitForSynchronizationObject2Cb 関数へのポインター。

Windows 8 以降でサポートされています。

pfnSignalSynchronizationObject2Cb

WDDM 1.2 以降のユーザー モード ディスプレイ ドライバーが GPU 同期イベントがコンテキストによって所有されなくなったことを通知するために使用する pfnSignalSynchronizationObject2Cb 関数へのポインター。

Windows 8 以降でサポートされています。

pfnPresentMultiPlaneOverlayCb

WDDM 1.3 以降のユーザー モード ディスプレイ ドライバーがソース マルチプレーン オーバーレイ割り当てから宛先割り当てにコンテンツをコピーするために使用する pfnPresentMultiPlaneOverlayCb (D3D) 関数へのポインター。

Windows 8.1 以降でサポートされています。

pfnLogUMDMarkerCb

pfnLogUMDMarkerCb 関数へのポインター。WDDM 1.3 以降のユーザー モード ディスプレイ ドライバーが呼び出して、カスタム イベント トレーシング for Windows (ETW) マーカー イベントをログに記録します。

Windows 8.1 以降でサポートされています。

pfnMakeResidentCb

pfnMakeResidentCb 関数へのポインター。

pfnEvictCb

pfnEvictCb 関数へのポインター。

pfnWaitForSynchronizationObjectFromCpuCb

pfnWaitForSynchronizationObjectFromCpuCb 関数へのポインター。

pfnSignalSynchronizationObjectFromCpuCb

pfnSignalSynchronizationObjectFromCpuCb 関数へのポインター。

pfnWaitForSynchronizationObjectFromGpuCb

pfnWaitForSynchronizationObjectFromGpuCb 関数へのポインター。

pfnSignalSynchronizationObjectFromGpuCb

pfnSignalSynchronizationObjectFromGpuCb 関数へのポインター。

pfnCreatePagingQueueCb

pfnCreatePagingQueueCb 関数へのポインター。

pfnDestroyPagingQueueCb

pfnDestroyPagingQueueCb 関数へのポインター。

pfnLock2Cb

pfnLock2Cb 関数へのポインター。

pfnUnlock2Cb

pfnUnlock2Cb 関数へのポインター。

pfnInvalidateCacheCb

pfnInvalidateCacheCb 関数へのポインター。

pfnReserveGpuVirtualAddressCb

pfnReserveGpuVirtualAddressCb 関数へのポインター。

pfnMapGpuVirtualAddressCb

pfnMapGpuVirtualAddressCb 関数へのポインター。

pfnFreeGpuVirtualAddressCb

pfnFreeGpuVirtualAddressCb 関数へのポインター。

pfnUpdateGpuVirtualAddressCb

pfnUpdateGpuVirtualAddressCb 関数へのポインター。

pfnCreateContextVirtualCb

pfnCreateContextVirtualCb 関数へのポインター。

pfnSubmitCommandCb

pfnSubmitCommandCb 関数へのポインター。

pfnDeallocate2Cb

pfnDeallocate2Cb 関数へのポインター。

pfnSignalSynchronizationObjectFromGpu2Cb

pfnSignalSynchronizationObjectFromGpu2Cb 関数へのポインター。

pfnReclaimAllocations2Cb

pfnReclaimAllocations2Cb 関数へのポインター。

pfnGetResourcePresentPrivateDriverDataCb

pfnGetResourcePresentPrivateDriverDataCb 関数へのポインター。

pfnUpdateAllocationPropertyCb

pfnUpdateAllocationPropertyCb 関数へのポインター。

pfnOfferAllocations2Cb

pfnOfferAllocations2Cb 関数へのポインター。

pfnReclaimAllocations3Cb

pfnReclaimAllocations3Cb 関数へのポインター。

pfnAcquireResourceCb

pfnReleaseResourceCb

pfnCreateHwContextCb

PFND3DDDI_CREATEHWCONTEXTCBコールバック関数へのポインター。

pfnDestroyHwContextCb

PFND3DDDI_DESTROYHWCONTEXTCBコールバック関数へのポインター。

pfnCreateHwQueueCb

PFND3DDDI_CREATEHWQUEUECBコールバック関数へのポインター。

pfnDestroyHwQueueCb

PFND3DDDI_DESTROYHWQUEUECBコールバック関数へのポインター。

pfnSubmitCommandToHwQueueCb

PFND3DDDI_SUBMITCOMMANDTOHWQUEUECBコールバック関数へのポインター。

pfnSubmitWaitForSyncObjectsToHwQueueCb

PFND3DDDI_SUBMITWAITFORSYNCOBJECTSTOHWQUEUECBコールバック関数へのポインター。

pfnSubmitSignalSyncObjectsToHwQueueCb

PFND3DDDI_SUBMITSIGNALSYNCOBJECTSTOHWQUEUECBコールバック関数へのポインター。

pfnSubmitPresentBltToHwQueueCb

PFND3DDDI_SUBMITPRESENTBLTTOHWQUEUECBコールバック関数へのポインター。

pfnSubmitPresentToHwQueueCb

PFND3DDDI_SUBMITPRESENTTOHWQUEUECBコールバック関数へのポインター。

pfnSubmitHistorySequenceCb

PFND3DDDI_SUBMITHISTORYSEQUENCECBコールバック関数へのポインター。

注釈

メンバーが指D3DDDI_DEVICECALLBACKSコールバック関数の宣言は、d3dumddi.h にあります。

要件

要件
サポートされている最小のクライアント Windows Vista
Header d3dumddi.h (D3dumddi.h を含む)