Compartir a través de


DXGKDDI_VIDPN_ASSIGNSOURCEMODESET función de devolución de llamada (d3dkmddi.h)

La función pfnAssignSourceModeSet asigna un modo de origen establecido a un origen determinado en un VidPN especificado.

Sintaxis

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
)
{...}

Parámetros

[in] hVidPn

Identificador de un objeto VidPN. El administrador de VidPN proporcionó anteriormente este identificador al controlador de miniporte de pantalla llamando a DxgkDdiEnumVidPnCofuncModality o DxgkDdiRecommendFunctionalVidPn.

[in] VidPnSourceId

Entero que identifica uno de los orígenes de vídeo asociados al objeto VidPN.

[in] hVidPnSourceModeSet

Identificador del objeto de conjunto de modo de origen que se va a asignar al origen identificado por VidPnSourceId. El controlador de miniporte de pantalla obtuvo anteriormente este identificador mediante una llamada a pfnCreateNewSourceModeSet.

Valor devuelto

La función pfnAssignSourceModeSet devuelve uno de los valores siguientes:

Código devuelto Descripción
STATUS_SUCCESS La función se ha realizado correctamente.
STATUS_GRAPHICS_INVALID_VIDPN El identificador proporcionado en hVidPn no era válido.
STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE El identificador proporcionado en VidPnSourceId no era válido.
STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET El identificador proporcionado en hVidPnSourceModeSet no era válido.
STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET El modo de origen que está intentando asignar no contiene el modo que ya estaba anclado en el origen.

Comentarios

El sistema operativo asigna identificadores de origen vidPN. DxgkDdiStartDevice, implementado por el controlador de miniporte de pantalla, devuelve el número N de orígenes de vídeo presentes admitidos por el adaptador de pantalla. A continuación, el sistema operativo asigna identificadores 0, 1, 2, ... N - 1.

Si obtiene un identificador llamando a pfnCreateNewSourceModeSet y, a continuación, pasa ese identificador a pfnAssignSourceModeSet, no es necesario liberar el identificador llamando a pfnReleaseSourceModeSet.

Si obtiene un identificador llamando a pfnCreateNewSourceModeSet y decide no asignar el nuevo modo de origen establecido en un origen, debe liberar el identificador recién obtenido llamando a pfnReleaseSourceModeSet.

Nota La función pfnAssignSourceModeSet libera o no libera el objeto de conjunto del modo de origen identificado por el parámetro hVidPnSourceModeSet según el motivo por el que se produjo un error en pfnAssignSourceModeSet .

pfnAssignSourceModeSet no libera el objeto de conjunto del modo de origen si pfnAssignSourceModeSet produce un error con un parámetro de entrada no válido (es decir, se produce un error con el código de error STATUS_GRAPHICS_INVALID_VIDPN, STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE o STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET) porque los parámetros especificados no eran suficientes para que el sistema operativo determinara el modo establecido en el objeto que se liberara. Estas situaciones de parámetro no válidas indican un error de codificación bruta en el controlador. Puede corregir este error especificando el identificador vidPN correcto, el identificador de origen o el identificador de conjunto del modo de origen de VidPN.

pfnAssignSourceModeSet liberará el objeto establecido en modo de origen después de validar correctamente todos los parámetros de entrada si pfnAssignSourceModeSet produce un error debido a uno de los siguientes motivos:

  • El conjunto de modo de origen está vacío.
  • El conjunto de modo de origen no contiene un modo anclado en el conjunto de modo anterior, si existe.
  • El conjunto de modo de origen no se creó para el origen identificado por VidPnSourceId.
 
El tipo de datos D3DDDI_VIDEO_PRESENT_SOURCE_ID se define en D3dukmdt.h.

Los tipos de datos D3DKMDT_HVIDPN y D3DKMDT_HVIDPNSOURCEMODESET se definen en D3dkmdt.h.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Plataforma de destino Escritorio
Encabezado d3dkmddi.h (incluye D3dkmddi.h)
IRQL PASSIVE_LEVEL

Consulte también

Interfaz de conjunto del modo de origen vidPN

pfnCreateNewSourceModeSet