다음을 통해 공유


IRecordInfo::GetFieldNoCopy 메서드(oaidl.h)

값을 복사하고 리소스를 할당하지 않고 지정된 필드 이름의 값에 대한 포인터를 반환합니다.

구문

HRESULT GetFieldNoCopy(
  [in]  PVOID     pvData,
  [in]  LPCOLESTR szFieldName,
  [out] VARIANT   *pvarField,
  [out] PVOID     *ppvDataCArray
);

매개 변수

[in] pvData

레코드의 instance.

[in] szFieldName

필드의 이름입니다.

[out] pvarField

반환 시 UDT를 포함할 VARIANT입니다.

[out] ppvDataCArray

반환 시 필드의 값을 받습니다.

반환 값

이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 Description
S_OK
성공.
E_INVALIDARG
하나 이상의 인수가 잘못되었습니다.

설명

반환 시 전달하는 VARIANT에는 레코드의 필드 인 ppvDataCArray에 대한 직접 포인터가 포함됩니다. VARIANT를 수정하면 기본 레코드 필드가 변경됩니다.

호출자는 VARIANT의 메모리를 할당하지만 메모리를 소유하지 않으므로 pvarField를 해제할 수 없습니다. 이 메서드는 요청된 필드를 채우기 전에 pvarField에 대해 VariantClear를 호출합니다.

요구 사항

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

추가 정보

IRecordInfo

VariantClear