다음을 통해 공유


IShellChangeNotify::OnChange 메서드(shlobj_core.h)

항목에 영향을 주는 이벤트가 발생했음을 네임스페이스 확장에 알릴 수 있습니다.

구문

HRESULT OnChange(
                 LONG              lEvent,
  [in, optional] PCIDLIST_ABSOLUTE pidl1,
  [in, optional] PCIDLIST_ABSOLUTE pidl2
);

매개 변수

lEvent

형식: LONG

발생한 이벤트를 설명하는 값입니다. 일반적으로 한 번에 하나의 이벤트만 지정됩니다. 둘 이상의 이벤트를 지정한 경우 pidl1pidl2 매개 변수에 포함된 값은 지정된 모든 이벤트에 대해 각각 동일해야 합니다. lEvent 매개 변수에는 다음 플래그 중 하나 이상이 포함될 수 있습니다.

SHCNE_ALLEVENTS(0x7FFFFFFFL)

모든 이벤트가 발생했습니다.

SHCNE_ASSOCCHANGED(0x08000000L)

파일 형식 연결이 변경되었습니다. pidl1pidl2 매개 변수는 사용되지 않으며 NULL이어야 합니다.

SHCNE_ATTRIBUTES(0x00000800L)

항목 또는 폴더의 특성이 변경되었습니다. pidl1 매개 변수에는 변경된 항목 또는 폴더가 포함됩니다. pidl2 매개 변수는 사용되지 않으며 NULL이어야 합니다.

SHCNE_CREATE(0x00000002L)

폴더가 아닌 항목이 만들어졌습니다. pidl1 매개 변수에는 생성된 항목이 포함됩니다. pidl2 매개 변수는 사용되지 않으며 NULL이어야 합니다.

SHCNE_DELETE(0x00000004L)

폴더가 아닌 항목이 삭제되었습니다. pidl1 매개 변수에는 삭제된 항목이 포함됩니다. pidl2 매개 변수는 사용되지 않으며 NULL이어야 합니다.

SHCNE_DRIVEADD(0x00000100L)

드라이브가 추가되었습니다. pidl1 매개 변수에는 추가된 드라이브의 루트가 포함됩니다. pidl2 매개 변수는 사용되지 않으며 NULL이어야 합니다.

SHCNE_DRIVEADDGUI(0x00010000L)

Windows XP 이상: 사용되지 않습니다.

SHCNE_DRIVEREMOVED(0x00000080L)

드라이브가 제거되었습니다. pidl1 매개 변수에는 제거된 드라이브의 루트가 포함됩니다. pidl2 매개 변수는 사용되지 않으며 NULL이어야 합니다.

SHCNE_FREESPACE(0x00040000L)

드라이브의 여유 공간이 변경되었습니다. pidl1 매개 변수에는 사용 가능한 공간이 변경된 드라이브의 루트가 포함되어 있습니다. pidl2 매개 변수는 사용되지 않으며 NULL이어야 합니다.

SHCNE_MEDIAINSERTED(0x00000020L)

스토리지 미디어가 드라이브에 삽입되었습니다. pidl1 매개 변수에는 새 미디어가 포함된 드라이브의 루트가 포함되어 있습니다. pidl2 매개 변수는 사용되지 않으며 NULL이어야 합니다.

SHCNE_MEDIAREMOVED(0x00000040L)

스토리지 미디어가 드라이브에서 제거되었습니다. pidl1 매개 변수에는 미디어가 제거된 드라이브의 루트가 포함됩니다. pidl2 매개 변수는 사용되지 않으며 NULL이어야 합니다.

SHCNE_MKDIR(0x00000008L)

폴더가 만들어졌습니다. pidl1 매개 변수에는 생성된 폴더가 포함됩니다. pidl2 매개 변수는 사용되지 않으며 NULL이어야 합니다.

SHCNE_NETSHARE(0x00000200L)

로컬 컴퓨터의 폴더가 네트워크를 통해 공유되고 있습니다. pidl1 매개 변수에는 공유되는 폴더가 포함됩니다. pidl2 매개 변수는 사용되지 않으며 NULL이어야 합니다.

