UID | title | description | old-location | tech.root | ms.date | keywords | ms.keywords | req.header | req.include-header | req.target-type | req.target-min-winverclnt | req.target-min-winversvr | req.kmdf-ver | req.umdf-ver | req.ddi-compliance | req.unicode-ansi | req.idl | req.max-support | req.namespace | req.assembly | req.type-library | req.lib | req.dll | req.irql | targetos | req.typenames | f1_keywords | topic_type | api_type | api_location | api_name | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NF:dispmprt.DxgkInitialize |
DxgkInitialize function (dispmprt.h) |
The DxgkInitialize function loads and initializes the DirectX graphics kernel subsystem (Dxgkrnl.sys). |
display\dxgkinitialize.htm |
display |
05/10/2018 |
|
DpFunctions_a3ffc7d5-f2bc-42f0-97f3-411bfe7b95e7.xml, DxgkInitialize, DxgkInitialize function [Display Devices], display.dxgkinitialize, dispmprt/DxgkInitialize |
dispmprt.h |
Dispmprt.h |
Desktop |
Available in Windows Vista and later versions of the Windows operating systems. |
PASSIVE_LEVEL |
Windows |
|
|
|
|
|
The DxgkInitialize function loads and initializes the DirectX graphics kernel subsystem (Dxgkrnl.sys).
A pointer to a DRIVER_OBJECT structure. The display miniport driver previously obtained this pointer in its DriverEntry function.
A pointer to a UNICODE_STRING structure that supplies the path to the driver's service registry key. The display miniport driver previously obtained this pointer in its DRIVER_OBJECT function.
A pointer to a DRIVER_INITIALIZATION_DATA structure that supplies the DirectX graphics kernel subsystem with pointers to functions implemented by the display miniport driver.
DxgkInitializereturns STATUS_SUCCESS if it succeeds; otherwise, it returns one of the error codes defined in Ntstatus.h.
The display miniport driver's DriverEntry function calls DxgkInitialize.
The following code example shows an implementation of DriverEntry in which DxgkInitialize is called.
NTSTATUS
DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
)
{
DRIVER_INITIALIZATION_DATA DriverInitializationData = {'\0'};
PAGED_CODE();
if (! ARGUMENT_PRESENT(DriverObject) ||
! ARGUMENT_PRESENT(RegistryPath))
{
return STATUS_INVALID_PARAMETER;
}
// Fill in the DriverInitializationData structure and call DxgkInitialize()
DriverInitializationData.Version = DXGKDDI_INTERFACE_VERSION;
DriverInitializationData.DxgkDdiAddDevice = AtiAddDevice;
DriverInitializationData.DxgkDdiStartDevice = AtiStartDevice;
DriverInitializationData.DxgkDdiStopDevice = AtiStopDevice;
DriverInitializationData.DxgkDdiRemoveDevice = AtiRemoveDevice;
DriverInitializationData.DxgkDdiDispatchIoRequest = AtiDispatchIoRequest;
DriverInitializationData.DxgkDdiInterruptRoutine = AtiInterruptRoutine;
DriverInitializationData.DxgkDdiDpcRoutine = AtiDpcRoutine;
DriverInitializationData.DxgkDdiQueryChildRelations = AtiQueryChildRelations;
DriverInitializationData.DxgkDdiQueryChildStatus = AtiQueryChildStatus;
DriverInitializationData.DxgkDdiQueryDeviceDescriptor = AtiQueryDeviceDescriptor;
DriverInitializationData.DxgkDdiSetPowerState = AtiSetPowerState;
DriverInitializationData.DxgkDdiNotifyAcpiEvent = AtiNotifyAcpiEvent;
DriverInitializationData.DxgkDdiResetDevice = AtiResetDevice;
DriverInitializationData.DxgkDdiUnload = AtiUnload;
DriverInitializationData.DxgkDdiQueryInterface = AtiQueryInterface;
DriverInitializationData.DxgkDdiControlEtwLogging = D3DDDIControlEtwLogging;
DriverInitializationData.DxgkDdiQueryAdapterInfo = D3DDDIQueryAdapterInfo;
DriverInitializationData.DxgkDdiCreateDevice = D3DDDICreateDevice;
DriverInitializationData.DxgkDdiCreateAllocation = D3DDDICreateAllocation;
DriverInitializationData.DxgkDdiDestroyAllocation = D3DDDIDestroyAllocation;
DriverInitializationData.DxgkDdiCreateOverlay = D3DDDICreateOverlay;
DriverInitializationData.DxgkDdiUpdateOverlay = D3DDDIUpdateOverlay;
DriverInitializationData.DxgkDdiFlipOverlay = D3DDDIFlipOverlay;
DriverInitializationData.DxgkDdiDestroyOverlay = D3DDDIDestroyOverlay;
DriverInitializationData.DxgkDdiDescribeAllocation = D3DDDIDescribeAllocation;
DriverInitializationData.DxgkDdiGetStandardAllocationDriverData = D3DDDIGetStandardAllocationDriverData;
DriverInitializationData.DxgkDdiAcquireSwizzlingRange = D3DDDIAcquireSwizzlingRange;
DriverInitializationData.DxgkDdiReleaseSwizzlingRange = D3DDDIReleaseSwizzlingRange;
DriverInitializationData.DxgkDdiOpenAllocation = D3DDDIOpenAllocation;
DriverInitializationData.DxgkDdiCloseAllocation = D3DDDICloseAllocation;
DriverInitializationData.DxgkDdiPatch = D3DDDIPatchDmaBuffer;
DriverInitializationData.DxgkDdiSubmitCommand = D3DDDISubmitCommand;
DriverInitializationData.DxgkDdiBuildPagingBuffer = D3DDDIBuildPagingBuffer;
DriverInitializationData.DxgkDdiSetPalette = D3DDDISetPalette;
DriverInitializationData.DxgkDdiSetPointerShape = D3DDDISetPointerShape;
DriverInitializationData.DxgkDdiSetPointerPosition = D3DDDISetPointerPosition;
DriverInitializationData.DxgkDdiPreemptCommand = D3DDDIPreemptCommand;
DriverInitializationData.DxgkDdiDestroyDevice = D3DDDIDestroyDevice;
DriverInitializationData.DxgkDdiRender = D3DDDIRender;
DriverInitializationData.DxgkDdiRenderKm = D3DDDIRenderKm; DriverInitializationData.DxgkDdiPresent = D3DDDIPresent;
DriverInitializationData.DxgkDdiResetFromTimeout = D3DDDIResetFromTimeout;
DriverInitializationData.DxgkDdiRestartFromTimeout = D3DDDIRestartFromTimeout;
DriverInitializationData.DxgkDdiEscape = D3DDDIEscape;
DriverInitializationData.DxgkDdiCollectDbgInfo = D3DDDICollectDbgInfo;
DriverInitializationData.DxgkDdiQueryCurrentFence = D3DDDIQueryCurrentFence;
DriverInitializationData.DxgkDdiControlInterrupt = D3DDDIControlInterrupt;
DriverInitializationData.DxgkDdiGetScanLine = D3DDDIGetScanLine;
DriverInitializationData.DxgkDdiStopCapture = D3DDDI DxgkDdiStopCapture; DriverInitializationData.DxgkDdiSetVidPnSourceAddress = D3DDDISetVidPnSourceAddress;
DriverInitializationData.DxgkDdiSetVidPnSourceVisibility = D3DDDISetVidPnSourceVisibility;
DriverInitializationData.DxgkDdiUpdateActiveVidPnPresentPath = D3DDDIUpdateActiveVidPnPresentPath;
DriverInitializationData.DxgkDdiCommitVidPn = D3DDDICommitVidPn;
DriverInitializationData.DxgkDdiRecommendMonitorModes = D3DDDIRecommendMonitorModes;
DriverInitializationData.DxgkDdiRecommendVidPnTopology = D3DDDIRecommendVidPnTopology;
DriverInitializationData.DxgkDdiCreateContext = D3DDDICreateContext;
DriverInitializationData.DxgkDdiDestroyContext = D3DDDIDestroyContext;
DriverInitializationData.DxgkDdiLinkDevice = D3DDDILinkDevice;
DriverInitializationData.DxgkDdiSetDisplayPrivateDriverFormat = D3DDDISetDisplayPrivateDriverFormat;
DriverInitializationData.DxgkDdiRecommendFunctionalVidPn = D3DDDIRecommendFunctionalVidPn_XddmParity;
DriverInitializationData.DxgkDdiEnumVidPnCofuncModality = D3DDDIEnumVidPnCofuncModality_XddmParity;
DriverInitializationData.DxgkDdiIsSupportedVidPn = D3DDDIIsSupportedVidPn_XddmParity;
DriverInitializationData.DxgkDdiQueryVidPnHWCapability = D3DDDI DxgkDdiQueryVidPnHWCapability;
return DxgkInitialize(DriverObject,
RegistryPath,
&DriverInitializationData);
}