Share via


DXGKDDI_VIDPN_ASSIGNSOURCEMODESET funzione di callback (d3dkmddi.h)

La funzione pfnAssignSourceModeSet assegna una modalità di origine impostata su un'origine specifica in un oggetto VidPN specificato.

Sintassi

DXGKDDI_VIDPN_ASSIGNSOURCEMODESET DxgkddiVidpnAssignsourcemodeset;

NTSTATUS DxgkddiVidpnAssignsourcemodeset(
  [in] IN_D3DKMDT_HVIDPN hVidPn,
  [in] IN_CONST_D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId,
  [in] IN_CONST_D3DKMDT_HVIDPNSOURCEMODESET hVidPnSourceModeSet
)
{...}

Parametri

[in] hVidPn

Handle per un oggetto VidPN. In precedenza il gestore VidPN ha fornito questo handle al driver miniport visualizzato chiamando DxgkDdiEnumVidPnCofuncModality o DxgkDdiRecommendFunctionalVidPn.

[in] VidPnSourceId

Intero che identifica una delle origini video presenti associate all'oggetto VidPN.

[in] hVidPnSourceModeSet

Handle per l'oggetto set di modalità di origine da assegnare all'origine identificata da VidPnSourceId. Il driver miniport visualizzato ottenuto in precedenza questo handle chiamando pfnCreateNewSourceModeSet.

Valore restituito

La funzione pfnAssignSourceModeSet restituisce uno dei valori seguenti:

Codice restituito Descrizione
STATUS_SUCCESS Funzione completata.
STATUS_GRAPHICS_INVALID_VIDPN L'handle fornito in hVidPn non è valido.
STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE L'identificatore fornito in VidPnSourceId non è valido.
STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET L'handle fornito in hVidPnSourceModeSet non è valido.
STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET Il set di modalità di origine che si sta tentando di assegnare non contiene la modalità già aggiunta nell'origine.

Commenti

Gli identificatori di origine VidPN vengono assegnati dal sistema operativo. DxgkDdiStartDevice, implementato dal driver miniport visualizzato, restituisce il numero N di origini video presenti supportate dalla scheda di visualizzazione. Quindi il sistema operativo assegna identificatori 0, 1, 2, ... N - 1.

Se si ottiene un handle chiamando pfnCreateNewSourceModeSet e quindi passando tale handle a pfnAssignSourceModeSet, non è necessario rilasciare l'handle chiamando pfnReleaseSourceModeSet.

Se si ottiene un handle chiamando pfnCreateNewSourceModeSet e quindi si decide di non assegnare la nuova modalità di origine impostata su un'origine, è necessario rilasciare l'handle appena ottenuto chiamando pfnReleaseSourceModeSet.

Nota La funzione pfnAssignSourceModeSet rilascia o non rilascia l'oggetto set di modalità di origine identificato dal parametro hVidPnSourceModeSet a seconda del motivo per cui pfnAssignSourceModeSet non riesce.

pfnAssignSourceModeSet non rilascia l'oggetto set di modalità di origine se pfnAssignSourceModeSet ha esito negativo con un parametro di input non valido, ovvero ha esito negativo con l'STATUS_GRAPHICS_INVALID_VIDPN, STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE o STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET codice di errore, perché i parametri specificati non sono sufficienti per il sistema operativo per determinare l'oggetto impostato in modalità da rilasciare. Tali situazioni di parametro non valide indicano un errore di codifica lordo nel driver. È possibile correggere questo errore specificando l'handle vidPN corretto, l'identificatore di origine o l'handle del set di set di impostazioni della modalità di origine VidPN.

pfnAssignSourceModeSet rilascia l'oggetto set di modalità di origine dopo aver convalidato correttamente tutti i parametri di input se pfnAssignSourceModeSet ha esito negativo a causa di uno dei motivi seguenti:

  • Il set di modalità di origine è vuoto.
  • Il set di modalità di origine non contiene una modalità aggiunta nel set di modalità precedente, se presente.
  • Il set di modalità di origine non è stato creato per l'origine identificata da VidPnSourceId.
 
Il tipo di dati D3DDDI_VIDEO_PRESENT_SOURCE_ID è definito in D3dukmdt.h.

I tipi di dati D3DKMDT_HVIDPN e D3DKMDT_HVIDPNSOURCEMODESET sono definiti in D3dkmdt.h.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Piattaforma di destinazione Desktop
Intestazione d3dkmddi.h (include D3dkmddi.h)
IRQL PASSIVE_LEVEL

Vedi anche

Interfaccia set di modalità di origine VidPN

pfnCreateNewSourceModeSet