Развернуть Свернуть

D3DKMTCreateContext function

The D3DKMTCreateContext function creates a kernel-mode device context.

Syntax


NTSTATUS D3DKMTCreateContext(
  _Inout_  D3DKMT_CREATECONTEXT *pData
);

Parameters

pData [in, out]

A pointer to a D3DKMT_CREATECONTEXT structure that describes the kernel-mode device context.

Return value

D3DKMTCreateContext returns one of the following values:

Return codeDescription
STATUS_SUCCESS

The device context was successfully created.

STATUS_DEVICE_REMOVED

The graphics adapter was stopped or the display device was reset.

STATUS_INVALID_PARAMETER

Parameters were validated and determined to be incorrect.

STATUS_NO_MEMORY

D3DKMTCreateContext could not complete because of insufficient memory.

 

This function might also return other NTSTATUS values.

Examples

The following code example demonstrates how an OpenGL ICD can use D3DKMTCreateContext to create a kernel-mode device context.


HRESULT CreateContext(HANDLE hDevice, UINT NodeOrdinal, HANDLE* hContext, VOID** ppCommandBuffer, UINT* pCommandBufferSize, D3DDDI_ALLOCATIONLIST** ppAllocationList, UINT* pAllocationListSize, D3DDDI_PATCHLOCATIONLIST* ppPatchLocationList, UINT* PatchLocationListSize)
{
    D3DKMT_CREATECONTEXT CreateContext;

    memset(&CreateContext, 0, sizeof(CreateContext));
    CreateContext.hDevice = hDevice;
    CreateContext.NodeOrdinal = NodeOrdinal;

    if (NT_SUCCESS((*pfnKTCreateContext)(&CreateContext)))
    {
        *hContext = CreateContext.hContext;
        *ppCommandBuffer = CreateContext.pCommandBuffer;
        *pCommandBufferSize = CreateContext.CommandBufferSize;
        *ppAllocationList = CreateContext.pAllocationList;
        *pAllocationListSize = CreateContext.AllocationListSize;
        *ppPatchLocationList = CreateContext.pPatchLocationList;
        *pPatchLocationListSize = CreateContext.PatchLocationListSize;
        return S_OK;
    }
    return E_FAIL;
}

Requirements

Version

Available in Windows Vista and later versions of the Windows operating systems.

Header

D3dkmthk.h (include D3dkmthk.h)

Library

Gdi32.lib

See also

D3DKMT_CREATECONTEXT

 

 

Send comments about this topic to Microsoft

Показ:
© 2014 Microsoft