Share via


SFVM_GETNOTIFY メッセージ

変更通知イベントに登録する必要がある場所とイベントを指定するために、ビュー コールバック オブジェクトに送信される通知。 登録されると、これらの場所またはイベントで変更が発生すると、ビュー コールバック オブジェクトに通知されます。 これらのイベントは、 SFVM_FSNOTIFY を介してビュー コールバックに送信され、ビューによって処理されます。

SFVM_GETNOTIFY 

    wParam = (WPARAM)(LPITEMIDLIST*) pidl;

    lParam = (LPARAM)(LONG*) lEvents;

            

パラメーター

pidl [out]

ビューが変更の通知を受け取るために登録する必要があるアイテムの絶対 IDList へのポインター。 通常、これは表示される場所の IDList と同じですが、別の場所にすることもできます。

重要

この値の有効期間は、ビュー コールバック オブジェクトによって所有されます。 この値が不要になったときに作成して解放するのは、ビュー コールバック オブジェクトの役割です。 これには、ビュー コールバック オブジェクトにこの値が格納されている必要があります。 通常、値はビュー コールバック オブジェクトの _pidlMonitor メンバーに格納できます。 pidl を介して返される値の所有権規則は非標準であり、特別な注意が必要です。 ビュー コールバック オブジェクトは、この値を所有し、ビュー コールバック オブジェクト自体が破棄されるまで解放されないようにする必要があります。

 

lEvents [out]

1 つ以上の SHCNE 値を含む値。 使用可能な値の一覧については、「 SHChangeNotify 」を参照してください。 関連付けられたイベントのいずれかが発生したときに 、ビュー コールバック オブジェクトがSFVM_FSNOTIFY メッセージを受信するように登録されます。

戻り値

無視されますが、S_OKを返す必要があります。

解説

このコールバック メッセージが IDList またはイベント マスクの 0 以外の値を返さない場合、ビューは変更通知に登録されません。

次の例は、SFVM_GETNOTIFYのビュー コールバック関数のハンドラー コードの実装 例を示しています。

case SFVM_GETNOTIFY:
  *((LPITEMIDLIST*)wParam) = _pidl;    // Pass a reference whose lifetime this 
                                       // class is responsible for.
                                      
  *((LONG*)lParam) = SHCNE_DISKEVENTS; // A combination of all of the 
                                       // disk event identifiers.
                                       
   return S_OK;

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Shlobj.h

関連項目

SFVM_QUERYFSNOTIFY

IShellFolderViewCB::MessageSFVCB