기본적으로 스냅인 마법사는 표준 스냅인 개체를 생성합니다. 그러나, 스냅인 확장 옵션을 선택 하면 생성 된 코드 표준 스냅인 코드에서 다릅니다. 특히, 스냅인 확장의 데이터 클래스 개체 속 차이 ( CMySnapInData ). 거기에 모두 생성 된 데이터 클래스의 헤더 파일에서 발생 하는 두 가지 주요 차이점。
InitDataClass , CMySnapInData . InitDataClass초기화 하는 안전한 방법을 제공 하는 메서드는 m_pDataObject 확장 데이터 클래스의 멤버 ( CMySnapInExtData ). 기본 구현에서 확장 되 고 스냅인 개체에 대 한 포인터를 캐시는 m_pDataObject 멤버. 대부분의 경우 추가 조치가 필요 하지 않습니다.그러나, 확장된 스냅인 데이터 개체가 캐시 되 고 전에 (나타내는 데이터) 내부 형식으로 변환 하는 경우이 메서드는 변환을 수행 하려면 편리한 액세스 포인트를 제공。
CMySnapInExtData ). 새로운 지도 전에 발견 매크로 만듭니다 형식의 데이터 멤버 CMySnapInExtData 확장된 스냅인 개체에. 이 매크로 후 확장 노드 정보 지도 선언 합니다. 선언에는 BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP, END_EXTENSION_SNAPIN_NODEINFO_MAP및 EXTENSION_SNAPIN_NODEINFO_ENTRY 매크로 포함 됩니다. 지도에서 각 항목을 지정 합니다 CMySnapInExtData 클래스。