CComDispatchDriver::GetProperty

HRESULT GetProperty ( DISPID dwDispID, VARIANT * var );

정적 HRESULT GetProperty ( IDispatch * pDisp DISPID dwDispID, VARIANT * var );

반환 값

표준 HRESULT 값 중 하나。

매개 변수

dwDispID

[in] 검색할 속성의 DISPID입니다. DISPID는에서 얻어질 수 있다 IDispatch::GetIDsOfNames。

var

[out] 저장할 속성 값은 위치에 포인터。

pDisp

[in] 포인터를 IDispatch 인터페이스。

주의

DwDispID으로 식별 된 속성의 값을 가져옵니다. PDisp공급 IDispatch 포인터 사용 됩니다. P 데이터 멤버 포함 된 IDispatch 포인터 사용 하지 않으면。

다음 예제에서는 GetProperty의 정적 버전을 호출 합니다. 이 코드는 IPersistStreamInitImpl::Save 를 구현 하는 데 사용。

CComPtrlt; IDispatch > pDispatch;
const IID * piidOld = NULL;
에 대 한 (int I = 0; pMap [i].pclsidproppage! = NULL; i + +)
 ????????????? / / Pmap의 배열에 대 한 포인터는 / / ATL_PROPMAP_ENTRY 구조
{
 ? 경우 (pMap [i].szdesc = = NULL)
 ???? 계속;
 ? CComVariant var;
 ? 경우 (pMap [i].piiddispatch! = piidOld)
 ? {
 ???? 경우 (실패 (ControlQueryInterface (* pMap [i].piiddispatch (void **) & pDispatch)))
 ???? {
 ??????? ATLTRACE (_T ("실패 속성 #%i\n에 대 한 디스패치 포인터를"), 내가);
 ??????? hr = E_FAIL;
 ??????? 휴식 시간;
 ???? }
 ???? piidOld [i] pMap.piiddispatch; =
 ? }
 ? 경우 (실패 (CComDispatchDriver::GetProperty (pDispatch, pMap [i].dispid & var)))
 ? {
 ???? ATLTRACE (_T ("호출 DISPID %x\n에 실패 했습니다."), pMap[i].dispid);
 ???? hr = E_FAIL;
 ???? 휴식 시간;
 ? }
 ? HRESULT hr = var.WriteToStream(pStm);
 ? 경우 (FAILED(hr))
 ???? 휴식 시간;
}

CComDispatchDriver 개요 |nbsp; 클래스 멤버(&N)

참고 항목nbsp;CComDispatchDriver::PutProperty(&N)

Index