다음을 통해 공유


CComUnkArray 클래스

이 클래스는 포인터를 저장 IUnknown 하고 IConnectionPointImpl 템플릿 클래스에 대한 매개 변수로 사용하도록 설계되었습니다.

구문

template<unsigned int nMaxSize>
class CComUnkArray

매개 변수

nMaxSize
정적 배열에서 보유할 수 있는 최대 IUnknown 포인터 수입니다.

멤버

공용 생성자

속성 설명
CComUnkArray::CComUnkArray 생성자입니다.

공용 메서드

이름 설명
CComUnkArray::Add 배열에 포인터를 IUnknown 추가하려면 이 메서드를 호출합니다.
CComUnkArray::begin 컬렉션의 첫 번째 IUnknown 포인터에 대한 포인터를 반환합니다.
CComUnkArray::end 컬렉션의 마지막 IUnknown 포인터를 지나서 포인터를 반환합니다.
CComUnkArray::GetCookie 지정된 IUnknown 포인터와 연결된 쿠키를 얻으려면 이 메서드를 호출합니다.
CComUnkArray::GetUnknown 지정된 쿠키와 연결된 포인터를 IUnknown 얻으려면 이 메서드를 호출합니다.
CComUnkArray::Remove 배열에서 포인터를 IUnknown 제거하려면 이 메서드를 호출합니다.

설명

CComUnkArray 에는 고정된 개수의 IUnknown 포인터가 있으며, 각 포인터는 연결점의 인터페이스입니다. CComUnkArray는 IConnectionPointImpl 템플릿 클래스에 대한 매개 변수로 사용할 수 있습니다. CComUnkArray<1> 는 하나의 연결 지점에 최적화된 템플릿 전문화 CComUnkArray 입니다.

BeginendCComUnkArray메서드를 사용하여 모든 연결 지점의 루프를 반복할 수 있습니다 (예: 이벤트가 발생 하는 경우).

연결 지점 프록시 만들기 자동화에 대한 자세한 내용은 개체에 연결 지점 추가를 참조하세요.

참고 항목

CComDynamicUnkArray 클래스는 연결점이 있는 컨트롤을 만들 때 클래스 추가 마법사에서 사용됩니다. 수동으로 연결 지점 수를 지정하려면 참조를 n > 으로 CComDynamicUnkArray CComUnkArray< 변경합니다. 여기서 n은 필요한 연결 지점의 수입니다.

요구 사항

헤더: atlcom.h

CComUnkArray::Add

배열에 포인터를 IUnknown 추가하려면 이 메서드를 호출합니다.

DWORD Add(IUnknown* pUnk);

매개 변수

pUnk
배열에 포인터를 IUnknown 추가하려면 이 메서드를 호출합니다.

Return Value

새로 추가된 포인터와 연결된 쿠키를 반환하거나 배열이 새 포인터를 포함할 만큼 크지 않은 경우 0을 반환합니다.

CComUnkArray::begin

인터페이스 포인터 컬렉션 IUnknown 의 시작 부분에 대한 포인터를 반환합니다.

IUnknown**
    begin();

Return Value

인터페이스 포인터에 대한 포인터입니다 IUnknown .

설명

컬렉션에는 로컬로 IUnknown저장된 인터페이스에 대한 포인터가 포함되어 있습니다. 각 IUnknown 인터페이스를 실제 인터페이스 형식으로 캐스팅한 다음 이를 통해 호출합니다. 먼저 인터페이스를 쿼리할 필요가 없습니다.

인터페이스를 IUnknown 사용하기 전에 NULL이 아닌지 확인해야 합니다.

CComUnkArray::CComUnkArray

생성자입니다.

CComUnkArray();

설명

포인터를 저장할 nMaxSize IUnknown 컬렉션을 설정하고 NULL에 대한 포인터를 초기화합니다.

CComUnkArray::end

컬렉션의 마지막 IUnknown 포인터를 지나서 포인터를 반환합니다.

IUnknown**
    end();

Return Value

인터페이스 포인터에 대한 포인터입니다 IUnknown .

설명

메서드 beginCComUnkArray end 사용하여 모든 연결 지점(예: 이벤트가 발생할 때)을 반복할 수 있습니다.

IUnknown** p = m_vec.begin();
while(p != m_vec.end())
{
   // Do something with *p
   p++;
}

CComUnkArray::GetCookie

지정된 IUnknown 포인터와 연결된 쿠키를 얻으려면 이 메서드를 호출합니다.

DWORD WINAPI GetCookie(IUnknown** ppFind);

매개 변수

ppFind
IUnknown 연결된 쿠키가 필요한 포인터입니다.

Return Value

포인터와 연결된 쿠키를 반환하거나 일치하는 IUnknown 포인터가 IUnknown 없으면 0을 반환합니다.

설명

동일한 IUnknown 포인터의 인스턴스가 둘 이상 있는 경우 이 함수는 첫 번째 포인터에 대한 쿠키를 반환합니다.

CComUnkArray::GetUnknown

지정된 쿠키와 연결된 포인터를 IUnknown 얻으려면 이 메서드를 호출합니다.

IUnknown* WINAPI GetUnknown(DWORD dwCookie);

매개 변수

dwCookie
연결된 IUnknown 포인터가 필요한 쿠키입니다.

Return Value

포인터를 IUnknown 반환하거나 일치하는 쿠키가 없으면 NULL을 반환합니다.

CComUnkArray::Remove

배열에서 포인터를 IUnknown 제거하려면 이 메서드를 호출합니다.

BOOL Remove(DWORD dwCookie);

매개 변수

dwCookie
배열에서 제거할 포인터를 참조하는 IUnknown 쿠키입니다.

Return Value

포인터가 제거되면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.

참고 항목

CComDynamicUnkArray 클래스
클래스 개요