Método IMF2DBuffer2::Lock2DSize (mfobjects.h)
Fornece ao chamador acesso à memória no buffer.
Sintaxe
HRESULT Lock2DSize(
[in] MF2DBuffer_LockFlags lockFlags,
[out] BYTE **ppbScanline0,
[out] LONG *plPitch,
[out] BYTE **ppbBufferStart,
[out] DWORD *pcbBufferLength
);
Parâmetros
[in] lockFlags
Um membro da enumeração MF2DBuffer_LockFlags que especifica se o buffer deve ser bloqueado para leitura, gravação ou ambos.
[out] ppbScanline0
Recebe um ponteiro para o primeiro byte da linha superior de pixels na imagem. A linha superior é definida como a linha superior quando a imagem é apresentada ao visualizador e pode não ser a primeira linha na memória.
[out] plPitch
Recebe o passo da superfície, em bytes. O passo pode ser negativo, indicando que a imagem é orientada de baixo para cima na memória.
[out] ppbBufferStart
Recebe um ponteiro para o início do buffer acessível na memória.
[out] pcbBufferLength
Recebe o comprimento do buffer, em bytes.
Retornar valor
Esse método pode retornar um desses valores.
Código de retorno | Descrição |
---|---|
|
Êxito. |
|
Solicitação inválida. O buffer já pode estar bloqueado com um sinalizador de bloqueio incompatível. Consulte Observações. |
|
Não há memória suficiente para concluir a operação. |
Comentários
Quando terminar de acessar a memória, chame IMF2DBuffer::Unlock2D para desbloquear o buffer. Você deve chamar Unlock2D uma vez para cada chamada para Lock2DSize.
Esse método é equivalente ao método IMF2DBuffer::Lock2D . No entanto, Lock2DSize é preferencial porque permite que o chamador valide ponteiros de memória e porque dá suporte a bloqueios somente leitura. Não há garantia de que um buffer dê suporte à interface IMF2DBuffer2 . Para acessar um buffer, você deve experimentar os seguintes métodos na ordem listada:
- IMF2DBuffer2::Lock2DSize
- IMF2DBuffer::Lock2D
- IMFMediaBuffer::Lock
O parâmetro lockFlags especifica se o buffer está bloqueado para acesso somente leitura, acesso somente gravação ou acesso de leitura/gravação.
- Se o buffer já estiver bloqueado para acesso somente leitura, ele não poderá ser bloqueado para acesso de gravação.
- Se o buffer já estiver bloqueado para acesso somente gravação, ele não poderá ser bloqueado para acesso de leitura.
- Se o buffer já estiver bloqueado para acesso de leitura/gravação, ele poderá ser bloqueado para acesso de leitura ou gravação.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2012 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | mfobjects.h (inclua Mfidl.h) |