DXGKDDI_VIDPN_ASSIGNTARGETMODESET Rückruffunktion (d3dkmddi.h)

Die pfnAssignTargetModeSet-Funktion weist einem bestimmten Ziel in einem angegebenen VidPN einen 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 für ein VidPN-Objekt. Der VidPN-Manager hat dieses Handle zuvor für den Anzeigeminiporttreiber bereitgestellt, indem er DxgkDdiEnumVidPnCofuncModality oder DxgkDdiRecommendFunctionalVidPn aufgerufen hat.

[in] VidPnTargetId

Eine ganze Zahl, die eines der dem VidPN-Objekt zugeordneten Videoziele identifiziert.

[in] hVidPnTargetModeSet

Ein Handle für das Zielmodus-Setobjekt, das dem von VidPnTargetId identifizierten Ziel zugewiesen werden soll. Der Anzeigeminiporttreiber hat dieses Handle zuvor durch Aufrufen von pfnCreateNewTargetModeSet abgerufen.

Rückgabewert

Die PfnAssignTargetModeSet-Funktion gibt einen der folgenden Werte zurück:

Rückgabecode Beschreibung
STATUS_SUCCESS Die Funktion wurde erfolgreich ausgeführt.
STATUS_GRAPHICS_INVALID_VIDPN Das in hVidPn angegebene 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 angegebene Handle war ungültig.
STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET Der Zielmodussatz, den Sie zuweisen möchten, enthält nicht den Modus, der bereits an das Ziel angeheftet wurde.

Hinweise

VidPN-Zielbezeichner werden vom Anzeigeminiporttreiber zugewiesen. DxgkDdiQueryChildRelations, das vom Anzeigeminiporttreiber implementiert wird, gibt ein Array von DXGK_CHILD_DESCRIPTOR Strukturen zurück, die jeweils einen Bezeichner enthalten.

Wenn Sie ein Handle abrufen, indem Sie pfnCreateNewTargetModeSet aufrufen und dieses Handle dann an pfnAssignTargetModeSet übergeben, müssen Sie das Handle nicht freigeben, indem Sie pfnReleaseTargetModeSet aufrufen.

Wenn Sie ein Handle erhalten, indem Sie pfnCreateNewTargetModeSet aufrufen und dann entscheiden, den neuen Zielmodus einem Ziel nicht zuzuweisen, müssen Sie das neu abgerufene Handle freigeben, indem Sie pfnReleaseTargetModeSet aufrufen.

Hinweis Die pfnAssignTargetModeSet-Funktion gibt das Zielmodussatzobjekt, das vom hVidPnTargetModeSet-Parameter identifiziert wird, abhängig von dem Grund frei, aus dem pfnAssignTargetModeSet fehlschlägt.

pfnAssignTargetModeSet gibt das Zielmodussatzobjekt nicht frei, wenn pfnAssignTargetModeSet mit einem ungültigen Eingabeparameter fehlschlägt (d. h. fehlert mit dem STATUS_GRAPHICS_INVALID_VIDPN, STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET oder STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET Fehlercode), da die angegebenen Parameter für das Betriebssystem nicht ausreichten, um zu bestimmen, welches Modussatzobjekt freigegeben werden soll. Solche ungültigen Parametersituationen weisen 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-Sethandle 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 Modussatz angeheftet ist, sofern vorhanden.
  • Der Zielmodussatz wurde nicht für das Von VidPnTargetId identifizierte Ziel erstellt.
 
Der D3DDDI_VIDEO_PRESENT_TARGET_ID Datentyp ist in D3dukmdt.h definiert.

Die Datentypen D3DKMDT_HVIDPN und D3DKMDT_HVIDPNTARGETMODESET werden in D3dkmdt.h definiert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Zielplattform Desktop
Kopfzeile d3dkmddi.h (einschließlich D3dkmddi.h)
IRQL PASSIVE_LEVEL

Weitere Informationen

VidPN-Zielmodus-Set-Schnittstelle

pfnCreateNewTargetModeSet