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 を含む) |