Freigeben über


DXGKDDI_VIDPN_ASSIGNTARGETMODESET Rückruffunktion (d3dkmddi.h)

Die pfnAssignTargetModeSet--Funktion weist einem bestimmten Zielmodus in einem angegebenen VidPN einen bestimmten Zielmodus zu.

Syntax

DXGKDDI_VIDPN_ASSIGNTARGETMODESET DxgkddiVidpnAssigntargetmodeset;

NTSTATUS DxgkddiVidpnAssigntargetmodeset(
  [in] IN_D3DKMDT_HVIDPN hVidPn,
  [in] IN_CONST_D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
  [in] IN_CONST_D3DKMDT_HVIDPNTARGETMODESET hVidPnTargetModeSet
)
{...}

Parameter

[in] hVidPn

Ein Handle zu einem VidPN-Objekt. Der VidPN-Manager hat diesem Handle zuvor den Miniporttreiber angezeigt, indem er DxgkDdiEnumVidPnCofuncModality oder DxgkDdiRecommendFunctionalVidPnaufruft.

[in] VidPnTargetId

Eine ganze Zahl, die eines der Videoobjekte identifiziert, die dem VidPN-Objekt zugeordnet sind.

[in] hVidPnTargetModeSet

Ein Handle für das Zielmodussatzobjekt, das dem von VidPnTargetIdidentifizierten Ziel zugewiesen werden soll. Der Display-Miniporttreiber hat dieses Handle zuvor durch Aufrufen von pfnCreateNewTargetModeSetabgerufen.

Rückgabewert

Die pfnAssignTargetModeSet Funktion gibt einen der folgenden Werte zurück:

Rückgabecode Beschreibung
STATUS_SUCCESS Die Funktion war erfolgreich.
STATUS_GRAPHICS_INVALID_VIDPN Der in hVidPn bereitgestellte Handle war ungültig.
STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET Der in VidPnTargetId angegebene Bezeichner war ungültig.
STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET Das in hVidPnTargetModeSet bereitgestellte Handle war ungültig.
STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET Der Zielmodus, den Sie zuweisen möchten, enthält nicht den Modus, der bereits an das Ziel angeheftet wurde.

Bemerkungen

VidPN-Ziel-IDs werden vom Anzeigeminiporttreiber zugewiesen. DxgkDdiQueryChildRelations, implementiert vom Display Miniport-Treiber, gibt ein Array von DXGK_CHILD_DESCRIPTOR Strukturen zurück, die jeweils einen Bezeichner enthalten.

Wenn Sie ein Handle durch Aufrufen von pfnCreateNewTargetModeSet abrufen und dann dieses Handle an pfnAssignTargetModeSetübergeben, müssen Sie das Handle nicht freigeben, indem Sie pfnReleaseTargetModeSetaufrufen.

Wenn Sie ein Handle durch Aufrufen pfnCreateNewTargetModeSet abrufen und sich dann entscheiden, den neuen Zielmodus einem Ziel nicht zuzuweisen, müssen Sie das neu abgerufene Handle freigeben, indem Sie pfnReleaseTargetModeSetaufrufen.

Hinweis Der pfnAssignTargetModeSet Funktionsfreigaben oder gibt das vom hVidPnTargetModeSet Parameter identifizierte Zielmodussatzobjekt nicht frei, je nachdem, warum pfnAssignTargetModeSet fehlschlägt.

pfnAssignTargetModeSet gibt das Zielmodussatzobjekt nicht frei, wenn pfnAssignTargetModeSet mit einem ungültigen Eingabeparameter fehlschlägt (d. h. schlägt mit dem STATUS_GRAPHICS_INVALID_VIDPN, STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET oder STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET Fehlercode fehl), da die angegebenen Parameter für das Betriebssystem nicht ausreichen, um zu bestimmen, welches Modus-Setobjekt freigegeben werden soll. Solche ungültigen Parametersituationen deuten auf einen groben Codierungsfehler im Treiber hin. Sie können diesen Fehler beheben, indem Sie das richtige VidPN-Handle, den Zielbezeichner oder das VidPN-Zielmodus-Set-Handle angeben.

pfnAssignTargetModeSet gibt das Zielmodussatzobjekt frei, nachdem alle Eingabeparameter erfolgreich überprüft wurden, wenn pfnAssignTargetModeSet aus einem der folgenden Gründe fehlschlägt:

  • Der Zielmodussatz ist leer.
  • Der Zielmodussatz enthält keinen Modus, der im vorherigen Modus festgelegt ist, sofern vorhanden.
  • Der Zielmodussatz wurde für das Ziel nicht erstellt, das durch VidPnTargetIdidentifiziert wird.
 
Der D3DDDI_VIDEO_PRESENT_TARGET_ID Datentyp wird in D3dukmdt.hdefiniert.

Die Datentypen D3DKMDT_HVIDPN und D3DKMDT_HVIDPNTARGETMODESET werden in D3dkmdt.hdefiniert.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista
Zielplattform- Desktop
Header- d3dkmddi.h (einschließlich D3dkmddi.h)
IRQL- PASSIVE_LEVEL

Siehe auch

VidPN-Zielmodus-

pfnCreateNewTargetModeSet