확장에서 ADSI 인터페이스 가져오기
확장은 바인딩하는 디렉터리 개체에서 데이터를 가져와야 하는 경우가 많습니다. 예를 들어 컴퓨터 개체의 확장은 디렉터리에서 현재 개체의 dnsHostName 을 가져올 수 있습니다. 이 작업은 집계에 대한 IUnknown 인터페이스에서 QueryInterface 호출을 실행하여 쉽게 수행할 수 있습니다.
HRESULT hr;
IADs *pADs; ' ADSI Interface to get/set attributes.
hr = m_pOuterUnk->QueryInterface(IID_IADs,(void**)&pADs);
if ( SUCCEEDED(hr) )
{
VARIANT var;
VariantInit(&var);
hr = pADs ->Get(_bstr_t("dnsHostName"), &var);
if ( SUCCEEDED(hr) )
{
printf("%S\n", V_BSTR(&var));
}
VariantClear(&var);
pADs->Release();
}
인터페이스를 사용한 직후에 해제해야 합니다. 확장에 집계에 대한 열린 참조가 있는 경우 순환 참조를 만들었으며 집계자는 확장을 해제할 수 없습니다. 따라서 집계를 해제할 수 없으며 결과적으로 애플리케이션에서 메모리 누수가 발생합니다.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기