Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Recupera una matriz de bytes asociada a una clave. Este método copia la matriz en un búfer asignado por el autor de la llamada.
Syntax
HRESULT GetBlob(
[in] REFGUID guidKey,
[out] UINT8 *pBuf,
[in] UINT32 cbBufSize,
[out] UINT32 *pcbBlobSize
);
Parámetros
[in] guidKey
GUID que identifica qué valor se va a recuperar. El tipo de atributo debe ser MF_ATTRIBUTE_BLOB.
[out] pBuf
Puntero a un búfer asignado por el autor de la llamada. Si se encuentra la clave y el valor es una matriz de bytes, el método copia la matriz en este búfer. Para encontrar el tamaño necesario del búfer, llame a IMFAttributes::GetBlobSize.
[in] cbBufSize
Tamaño del búfer de pBuf , en bytes.
[out] pcbBlobSize
Recibe el tamaño de la matriz de bytes. Este parámetro puede ser null.
Valor devuelto
El método devuelve un HRESULT. Entre los valores posibles se incluyen, entre otros, los de la tabla siguiente.
| Código de retorno | Description |
|---|---|
|
El método se ha llevado a cabo de forma correcta. |
|
El búfer no es lo suficientemente grande como para la matriz. |
|
No se encontró la clave especificada. |
|
El valor del atributo no es una matriz de bytes. |
Observaciones
También puede usar el método IMFAttributes::GetAllocatedBlob , que asigna el búfer para contener la matriz de bytes.
Esta interfaz está disponible en las siguientes plataformas si se instalan los componentes redistribuibles del SDK de Windows Media Format 11:
- Windows XP con Service Pack 2 (SP2) y versiones posteriores.
- Windows XP Media Center Edition 2005 con KB900325 (Windows XP Media Center Edition 2005) y KB925766 (paquete acumulativo de actualizaciones de octubre de 2006 para Windows XP Media Center Edition) instalado.
Examples
En el ejemplo de código siguiente se muestra cómo obtener un atributo cuyo valor es una matriz de bytes.
HRESULT AttributeGetBlob(IMFAttributes *pAttributes)
{
HRESULT hr = S_OK;
UINT32 cbBlob = 0;
BYTE *pBlob = NULL;
hr = pAttributes->GetBlobSize(MY_ATTRIBUTE, &cbBlob);
if (SUCCEEDED(hr))
{
pBlob = new BYTE[cbBlob];
if (pBlob == NULL)
{
hr = E_OUTOFMEMORY;
}
}
if (SUCCEEDED(hr))
{
hr = pAttributes->GetBlob(MY_ATTRIBUTE, pBlob, cbBlob, &cbBlob);
}
if (pBlob)
{
delete [] pBlob;
}
return hr;
}
Requisitos
| Requirement | Importancia |
|---|---|
| Cliente mínimo compatible | Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP] |
| Servidor mínimo admitido | Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP] |
| de la plataforma de destino de | Windows |
| Header | mfobjects.h (include Mfidl.h) |
| Library | Mfuuid.lib |