DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT fonction de rappel (dispmprt.h)

La fonction DxgkDdiOPMCreateProtectedOutput crée un objet de sortie protégé avec la sémantique COPP (Certified Output Protection Protocol) ou OPM.

Syntaxe

DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT DxgkddiOpmCreateProtectedOutput;

NTSTATUS DxgkddiOpmCreateProtectedOutput(
  [in]  PVOID MiniportDeviceContext,
  [in]  D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
  [in]  DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS NewVideoOutputSemantics,
  [out] PHANDLE NewProtectedOutputHandle
)
{...}

Paramètres

[in] MiniportDeviceContext

Handle d’un bloc de contexte associé à une carte d’affichage. Auparavant, la fonction DxgkDdiAddDevice du pilote miniport d’affichage fournissait cette poignée au sous-système du noyau graphique DirectX.

[in] VidPnTargetId

Entier qui identifie de manière unique la cible présente vidéo qui correspond au nouvel objet de sortie protégé. Chaque cible vidéo présente doit correspondre à un connecteur de moniteur physique. Si VidPnTargetId correspond à plusieurs connecteurs de moniteur physique, DxgkDdiOPMCreateProtectedOutput doit retourner le code d’erreur STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED ou STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED.

[in] NewVideoOutputSemantics

Valeur de type DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS qui détermine si la nouvelle sortie protégée a la sémantique COPP ou OPM.

[out] NewProtectedOutputHandle

Pointeur vers une variable qui reçoit le handle vers le nouvel objet de sortie protégé si DxgkDdiOPMCreateProtectedOutput retourne correctement. Le sous-système du noyau graphique DirectX transmet ce handle dans les appels au DxgkDdiOPMGetRandomNumber du pilote miniport d’affichage, DxgkDdiOPMSetSigningKeyAndSequenceNumbersDxgkDdiOPMGetInformation, DxgkDdiOPMGetCOPPCompatibleInformation, DxgkDdiOPMConfigureProtectedOutput et DxgkDdiOPMDestroyProtectedOutput.

Si DxgkDdiOPMCreateProtectedOutput échoue, la valeur de la variable est inchangée.

Valeur retournée

DxgkDdiOPMCreateProtectedOutput retourne l’une des valeurs suivantes.

Code de retour Description
STATUS_SUCCESS La fonction a correctement créé un objet de sortie protégé.
STATUS_GRAPHICS_OPM_NOT_SUPPORTED Le pilote miniport d’affichage ne prend pas en charge OPM, soit parce que le fournisseur de matériel n’a jamais signé le contrat de licence OPM ou que le matériel graphique du pilote miniport ne respecte pas les règles OPM.
STATUS_GRAPHICS_COPP_NOT_SUPPORTED Le pilote miniport d’affichage ne prend pas en charge COPP, soit parce que le fournisseur de matériel n’a jamais signé le contrat de licence COPP ou que le matériel graphique du pilote miniport ne respecte pas les règles COPP.
STATUS_NO_MEMORY DxgkDdiOPMCreateProtectedOutput ne peut pas allouer la mémoire nécessaire pour qu’il se termine.
STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED DxgkDdiOPMCreateProtectedOutput n’a pas pu créer de sortie protégée, car la cible vidéo présente est en mode d’extension. Lorsque la cible vidéo présente est en mode d’étendue, elle correspond à plusieurs connecteurs de moniteur physique et chaque connecteur affiche une partie distincte de la mémoire tampon d’image. Pour obtenir un diagramme montrant comment le pilote miniport d’affichage implémente généralement le mode d’étendue, consultez la section Remarques. Le pilote miniport d’affichage informe le système d’exploitation de la façon dont la mémoire tampon d’image correspond à un moniteur particulier. La moitié gauche de la mémoire tampon d’image s’affiche sur un moniteur et la moitié droite de la mémoire tampon d’image s’affiche sur l’autre moniteur.
STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED DxgkDdiOPMCreateProtectedOutput n’a pas pu créer de sortie protégée, car la cible vidéo présente est en mode théâtre. Lorsque la cible vidéo présente est en mode théâtre, elle correspond à deux connecteurs d’écran physiques ; un connecteur affiche la mémoire tampon d’image entière et l’autre n’affiche qu’une partie de la mémoire tampon d’image. Le mode Théâtre est également appelé mode miroir. Pour obtenir un diagramme montrant comment le pilote miniport d’affichage implémente généralement le mode théâtre, consultez la section Remarques. Le pilote miniport d’affichage informe le système d’exploitation de la façon dont la mémoire tampon d’image correspond à un moniteur particulier. La mémoire tampon d’images entière s’affiche sur un moniteur, et seule une partie de la mémoire tampon d’image s’affiche sur l’autre moniteur.

Cette fonction peut également retourner d’autres codes d’erreur définis dans Ntstatus.h.

Remarques

La figure suivante montre comment le pilote miniport d’affichage implémente généralement le mode d’étendue.

Diagramme illustrant le mode d’étendue L’illustration suivante montre comment le pilote miniport d’affichage implémente généralement le mode théâtre. Le diagramme illustrant le mode théâtre *DxgkDdiOPMCreateProtectedOutput* doit être mis en page.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête dispmprt.h (inclure Dispmprt.h)
IRQL PASSIVE_LEVEL (voir la section Remarques)

Voir aussi

DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS

DxgkDdiAddDevice

DxgkDdiOPMConfigureProtectedOutput

DxgkDdiOPMDestroyProtectedOutput

DxgkDdiOPMGetCOPPCompatibleInformation

DxgkDdiOPMGetInformation

DxgkDdiOPMGetRandomNumber

DxgkDdiOPMSetSigningKeyAndSequenceNumbers