IShellChangeNotify::OnChange メソッド (shlobj_core.h)

アイテムに影響を与えるイベントが発生したことを名前空間拡張機能に通知します。

構文

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

パラメーター

lEvent

型: LONG

発生したイベントを表す 値。 通常、一度に指定されるイベントは 1 つだけです。 複数のイベントを指定する場合、 pidl1 パラメーターと pidl2 パラメーターに含まれる値は、指定されたすべてのイベントでそれぞれ同じである必要があります。 lEvent パラメーターには、次のフラグの 1 つ以上を含む場合があります。

SHCNE_ALLEVENTS (0x7FFFFFFFL)

すべてのイベントが発生しました。

SHCNE_ASSOCCHANGED (0x08000000L)

ファイルの種類の関連付けが変更されました。 pidl1 パラメーターと pidl2 パラメーターは使用されず、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 (0x00000400L)

ローカル コンピューター上のフォルダーは、ネットワーク経由で共有されなくなりました。 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_MKDIRSHCNE_RMDIR、または SHCNE_RENAMEFOLDERを使用します。

SHCNE_UPDATEIMAGE (0x00008000L)

システム・イメージ・リスト内のイメージが変更されました。 pidl2 パラメーターには、変更されたシステム イメージ リスト内のインデックスが含まれています。

SHCNE_UPDATEITEM (0x00002000L)

既存のアイテム (フォルダーまたはフォルダー以外のアイテム) は変更されましたが、アイテムはまだ存在し、名前は変更されていません。 pidl1 パラメーターには、変更された項目が含まれています。 pidl2 パラメーターは使用されず、NULL にする必要があります。 フォルダー以外のアイテムが作成、削除、または名前変更された場合は、代わりに、 それぞれSHCNE_CREATESHCNE_DELETE、または SHCNE_RENAMEITEMを使用します。

次の値は、他のイベントの組み合わせを指定します。

SHCNE_DISKEVENTS (0x0002381FL)

すべてのディスク イベント識別子の組み合わせを指定します。

SHCNE_GLOBALEVENTS (0x0C0581E0L)

すべてのグローバル イベント識別子の組み合わせを指定します。

次の値は他のイベント値を変更し、単独では使用できません。

SHCNE_INTERRUPT (0x80000000L)

指定されたイベントは、システム割り込みの結果として発生しました。

[in, optional] pidl1

種類: PCIDLIST_ABSOLUTE

最初のイベント依存アイテム識別子。

[in, optional] pidl2

種類: PCIDLIST_ABSOLUTE

2 番目のイベント依存アイテム識別子。

戻り値

型: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

このメソッドは、関数と使用方法が SHChangeNotify と似ています。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shlobj_core.h
[DLL] Shell32.dll (バージョン 4.71 以降)