SHCNE_NETUNSHARE(0x000000400L)

로컬 컴퓨터의 폴더가 더 이상 네트워크를 통해 공유되지 않습니다. pidl1 매개 변수에는 더 이상 공유되지 않는 폴더가 포함됩니다. pidl2 매개 변수는 사용되지 않으며 NULL이어야 합니다.

SHCNE_RENAMEFOLDER(0x00020000L)

폴더 이름이 변경되었습니다. pidl1 매개 변수에는 폴더의 이전 PIDL 또는 이름이 포함됩니다. pidl2 매개 변수에는 폴더의 새 PIDL 또는 이름이 포함됩니다.

SHCNE_RENAMEITEM(0x00000001L)

폴더가 아닌 항목의 이름이 변경되었습니다. pidl1 매개 변수에는 항목의 이전 PIDL 또는 이름이 포함됩니다. pidl2 매개 변수에는 새 PIDL 또는 항목 이름이 포함됩니다.

SHCNE_RMDIR(0x00000010L)

폴더가 제거되었습니다. pidl1 매개 변수에는 제거된 폴더가 포함됩니다. pidl2 매개 변수는 사용되지 않으며 NULL이어야 합니다.

SHCNE_SERVERDISCONNECT(0x00004000L)

컴퓨터의 서버 연결이 끊어졌습니다. pidl1 매개 변수에는 컴퓨터의 연결이 끊어진 서버가 포함됩니다. pidl2 매개 변수는 사용되지 않으며 NULL이어야 합니다.

SHCNE_UPDATEDIR(0x00001000L)

기존 폴더의 내용이 변경되었지만 폴더는 여전히 존재하며 이름이 바뀌지 않았습니다. pidl1 매개 변수에는 변경된 폴더가 포함됩니다. pidl2 매개 변수는 사용되지 않으며 NULL이어야 합니다. 폴더를 만들거나 삭제하거나 이름을 바꾼 경우 각각 SHCNE_MKDIR, SHCNE_RMDIR 또는 SHCNE_RENAMEFOLDER 대신 사용합니다.

SHCNE_UPDATEIMAGE(0x00008000L)

시스템 이미지 목록의 이미지가 변경되었습니다. pidl2 매개 변수는 변경된 시스템 이미지 목록의 인덱스를 포함합니다.

SHCNE_UPDATEITEM(0x00002000L)

기존 항목(폴더 또는 비폴더)이 변경되었지만 항목은 여전히 존재하며 이름이 바뀌지 않았습니다. pidl1 매개 변수에는 변경된 항목이 포함됩니다. pidl2 매개 변수는 사용되지 않으며 NULL이어야 합니다. 폴더가 아닌 항목이 만들어지거나 삭제되거나 이름이 바뀐 경우 각각 SHCNE_CREATE, SHCNE_DELETE 또는 SHCNE_RENAMEITEM 대신 사용합니다.

다음 값은 다른 이벤트의 조합을 지정합니다.

SHCNE_DISKEVENTS(0x0002381FL)

모든 디스크 이벤트 식별자의 조합을 지정합니다.

SHCNE_GLOBALEVENTS(0x0C0581E0L)

모든 전역 이벤트 식별자의 조합을 지정합니다.

다음 값은 다른 이벤트 값을 수정하며 단독으로 사용할 수 없습니다.

SHCNE_INTERRUPT(0x80000000L)

시스템 인터럽트 결과로 지정된 이벤트가 발생했습니다.

[in, optional] pidl1

형식: PCIDLIST_ABSOLUTE

첫 번째 이벤트 종속 항목 식별자입니다.

[in, optional] pidl2

형식: PCIDLIST_ABSOLUTE

두 번째 이벤트 종속 항목 식별자입니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

이 메서드는 함수 및 사용에서 SHChangeNotify와 유사합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional, Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 shlobj_core.h
DLL Shell32.dll(버전 4.71 이상)