IConsoleNameSpace2::AddExtension 메서드(mmc.h)
IConsoleNameSpace2::AddExtension 메서드를 사용하면 스냅인에서 선택한 항목의 네임스페이스를 동적으로 확장하는 확장 스냅인을 추가할 수 있습니다.
구문
HRESULT AddExtension(
[in] HSCOPEITEM hItem,
[in] LPCLSID lpClsid
);
매개 변수
[in] hItem
lpClsid로 지정된 스냅인으로 확장할 항목에 대한 핸들입니다.
[in] lpClsid
hItem으로 지정된 항목의 네임스페이스를 확장하는 스냅인의 CLSID에 대한 포인터입니다.
반환 값
이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.
설명
스냅인에서 AddExtension 메서드를 호출하면 lpClsid로 지정된 네임스페이스 확장은 hItem에 지정된 항목의 특정 instance만 확장합니다. 해당 유형의 다른 항목은 영향을 받지 않습니다. AddExtension 호출은 스냅인 관리자를 사용하여 스냅인에 확장을 추가하는 것과 동일하지 않습니다. 스냅인 관리자를 사용하여 스냅인에 확장을 추가하면 해당 형식의 모든 스냅인 인스턴스에 확장이 추가됩니다.
또한 AddExtension 메서드는 AddExtension 호출을 만드는 스냅인에서 직접 소유한 항목에 대해서만 작동합니다. 예를 들어 스냅인에 네임스페이스에 항목을 추가하는 네임스페이스 확장이 있는 경우 스냅인은 해당 항목을 소유하지 않으므로 네임스페이스 확장에서 제공하는 항목에 대해 AddExtension을 호출할 수 없습니다.
동적 네임스페이스 확장을 추가하는 일반적인 위치는 스냅인의 IComponentData 개체의 MMCN_EXPAND 알림 처리기에 있습니다.
확장 스냅인을 동적 확장으로만 사용하려는 경우 스냅인 관리자의 확장 페이지에서 확장할 수 있는 스냅인 상자에서 기본 스냅인을 선택한 경우 해당 확장 스냅인을 사용 가능한 확장 목록 상자에 나열하면 안 됩니다. 스냅인 관리자에서 확장을 숨기려면 확장하려는 항목의 노드 형식을 나타내는 키에 "동적 확장" 키를 추가합니다. 그런 다음 노드 형식을 새 키 아래에 값으로 동적으로 확장해야 하는 스냅인의 CLSID를 배치합니다.
예제
다음 코드 예제에서는 CLSID_Extension 지정한 확장 스냅인을 추가합니다.
IConsoleNameSpace2* pExtensions = NULL;
HRESULT hr = m_pConsole->QueryInterface(IID_IConsoleNameSpace2, reinterpret_cast<void**>(&pExtensions));
if (SUCCEEDED(hr))
{
hr = pExtensions->AddExtension(m_pStaticRoot, const_cast<CLSID*>(&CLSID_Extension));
ASSERT(hr == S_OK);
pExtensions->Release();
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista |
지원되는 최소 서버 | Windows Server 2008 |
대상 플랫폼 | Windows |
헤더 | mmc.h |
DLL | Mmcndmgr.dll |