DirectX グラフィックスカーネルサブシステム (Dxgkrnl)DirectX Graphics Kernel Subsystem (Dxgkrnl.sys)

このトピックでは、Windows オペレーティングシステムが Microsoft DirectX graphics カーネルサブシステム (Dxgkrnl) を介して実装するカーネルモードインターフェイスについて説明します。This topic outlines kernel-mode interfaces that the Windows operating system implements through the Microsoft DirectX graphics kernel subsystem (Dxgkrnl.sys).

ディスプレイポートドライバーは、DirectX グラフィックスカーネルサブシステム (Dxgkrnl) の1つの部分です。The display port driver is one portion of the DirectX graphics kernel subsystem (Dxgkrnl.sys). ディスプレイミニポートドライバーは、ディスプレイアダプターのベンダによって実装されます。The display miniport driver is implemented by the display adapter vendor. DirectX グラフィックスカーネルサブシステムによって実装される他の関数の説明については、次のトピックを参照してください。For descriptions of other functions implemented by the DirectX graphics kernel subsystem, see the following topics:

VidPN オブジェクトとインターフェイスVidPN Objects and Interfaces

パスに依存しないローテーションのサポートSupporting Path-Independent Rotation

追加のモニターターゲットモードの取得Obtaining Additional Monitor Target Modes

ディスプレイミニポートドライバーによって実装される関数の説明については、「ディスプレイミニポートドライバーによって実装されるカーネルモードインターフェイス」を参照してください。For descriptions of functions implemented by the display miniport driver, see Kernel-Mode Interfaces Implemented By the Display Miniport Driver.

Dxgkrnl インターフェイスDxgkrnl Interface

DirectX グラフィックスカーネルサブシステム (Dxgkrnl) は、 DXGKRNL_INTERFACE構造体をディスプレイミニポートドライバーに渡すことによって、次の表の関数へのポインターを表示するミニポートドライバーを提供します。DxgkDdiStartDevice関数。The DirectX graphics kernel subsystem (Dxgkrnl.sys) provides the display miniport driver with pointers to the functions in the following table by passing a DXGKRNL_INTERFACE structure to the display miniport driver's DxgkDdiStartDevice function. DXGKRNL_INTERFACE 構造体には、特定のディスプレイアダプターに対して (ディスプレイポートドライバーによって生成される) ハンドルも含まれています。The DXGKRNL_INTERFACE structure also contains a handle (generated by the display port driver) to a particular display adapter. 表示ミニポートドライバーは、DXGKRNL_INTERFACE 内の関数のいずれかを呼び出すたびに、そのハンドルを引数として渡します。The display miniport driver passes that handle as an argument each time it calls any of the functions in DXGKRNL_INTERFACE.

