DXGKDDI_VIDPN_ASSIGNTARGETMODESET funzione di callback (d3dkmddi.h)
La funzione pfnAssignTargetModeSet assegna una modalità di destinazione impostata su una destinazione specifica in un oggetto VidPN specificato.
Sintassi
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
)
{...}
Parametri
[in] hVidPn
Handle per un oggetto VidPN. Il manager VidPN ha precedentemente fornito questo handle al driver miniport display chiamando DxgkDdiEnumVidPnCofuncModality o DxgkDdiRecommendFunctionalVidPn.
[in] VidPnTargetId
Intero che identifica una delle destinazioni del video presenti associato all'oggetto VidPN.
[in] hVidPnTargetModeSet
Handle per l'oggetto set di modalità di destinazione da assegnare alla destinazione identificata da VidPnTargetId. Il driver miniport di visualizzazione ottenuto in precedenza questo handle chiamando pfnCreateNewTargetModeSet.
Valore restituito
La funzione pfnAssignTargetModeSet 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_TARGET | L'identificatore fornito in VidPnTargetId non è valido. |
STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET | L'handle fornito in hVidPnTargetModeSet non è valido. |
STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET | Il set di modalità di destinazione che si sta tentando di assegnare non contiene la modalità già aggiunta nella destinazione. |
Commenti
Gli identificatori di destinazione VidPN vengono assegnati dal driver miniport di visualizzazione. DxgkDdiQueryChildRelations, implementato dal driver miniport di visualizzazione, restituisce una matrice di strutture DXGK_CHILD_DESCRIPTOR , ognuna delle quali contiene un identificatore.
Se si ottiene un handle chiamando pfnCreateNewTargetModeSet e quindi passando tale handle a pfnAssignTargetModeSet, non è necessario rilasciare l'handle chiamando pfnReleaseTargetModeSet.
Se si ottiene un handle chiamando pfnCreateNewTargetModeSet e quindi si decide di non assegnare la nuova modalità di destinazione impostata su una destinazione, è necessario rilasciare l'handle appena ottenuto chiamando pfnReleaseTargetModeSet.
pfnAssignTargetModeSet non rilascia l'oggetto set di modalità di destinazione se pfnAssignTargetModeSet ha esito negativo con un parametro di input non valido( ovvero ha esito negativo con il STATUS_GRAPHICS_INVALID_VIDPN, STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET o STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET 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 parametri non validi indicano un errore di codifica lordo nel driver. È possibile correggere l'errore specificando l'handle VidPN corretto, l'identificatore di destinazione o l'handle del set di modalità di destinazione VidPN corretto.
pfnAssignTargetModeSet rilascia l'oggetto set di modalità di destinazione dopo aver convalidato correttamente tutti i parametri di input se pfnAssignTargetModeSet ha esito negativo a causa di uno dei motivi seguenti:
- Il set di modalità di destinazione è vuoto.
- Il set di modalità di destinazione non contiene una modalità aggiunta nel set di modalità precedente, se presente.
- Il set di modalità di destinazione non è stato creato per la destinazione identificata da VidPnTargetId.
I tipi di dati D3DKMDT_HVIDPN e D3DKMDT_HVIDPNTARGETMODESET 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 |