DXGKDDI_VIDPN_ASSIGNSOURCEMODESET função de retorno de chamada (d3dkmddi.h)
A função pfnAssignSourceModeSet atribui um modo de origem definido a uma fonte específica em um VidPN especificado.
Sintaxe
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
Um identificador para um objeto VidPN. O gerenciador VidPN forneceu anteriormente esse identificador para o driver de miniporto de exibição chamando DxgkDdiEnumVidPnCofuncModality ou DxgkDdiRecommendFunctionalVidPn.
[in] VidPnSourceId
Um inteiro que identifica uma das fontes presentes do vídeo associadas ao objeto VidPN.
[in] hVidPnSourceModeSet
Um identificador para o objeto de conjunto de modo de origem que deve ser atribuído à origem identificada por VidPnSourceId. O driver de miniporto de exibição obteve esse identificador anteriormente chamando pfnCreateNewSourceModeSet.
Retornar valor
A função pfnAssignSourceModeSet retorna um dos seguintes valores:
Código de retorno | Descrição |
---|---|
STATUS_SUCCESS | A função foi bem-sucedida. |
STATUS_GRAPHICS_INVALID_VIDPN | O identificador fornecido no hVidPn era inválido. |
STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE | O identificador fornecido em VidPnSourceId era inválido. |
STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET | O identificador fornecido em hVidPnSourceModeSet era inválido. |
STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET | O conjunto de modo de origem que você está tentando atribuir não contém o modo que já estava fixado na origem. |
Comentários
Os identificadores de origem VidPN são atribuídos pelo sistema operacional. DxgkDdiStartDevice, implementado pelo driver de miniporto de exibição, retorna o número N de fontes presentes de vídeo compatíveis com o adaptador de exibição. Em seguida, o sistema operacional atribui identificadores 0, 1, 2, ... N - 1.
Se você obtiver um identificador chamando pfnCreateNewSourceModeSet e passar esse identificador para pfnAssignSourceModeSet, não será necessário liberar o identificador chamando pfnReleaseSourceModeSet.
Se você obtiver um identificador chamando pfnCreateNewSourceModeSet e decidir não atribuir o novo modo de origem definido a uma fonte, deverá liberar o identificador recém-obtido chamando pfnReleaseSourceModeSet.
pfnAssignSourceModeSet não liberará o objeto de conjunto de modo de origem se pfnAssignSourceModeSet falhar com um parâmetro de entrada inválido (ou seja, falhará com o código de erro STATUS_GRAPHICS_INVALID_VIDPN, STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE ou STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET) porque os parâmetros especificados não eram suficientes para o sistema operacional determinar qual objeto de conjunto de modo lançar. Essas situações de parâmetro inválidas indicam um erro de codificação bruta no driver. Você pode corrigir esse erro especificando o identificador VidPN correto, o identificador de origem ou o identificador do conjunto de modo de origem VidPN.
pfnAssignSourceModeSet liberará o objeto de conjunto de modo de origem depois de validar com êxito todos os parâmetros de entrada se pfnAssignSourceModeSet falhar devido a um dos seguintes motivos:
- O conjunto de modo de origem está vazio.
- O conjunto de modo de origem não contém um modo fixado no modo anterior definido, se houver.
- O conjunto de modo de origem não foi criado para a origem identificada por VidPnSourceId.
Os tipos de dados D3DKMDT_HVIDPN e D3DKMDT_HVIDPNSOURCEMODESET são definidos em D3dkmdt.h.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | d3dkmddi.h (inclua D3dkmddi.h) |
IRQL | PASSIVE_LEVEL |