다음을 통해 공유


IMetaDataDispenser::OpenScopeOnMemory 메서드(rometadataapi.h)

기존 메타데이터가 포함된 메모리 영역을 엽니다. 즉, 이 메서드는 기존 데이터가 메타데이터로 처리되는 지정된 메모리 영역을 엽니다.

구문

HRESULT OpenScopeOnMemory(
  [in]  const BYTE *pData,
  [in]  ULONG      cbData,
  [in]  DWORD      dwOpenFlags,
  [in]  REFIID     riid,
  [out] IUnknown   **ppIUnk
);

매개 변수

[in] pData

메모리 영역의 시작 주소를 지정하는 포인터입니다.

[in] cbData

메모리 영역의 크기(바이트)입니다.

[in] dwOpenFlags

열기 모드(읽기, 쓰기 등)를 지정하는 CorOpenFlags 열거형의 값입니다.

[in] riid

반환할 원하는 메타데이터 인터페이스의 IID입니다. 호출자는 인터페이스를 사용하여 메타데이터를 가져오거나(읽기) 내보내거나(쓰기) 합니다.

riid 값은 "import" 또는 "emit" 인터페이스 중 하나를 지정해야 합니다. 유효한 값은 IID_IMetaDataEmit, IID_IMetaDataImport, IID_IMetaDataAssemblyEmit, IID_IMetaDataAssemblyImport, IID_IMetaDataEmit2 또는 IID_IMetaDataImport2.

[out] ppIUnk

반환된 인터페이스에 대한 포인터입니다.

반환 값

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

메타데이터의 메모리 내 복사본은 "가져오기" 인터페이스 중 하나의 메서드를 사용하여 쿼리하거나 "내보내기" 인터페이스 중 하나의 메서드를 사용하여 추가할 수 있습니다.

OpenScopeOnMemory 메서드는 관심 있는 메타데이터가 디스크의 파일이 아닌 메모리에 이미 존재한다는 점을 제외하고 OpenScope 메서드와 유사합니다.

메모리의 대상 영역에 CLR(공용 언어 런타임) 메타데이터가 포함되어 있지 않으면 OpenScopeOnMemory 메서드가 실패합니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 rometadataapi.h

추가 정보

IMetaDataDispenser