CComDynamicUnkArray 클래스
이 클래스는 포인터 배열 IUnknown
을 저장합니다.
구문
class CComDynamicUnkArray
멤버
공용 생성자
속성 | 설명 |
---|---|
CComDynamicUnkArray::CComDynamicUnkArray | 생성자입니다. 컬렉션 값을 NULL로 초기화하고 컬렉션 크기를 0으로 초기화합니다. |
CComDynamicUnkArray::~CComDynamicUnkArray | 소멸자입니다. |
공용 메서드
이름 | 설명 |
---|---|
CComDynamicUnkArray::Add | 배열에 포인터를 IUnknown 추가하려면 이 메서드를 호출합니다. |
CComDynamicUnkArray::begin | 컬렉션의 첫 번째 IUnknown 포인터에 대한 포인터를 반환합니다. |
CComDynamicUnkArray::clear | 배열을 비웁니다. |
CComDynamicUnkArray::end | 컬렉션의 마지막 IUnknown 포인터를 지나서 포인터를 반환합니다. |
CComDynamicUnkArray::GetAt | 지정된 된 인덱스에 요소를 검색 합니다. |
CComDynamicUnkArray::GetCookie | 지정된 IUnknown 포인터와 연결된 쿠키를 얻으려면 이 메서드를 호출합니다. |
CComDynamicUnkArray::GetSize | 배열에서 저장할 수 있는 요소의 수를 반환합니다. |
CComDynamicUnkArray::GetUnknown | 지정된 쿠키와 연결된 포인터를 IUnknown 얻으려면 이 메서드를 호출합니다. |
CComDynamicUnkArray::Remove | 배열에서 포인터를 IUnknown 제거하려면 이 메서드를 호출합니다. |
설명
CComDynamicUnkArray
는 동적으로 할당된 포인터 배열 IUnknown
을 보유하며, 각 포인터는 연결점의 인터페이스입니다. CComDynamicUnkArray
는 IConnectionPointImpl 템플릿 클래스에 대한 매개 변수로 사용할 수 있습니다.
Begin 및 endCComDynamicUnkArray
메서드를 사용하여 모든 연결 지점의 루프를 반복할 수 있습니다 (예: 이벤트가 발생 하는 경우).
연결 지점 프록시 만들기 자동화에 대한 자세한 내용은 개체에 연결 지점 추가를 참조하세요.
참고 항목
참고 클래스는 CComDynamicUnkArray
연결점이 있는 컨트롤을 만들 때 클래스 추가 마법사에서 사용됩니다. 수동으로 연결 지점 수를 지정하려면 참조를 n >
으로 CComDynamicUnkArray
CComUnkArray<
변경합니다. 여기서 n은 필요한 연결 지점의 수입니다.
요구 사항
헤더: atlcom.h
CComDynamicUnkArray::Add
배열에 포인터를 IUnknown
추가하려면 이 메서드를 호출합니다.
DWORD Add(IUnknown* pUnk);
매개 변수
pUnk
IUnknown
배열에 추가할 포인터입니다.
Return Value
새로 추가된 포인터와 연결된 쿠키를 반환합니다. 이 쿠키를 사용하여 CComDynamicUnkArray::GetAt을 사용하여 배열에서 포인터를 검색합니다.
설명
이 항목이 삽입된 위치가 이 배열에서 이전에 호출된 경우 Remove()
마지막으로 삽입한 항목 바로 뒤에 있는 것은 아닙니다. 반환된 쿠키를 사용하여 삽입된 포인터에 안정적으로 액세스합니다.
더 많은 항목을 수용하기 위해 배열의 크기를 늘릴 수 있습니다. 새 크기를 가져오는 데 사용합니다 GetSize()
.
CComDynamicUnkArray::begin
인터페이스 포인터 컬렉션 IUnknown
의 시작 부분에 대한 포인터를 반환합니다.
IUnknown**
begin();
Return Value
인터페이스 포인터에 대한 포인터입니다 IUnknown
.
설명
컬렉션에는 로컬로 IUnknown
저장된 인터페이스에 대한 포인터가 포함되어 있습니다. 각 IUnknown
인터페이스를 실제 인터페이스 형식으로 캐스팅한 다음 이를 통해 호출합니다. 먼저 인터페이스를 쿼리할 필요가 없습니다.
인터페이스를 IUnknown
사용하기 전에 NULL이 아닌지 확인해야 합니다.
CComDynamicUnkArray::clear
배열을 비웁니다. 크기를 0으로 다시 설정합니다.
void clear();
CComDynamicUnkArray::CComDynamicUnkArray
생성자입니다.
CComDynamicUnkArray();
설명
컬렉션 크기를 0으로 설정하고 값을 NULL로 초기화합니다. 소멸자가 필요한 경우 컬렉션을 해제합니다.
CComDynamicUnkArray::~CComDynamicUnkArray
소멸자입니다.
~CComDynamicUnkArray();
설명
클래스 생성자가 할당한 리소스를 해제합니다.
CComDynamicUnkArray::end
배열의 할당된 버퍼에서 마지막 요소를 한 번 지나간 포인터를 반환합니다.
참고: 즉, 배열이 용량으로 end()-1
채워지지 않을 수 있으므로 마지막으로 삽입한 포인터가 있는 것이 보장되지 않습니다.
IUnknown**
end();
Return Value
인터페이스 포인터에 대한 포인터입니다 IUnknown
.
CComDynamicUnkArray::GetAt
지정된 된 인덱스에 요소를 검색 합니다.
IUnknown* GetAt(int nIndex);
매개 변수
nIndex
검색할 요소의 인덱스입니다.
Return Value
요소가 이전에 추가되어 이 인덱스에 있는 경우 IUnknown 인터페이스에 대한 포인터이고, 그렇지 않으면 NULL
.
CComDynamicUnkArray::GetCookie
지정된 IUnknown
포인터와 연결된 쿠키를 얻으려면 이 메서드를 호출합니다.
DWORD WINAPI GetCookie(IUnknown** ppFind);
매개 변수
ppFind
IUnknown
연결된 쿠키가 필요한 포인터입니다.
Return Value
포인터와 연결된 쿠키를 반환하거나 일치하는 IUnknown
포인터가 IUnknown
없으면 0을 반환합니다.
설명
동일한 IUnknown
포인터의 인스턴스가 둘 이상 있는 경우 이 함수는 첫 번째 포인터에 대한 쿠키를 반환합니다.
CComDynamicUnkArray::GetSize
배열의 할당된 용량을 반환합니다.
참고: 현재 배열에 있는 NULL이 아닌 요소의 수와 다릅니다.
int GetSize() const;
Return Value
배열에서 저장할 수 있는 요소의 수입니다. GetSize() == end() - begin()
.
CComDynamicUnkArray::GetUnknown
지정된 쿠키와 연결된 포인터를 IUnknown
얻으려면 이 메서드를 호출합니다.
IUnknown* WINAPI GetUnknown(DWORD dwCookie);
매개 변수
dwCookie
연결된 IUnknown
포인터가 필요한 쿠키입니다.
Return Value
포인터를 IUnknown
반환하거나 일치하는 쿠키가 없으면 NULL을 반환합니다.
CComDynamicUnkArray::Remove
배열에서 포인터를 IUnknown
제거하려면 이 메서드를 호출합니다.
다른 모든 요소는 변경되지 않고 해당 인덱스와 쿠키를 유지합니다.
BOOL Remove(DWORD dwCookie);
매개 변수
dwCookie
배열에서 제거할 포인터를 참조하는 IUnknown
쿠키입니다.
Return Value
포인터가 제거되면 TRUE를 반환합니다. 그렇지 않으면 FALSE입니다.