Freigeben über


PFND3DDDI_PRESENTCB Rückruffunktion (d3dumddi.h)

Die pfnPresentCb-Funktion kopiert Inhalte aus einer Quellzuordnung.

Syntax

PFND3DDDI_PRESENTCB Pfnd3dddiPresentcb;

HRESULT Pfnd3dddiPresentcb(
  HANDLE hDevice,
  D3DDDICB_PRESENT *unnamedParam2
)
{...}

Parameter

hDevice

Ein Handle für ein Anzeigegerät (Grafikkontext).

unnamedParam2

pData [in]

Ein Zeiger auf eine D3DDDICB_PRESENT Struktur, die die Quellzuordnung beschreibt, aus der Inhalte kopiert werden.

Rückgabewert

pfnPresentCb gibt einen der folgenden Werte zurück:

Rückgabecode Beschreibung
S_OK Der Inhalt wurde erfolgreich kopiert.
E_OUTOFMEMORY pfnPresentCb konnte aufgrund von unzureichendem Arbeitsspeicher nicht abgeschlossen werden.
E_INVALIDARG Parameter wurden überprüft und als falsch ermittelt.

Diese Funktion kann auch andere HRESULT-Werte zurückgeben.

Hinweise

Der Benutzermodusanzeigetreiber legt das hContext-Element der D3DDDICB_PRESENT-Struktur fest, auf die vom pData-Parameter auf einen Kontext verwiesen wird, den er zuvor durch Aufrufen der PfnCreateContextCb-Funktion erstellt hat. Der Benutzermodusanzeigetreiber muss mindestens einen Kontext erstellen, wenn die Microsoft Direct3D-Runtime die CreateDevice - oder CreateDevice(D3D10) -Funktion des Treibers aufruft, um ein Gerät zu erstellen. Die Direct3D-Runtime sendet den vorliegenden Vorgang an einen erstellten Kontext.

Direct3D Version 11 Hinweis: Weitere Informationen dazu, wie der Treiber pfnPresentCb aufruft, finden Sie unter Änderungen von Direct3D 10.

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie eine Zieloberfläche farbbefüllt wird.

    HRESULT hr=S_OK;
    // A color-fill request that does not have a source surface
    D3DDDICB_PRESENT    PresentCBData = {0};

    PresentCBData.hContext = m_sContexts[MULTI_ENGINE_NODE_3D].hContext;
    PresentCBData.hSrcAllocation = NULL;

    if (pPresent->hDstResource) {
        DWORD   dwDstSurf = ((DWORD)(DWORD_PTR)pPresent->hDstResource) + pPresent->DstSubResourceIndex;
        _ASSERT(dwDstSurf < m_RTbl.Size());
        m_RTbl[dwDstSurf].m_qwBatch = m_qwBatch;
        PresentCBData.hDstAllocation = R200GetSurfaceAllocHandle(m_pR200Ctx, dwDstSurf);
    }

    hr = m_d3dCallbacks.pfnPresentCb(m_hD3D, &PresentCBData);

    return hr;

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.
Zielplattform Desktop
Kopfzeile d3dumddi.h (include D3dumddi.h)

Weitere Informationen

CreateDevice

CreateDevice(D3D10)

D3DDDICB_PRESENT

D3DDDI_DEVICECALLBACKS

pfnCreateContextCb