Método IMF2DBuffer2::Lock2DSize (mfobjects.h)
Proporciona al autor de la llamada acceso a la memoria del búfer.
Sintaxis
HRESULT Lock2DSize(
[in] MF2DBuffer_LockFlags lockFlags,
[out] BYTE **ppbScanline0,
[out] LONG *plPitch,
[out] BYTE **ppbBufferStart,
[out] DWORD *pcbBufferLength
);
Parámetros
[in] lockFlags
Miembro de la enumeración MF2DBuffer_LockFlags que especifica si se va a bloquear el búfer para leer, escribir o ambos.
[out] ppbScanline0
Recibe un puntero al primer byte de la fila superior de píxeles de la imagen. La fila superior se define como la fila superior cuando se presenta la imagen al visor y es posible que no sea la primera fila en la memoria.
[out] plPitch
Recibe el intervalo de superficie, en bytes. El paso puede ser negativo, lo que indica que la imagen está orientada desde la parte inferior hacia arriba en la memoria.
[out] ppbBufferStart
Recibe un puntero al inicio del búfer accesible en memoria.
[out] pcbBufferLength
Recibe la longitud del búfer, en bytes.
Valor devuelto
Este método puede devolver uno de estos valores.
Código devuelto | Descripción |
---|---|
|
Correcto. |
|
Solicitud no válida. Es posible que el búfer ya esté bloqueado con una marca de bloqueo incompatible. Vea la sección Comentarios. |
|
No hay memoria suficiente para completar la operación. |
Comentarios
Cuando haya terminado de acceder a la memoria, llame a IMF2DBuffer::Unlock2D para desbloquear el búfer. Debes llamar a Unlock2D una vez para cada llamada a Lock2DSize.
Este método es equivalente al método IMF2DBuffer::Lock2D . Sin embargo, Lock2DSize es preferible porque permite al autor de la llamada validar punteros de memoria y porque admite bloqueos de solo lectura. No se garantiza que un búfer admita la interfaz IMF2DBuffer2 . Para acceder a un búfer, debe probar los métodos siguientes en el orden indicado:
- IMF2DBuffer2::Lock2DSize
- IMF2DBuffer::Lock2D
- IMFMediaBuffer::Lock
El parámetro lockFlags especifica si el búfer está bloqueado para el acceso de solo lectura, el acceso de solo escritura o el acceso de lectura y escritura.
- Si el búfer ya está bloqueado para el acceso de solo lectura, no se puede bloquear para el acceso de escritura.
- Si el búfer ya está bloqueado para el acceso de solo escritura, no se puede bloquear para el acceso de lectura.
- Si el búfer ya está bloqueado para el acceso de lectura y escritura, se puede bloquear para el acceso de lectura o escritura.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | mfobjects.h (include Mfidl.h) |