PRJ_NOTIFICATION_CB コールバック関数 (projectedfslib.h)
ファイル システムの操作に関する通知をプロバイダーに配信します。
構文
PRJ_NOTIFICATION_CB PrjNotificationCb;
HRESULT PrjNotificationCb(
[in] const PRJ_CALLBACK_DATA *callbackData,
[in] BOOLEAN isDirectory,
[in] PRJ_NOTIFICATION notification,
[in, optional] PCWSTR destinationFileName,
[in, out] PRJ_NOTIFICATION_PARAMETERS *operationParameters
)
{...}
パラメーター
[in] callbackData
操作に関する情報。 このコールバックを実装するには、次の callbackData メンバーが必要です。
- FilePathName 通知が関連するファイルまたはディレクトリのパスを識別します。
プロバイダーは、コールバックの実行中にのみこのバッファーにアクセスできます。 操作をペンで処理し、このバッファーのデータが必要な場合は、独自のコピーを作成する必要があります。
[in] isDirectory
callbackData の FilePathName フィールドがディレクトリを参照している場合は TRUE、それ以外の場合は FALSE。
[in] notification
通知を指定する PRJ_NOTIFICATION 値。
[in, optional] destinationFileName
通知がPRJ_NOTIFICATION_PRE_RENAMEまたはPRJ_NOTIFICATION_PRE_SET_HARDLINKの場合、これは、名前変更操作または set-hardlink 操作のターゲットの仮想化ルートに対する相対パスを指定する null で終わる Unicode 文字列を指します。
[in, out] operationParameters
通知の特定の値に対して追加のパラメーターを指定する、PRJ_NOTIFICATION_PARAMETERS共用体へのポインター。
PRJ_NOTIFICATION_FILE_OPENED、 PRJ_NOTIFICATION_NEW_FILE_CREATED、または PRJ_NOTIFICATION_FILE_OVERWRITTEN
-
PostCreate メンバーのフィールドを指定します。 以下のフィールドが対象です。
NotificationMask
-
PRJ_NOTIFICATION_CBコールバックから戻ると、プロバイダーはファイルに対して受信する新しい通知セットをここで指定できます。
プロバイダーがこの値を 0 に設定する場合は、 PRJ_NOTIFY_USE_EXISTING_MASKを指定することと同じです。
-
PRJ_NOTIFICATION_CBコールバックから戻ると、プロバイダーはファイルに対して受信する新しい通知セットをここで指定できます。
PRJ_NOTIFICATION_FILE_RENAMED
-
FileRenamed メンバーのフィールドを指定します。 以下のフィールドが対象です。
NotificationMask
-
PRJ_NOTIFICATION_CBコールバックから戻ると、プロバイダーはファイルに対して受信する新しい通知セットをここで指定できます。
プロバイダーがこの値を 0 に設定する場合は、 PRJ_NOTIFY_USE_EXISTING_MASKを指定することと同じです。
-
PRJ_NOTIFICATION_CBコールバックから戻ると、プロバイダーはファイルに対して受信する新しい通知セットをここで指定できます。
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED
-
FileDeletedOnHandleClose メンバーのフィールドを指定します。 以下のフィールドが対象です。
NotificationMask
- プロバイダーが PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED と PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETEDに登録されている場合、ファイルが削除される前に変更された場合、このフィールドは TRUE に設定されます。
戻り値
リターン コード | 説明 |
---|---|
|
プロバイダーが通知を正常に処理しました。 |
|
プロバイダーは、後で操作を完了することを望みます。 |
プロバイダーが操作に失敗した場合の適切な HRESULT エラー コード。 操作前の通知 (名前に "PRE" を含む操作) の場合、プロバイダーからエラー コードが返された場合、ProjFS は、指定されたエラー コードを含む対応する操作に失敗します。
注釈
このコールバックは省略可能です。 プロバイダーがこのコールバックの実装を提供しない場合、通知は受信されません。
プロバイダーは 、PrjStartVirtualizing を呼び出すときに受信する通知に登録します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 Version 1809 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | projectedfslib.h |