Méthode IMF2DBuffer2 ::Lock2DSize (mfobjects.h)
Permet à l’appelant d’accéder à la mémoire dans la mémoire tampon.
Syntaxe
HRESULT Lock2DSize(
[in] MF2DBuffer_LockFlags lockFlags,
[out] BYTE **ppbScanline0,
[out] LONG *plPitch,
[out] BYTE **ppbBufferStart,
[out] DWORD *pcbBufferLength
);
Paramètres
[in] lockFlags
Membre de l’énumération MF2DBuffer_LockFlags qui spécifie s’il faut verrouiller la mémoire tampon pour la lecture, l’écriture ou les deux.
[out] ppbScanline0
Reçoit un pointeur vers le premier octet de la ligne supérieure de pixels dans l’image. La ligne supérieure est définie comme la ligne supérieure lorsque l’image est présentée à la visionneuse et peut ne pas être la première ligne en mémoire.
[out] plPitch
Reçoit la foulée de surface, en octets. La foulée peut être négative, indiquant que l’image est orientée de bas en haut en mémoire.
[out] ppbBufferStart
Reçoit un pointeur vers le début de la mémoire tampon accessible en mémoire.
[out] pcbBufferLength
Reçoit la longueur de la mémoire tampon, en octets.
Valeur retournée
Cette méthode peut retourner l’une de ces valeurs.
Code de retour | Description |
---|---|
|
Réussite. |
|
Demande non valide. La mémoire tampon est peut-être déjà verrouillée avec un indicateur de verrouillage incompatible. Consultez la section Notes. |
|
La mémoire est insuffisante pour terminer l’opération. |
Remarques
Lorsque vous avez terminé d’accéder à la mémoire, appelez IMF2DBuffer ::Unlock2D pour déverrouiller la mémoire tampon. Vous devez appeler Unlock2D une fois pour chaque appel à Lock2DSize.
Cette méthode est équivalente à la méthode IMF2DBuffer ::Lock2D . Toutefois, Lock2DSize est préférable, car il permet à l’appelant de valider les pointeurs de mémoire et parce qu’il prend en charge les verrous en lecture seule. Il n’est pas garanti qu’une mémoire tampon prend en charge l’interface IMF2DBuffer2 . Pour accéder à une mémoire tampon, vous devez essayer les méthodes suivantes dans l’ordre indiqué :
- IMF2DBuffer2 ::Lock2DSize
- IMF2DBuffer ::Lock2D
- IMFMediaBuffer ::Lock
Le paramètre lockFlags spécifie si la mémoire tampon est verrouillée pour l’accès en lecture seule, l’accès en écriture seule ou l’accès en lecture/écriture.
- Si la mémoire tampon est déjà verrouillée pour l’accès en lecture seule, elle ne peut pas être verrouillée pour l’accès en écriture.
- Si la mémoire tampon est déjà verrouillée pour l’accès en écriture seule, elle ne peut pas être verrouillée pour l’accès en lecture.
- Si la mémoire tampon est déjà verrouillée pour l’accès en lecture/écriture, elle peut être verrouillée pour l’accès en lecture ou en écriture.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2012 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | mfobjects.h (include Mfidl.h) |