DxgkrnlDxgkrnl.sys
DxgkInitializeDxgkInitialize DxgkInitializeDisplayOnlyDriver (カーネルモードの表示専用ドライバーによってのみ呼び出されます) (DXGKDDI_INTERFACE_VERSION > = DXGKDDI_INTERFACE_VERSION_WIN8)DxgkInitializeDisplayOnlyDriver (Only called by kernel mode display-only drivers) (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
DxgkCbAcquirePostDisplayOwnership (DXGKDDI_INTERFACE_VERSION > = DXGKDDI_INTERFACE_VERSION_WIN8)DxgkCbAcquirePostDisplayOwnership (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8) DxgkCbCompleteFStateTransition (DXGKDDI_INTERFACE_VERSION > = DXGKDDI_INTERFACE_VERSION_WIN8)DxgkCbCompleteFStateTransition (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
DxgkCbCreateContextAllocation (DXGKDDI_INTERFACE_VERSION > = DXGKDDI_INTERFACE_VERSION_WIN8)DxgkCbCreateContextAllocation (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8) DxgkCbDestroyContextAllocation (DXGKDDI_INTERFACE_VERSION > = DXGKDDI_INTERFACE_VERSION_WIN8)DxgkCbDestroyContextAllocation (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
DxgkCbEnumHandleChildrenDxgkCbEnumHandleChildren DxgkCbEvalAcpiMethodDxgkCbEvalAcpiMethod
DxgkCbExcludeAdapterAccessDxgkCbExcludeAdapterAccess DxgkCbGetCaptureAddressDxgkCbGetCaptureAddress
DxgkCbGetDeviceInformationDxgkCbGetDeviceInformation DxgkCbGetHandleDataDxgkCbGetHandleData
DxgkCbGetHandleParentDxgkCbGetHandleParent DxgkCbIndicateChildStatusDxgkCbIndicateChildStatus
DxgkCbIsDevicePresentDxgkCbIsDevicePresent DxgkCbLogEtwEventDxgkCbLogEtwEvent
DxgkCbMapMemoryDxgkCbMapMemory DxgkCbNotifyDpcDxgkCbNotifyDpc
DxgkCbNotifyInterruptDxgkCbNotifyInterrupt DxgkCbPowerRuntimeControlRequest (DXGKDDI_INTERFACE_VERSION > = DXGKDDI_INTERFACE_VERSION_WIN8)DxgkCbPowerRuntimeControlRequest (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
Dxgkcbdisplayonlyprogress (カーネルモードの表示専用ドライバーによってのみ呼び出されます) (DXGKDDI_INTERFACE_VERSION > = DXGKDDI_INTERFACE_VERSION_WIN8)DxgkCbPresentDisplayOnlyProgress (Only called by kernel mode display-only drivers) (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8) DxgkCbQueryMonitorInterfaceDxgkCbQueryMonitorInterface
DxgkCbQueryServicesDxgkCbQueryServices DxgkCbQueryVidPnInterfaceDxgkCbQueryVidPnInterface
DxgkCbQueueDpcDxgkCbQueueDpc DxgkCbReadDeviceSpaceDxgkCbReadDeviceSpace
DxgkCbSetPowerComponentActive (DXGKDDI_INTERFACE_VERSION > = DXGKDDI_INTERFACE_VERSION_WIN8)DxgkCbSetPowerComponentActive (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8) DxgkCbSetPowerComponentIdle (DXGKDDI_INTERFACE_VERSION > = DXGKDDI_INTERFACE_VERSION_WIN8)DxgkCbSetPowerComponentIdle (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
DxgkCbSetPowerComponentLatency (DXGKDDI_INTERFACE_VERSION > = DXGKDDI_INTERFACE_VERSION_WIN8)DxgkCbSetPowerComponentLatency (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8) DxgkCbSetPowerComponentResidency (DXGKDDI_INTERFACE_VERSION > = DXGKDDI_INTERFACE_VERSION_WIN8)DxgkCbSetPowerComponentResidency (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
DxgkCbSynchronizeExecutionDxgkCbSynchronizeExecution DxgkCbUnmapMemoryDxgkCbUnmapMemory
DxgkCbWriteDeviceSpaceDxgkCbWriteDeviceSpace DxgkCbIsDevicePresentDxgkCbIsDevicePresent
DxgkCbGetHandleDataDxgkCbGetHandleData DxgkCbGetHandleParentDxgkCbGetHandleParent
DxgkCbEnumHandleChildrenDxgkCbEnumHandleChildren DxgkCbNotifyInterruptDxgkCbNotifyInterrupt
DxgkCbNotifyDpcDxgkCbNotifyDpc DxgkCbQueryVidPnInterfaceDxgkCbQueryVidPnInterface
DxgkCbQueryMonitorInterfaceDxgkCbQueryMonitorInterface DxgkCbGetCaptureAddressDxgkCbGetCaptureAddress
DxgkCbLogEtwEventDxgkCbLogEtwEvent DxgkCbExcludeAdapterAccessDxgkCbExcludeAdapterAccess
DxgkCbCreateContextAllocationDxgkCbCreateContextAllocation DxgkCbDestroyContextAllocationDxgkCbDestroyContextAllocation
DxgkCbSetPowerComponentActiveDxgkCbSetPowerComponentActive DxgkCbSetPowerComponentIdleDxgkCbSetPowerComponentIdle
DxgkCbPowerRuntimeControlRequestDxgkCbPowerRuntimeControlRequest

AGP インターフェイスAGP Interface

次の関数はオペレーティングシステムによって実装され、AGP (Accelerated Graphics Port) をサポートするためにディスプレイミニポートドライバーによって呼び出されます。The following functions are implemented by the operating system and called by the display miniport driver to support AGP (accelerated graphics port). 表示ミニポートドライバーは、DXGKDXGK_SERVICES の列挙型からDxgkcbqueryservices関数のservicestypeパラメーターに Dxgkサービスの agp 値を渡すことによって、これらの関数へのポインターを取得します。The display miniport driver obtains pointers to these functions by passing the DxgkServicesAgp value from the DXGK_SERVICES enumeration type to the ServicesType parameter of the DxgkCbQueryServices function.

AGP 関数AGP Functions
AgpAllocatePoolAgpAllocatePool
AgpFreePoolAgpFreePool
AgpSetCommandAgpSetCommand

デバッグレポートインターフェイスDebug Report Interface

表示ミニポートドライバーは、 DXGKDXGK_SERVICESの列挙型の値をDxgkservicesdebugreport関数のservicestypeパラメーターに渡すことによって、次の関数へのポインターを取得します。The display miniport driver obtains pointers to the following functions by passing the DxgkServicesDebugReport value from the DXGK_SERVICES enumeration type to the ServicesType parameter of the DxgkCbQueryServices function. これらの関数には、 _DXGK_DEBUG_REPORT_INTERFACE構造体を使用してアクセスします。These functions are accessed through the _DXGK_DEBUG_REPORT_INTERFACE structure.

レポート関数のデバッグDebug Report Functions
DbgReportCompleteDbgReportComplete
DbgReportCreateDbgReportCreate
DbgReportSecondaryDataDbgReportSecondaryData

時間指定操作インターフェイスTimed Operation Interface

表示ミニポートドライバーは、DXGK_SERVICES 列挙型のDxgkServicesTimedOperation値をDxgkcbqueryservices関数のservicestypeパラメーターに渡すことによって、次の関数へのポインターを取得します.The display miniport driver obtains pointers to the following functions by passing the DxgkServicesTimedOperation value from the DXGK_SERVICES enumeration type to the ServicesType parameter of the DxgkCbQueryServices function. DxgkCbQueryServices は、 DXGK_TIMED_OPERATION_INTERFACE構造体のメンバーの前のリストに含まれている関数へのポインターを返します。表示ミニポートドライバーは、DxgkCbQueryServices のINTERFACEパラメーターに DXGK_TIMED_OPERATION_INTERFACE へのポインターを提供します。DxgkCbQueryServices returns pointers to the functions in the preceding list in members of the DXGK_TIMED_OPERATION_INTERFACE structure; the display miniport driver supplies a pointer to DXGK_TIMED_OPERATION_INTERFACE to the Interface parameter of DxgkCbQueryServices.

時間指定操作関数Timed Operation Functions
TimedOperationStartTimedOperationStart
TimedOperationDelayTimedOperationDelay
TimedOperationWaitForSingleObjectTimedOperationWaitForSingleObject

関連項目See also

Windows Display Driver Model (WDDM) アーキテクチャWindows Display Driver Model (WDDM) Architecture

ミニポートドライバーの表示を初期化していますInitializing the Display Miniport Driver