다음을 통해 공유


IPropertyBag::Write 메서드(oaidl.h)

호출자 초기화된 VARIANT에 명명된 속성을 저장합니다.

구문

HRESULT Write(
  LPCOLESTR pszPropName,
  VARIANT   *pVar
);

매개 변수

pszPropName

쓸 속성의 이름을 포함하는 문자열의 주소입니다. NULL일 수 없습니다.

pVar

저장할 속성 값을 보유하는 호출자 초기화된 VARIANT의 주소입니다. 호출자는 이 VARIANT를 소유하며 모든 할당을 담당합니다. 즉, 속성 모음은 VARIANT의 데이터를 해제하려고 시도하지 않습니다.

설명

Write 메서드는 pVar에서 호출자 초기화된 VARIANT의 형식과 값을 사용하여 pszPropName으로 명명된 속성을 저장하도록 속성 모음에 지시합니다. 경우에 따라 호출자가 속성 모음에 가 VT_UNKNOWN 경우 pVar->vt 와 같이 다른 개체를 저장하라고 말할 수 있습니다. 이러한 경우 속성 모음은 IPersistStream 또는 IPersistPropertyBag과 같은 지속성 인터페이스에 대해 이 개체 포인터를 쿼리하고 해당 개체도 해당 데이터를 저장합니다. 이 경우 일반적으로 속성 모음에 이 개체에 대한 일부 바이트 배열이 있으며, 이 배열은 16진수 문자열, MIME 등과 같이 인코딩된 텍스트로 저장할 수 있습니다. 나중에 속성 모음을 사용하여 컨트롤을 다시 초기화하는 경우 속성 모음을 소유하는 클라이언트는 호출자가 요청할 때 개체를 다시 만들어 이전에 저장된 비트로 해당 개체를 초기화해야 합니다.

이렇게 하면 그림과 같은 BLOB(Binary Large Object) 속성에 대한 효율적인 지속성 작업을 수행할 수 있습니다. 여기서 속성 모음의 소유자는 그림 개체(저장된 컨트롤의 속성으로 관리됨)에 특정 위치에 저장하도록 지시합니다. 이렇게 하면 다른 속성 기반 지속성 메커니즘과 관련될 수 있는 잠재적인 추가 복사 작업이 방지됩니다.

이 인터페이스를 구현하는 모든 개체가 인터페이스의 전체 기능을 지원해야 하므로 E_NOTIMPL 올바른 반환 코드가 아닙니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10 빌드 20348
지원되는 최소 서버 Windows 10 빌드 20348
머리글 oaidl.h