IMFAttributes::GetBlob 메서드(mfobjects.h)
키와 연결된 바이트 배열을 검색합니다. 이 메서드는 배열을 호출자가 할당한 버퍼에 복사합니다.
구문
HRESULT GetBlob(
[in] REFGUID guidKey,
[out] UINT8 *pBuf,
[in] UINT32 cbBufSize,
[out] UINT32 *pcbBlobSize
);
매개 변수
[in] guidKey
검색할 값을 식별하는 GUID입니다. 특성 형식은 MF_ATTRIBUTE_BLOB 합니다.
[out] pBuf
호출자가 할당한 버퍼에 대한 포인터입니다. 키를 찾았고 값이 바이트 배열인 경우 메서드는 배열을 이 버퍼에 복사합니다. 버퍼의 필요한 크기를 찾으려면 IMFAttributes::GetBlobSize를 호출합니다.
[in] cbBufSize
pBuf 버퍼의 크기(바이트)입니다.
[out] pcbBlobSize
바이트 배열의 크기를 받습니다. 이 매개 변수는 NULL일 수 있습니다.
반환 값
이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.
반환 코드 | 설명 |
---|---|
|
메서드가 성공했습니다. |
|
버퍼가 배열에 충분히 크지 않습니다. |
|
지정된 키를 찾을 수 없습니다. |
|
특성 값은 바이트 배열이 아닙니다. |
설명
바이트 배열을 저장할 버퍼를 할당하는 IMFAttributes::GetAllocatedBlob 메서드를 사용할 수도 있습니다.
이 인터페이스는 Windows Media Format 11 SDK 재배포 가능 구성 요소가 설치된 경우 다음 플랫폼에서 사용할 수 있습니다.
- WINDOWS XP SP2(서비스 팩 2) 이상
- KB900325(Windows XP Media Center Edition 2005) 및 KB925766(Windows XP Media Center Edition용 2006년 10월 업데이트 롤업)이 설치된 Windows XP Media Center Edition 2005.
예제
다음 코드 예제에서는 값이 바이트 배열인 특성을 가져오는 방법을 보여줍니다.
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;
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | mfobjects.h(Mfidl.h 포함) |
라이브러리 | Mfuuid.lib |