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)