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 gerente do VidPN anteriormente forneceu 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.
Valor de retorno
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. |
Observações
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ê obter um identificador chamando pfnCreateNewSourceModeSet e, em seguida, passar esse identificador para pfnAssignSourceModeSet, você não precisará liberar o identificador chamando pfnReleaseSourceModeSet.
Se você obter um identificador chamando pfnCreateNewSourceModeSet e, em seguida, decidir não atribuir o novo modo de origem definido a uma fonte, você 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 será liberado. 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 de 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 conjunto de modo anterior, se houver.
- O conjunto de modo de origem não foi criado para a origem identificada pelo VidPnSourceId.
Os tipos de dados D3DKMDT_HVIDPN e D3DKMDT_HVIDPNSOURCEMODESET são definidos em D3dkmdt.h.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Vista |
da Plataforma de Destino | Área de trabalho |
cabeçalho | d3dkmddi.h (inclua D3dkmddi.h) |
IRQL | PASSIVE_LEVEL |
Consulte também
Interface do conjunto de modo de origem do VidPN