次の方法で共有


PRJ_NOTIFICATION列挙 (projectedfslib.h)

PRJ_NOTIFICATION_CB コールバックを送信するときに指定される通知値。

構文

typedef enum PRJ_NOTIFICATION {
  PRJ_NOTIFICATION_FILE_OPENED = 0x00000002,
  PRJ_NOTIFICATION_NEW_FILE_CREATED = 0x00000004,
  PRJ_NOTIFICATION_FILE_OVERWRITTEN = 0x00000008,
  PRJ_NOTIFICATION_PRE_DELETE = 0x00000010,
  PRJ_NOTIFICATION_PRE_RENAME = 0x00000020,
  PRJ_NOTIFICATION_PRE_SET_HARDLINK = 0x00000040,
  PRJ_NOTIFICATION_FILE_RENAMED = 0x00000080,
  PRJ_NOTIFICATION_HARDLINK_CREATED = 0x00000100,
  PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION = 0x00000200,
  PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED = 0x00000400,
  PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED = 0x00000800,
  PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL = 0x00001000
} ;

定数

 
PRJ_NOTIFICATION_FILE_OPENED
値: 0x00000002
- 既存のファイルまたはフォルダーに対してハンドルが作成されたことを示します。
- プロバイダーは、通知に応答するときに、このファイルまたはフォルダーの新しい通知マスクを指定できます。
PRJ_NOTIFICATION_NEW_FILE_CREATED
値: 0x00000004
- 新しいファイルまたはフォルダーが作成されました。
- プロバイダーは、通知に応答するときに、このファイルまたはフォルダーの新しい通知マスクを指定できます。
PRJ_NOTIFICATION_FILE_OVERWRITTEN
値: 0x00000008
- 既存のファイルが上書きまたは上書きされました。
- プロバイダーは、通知に応答するときに、このファイルまたはフォルダーの新しい通知マスクを指定できます。
PRJ_NOTIFICATION_PRE_DELETE
値: 0x00000010
- ファイルまたはフォルダーが削除されようとしています。
- プロバイダーがコールバックからエラー HRESULT コードを返した場合、削除は有効になりません。
PRJ_NOTIFICATION_PRE_RENAME
値: 0x00000020
- ファイルまたはフォルダーの名前が変更されようとしています。
- プロバイダーがコールバックからエラー HRESULT コードを返した場合、名前の変更は有効になりません。
- PRJ_NOTIFICATION_CB の callbackData-FilePathName> パラメーターが空の文字列の場合、名前の変更によって仮想化インスタンスの外部からファイル/ディレクトリが移動されていることを示します。 その場合、プロバイダーが宛先パスを含むサブツリーを登録するときにこのビットを指定しなかった場合でも、プロバイダーが PRJ_NOTIFICATION_CB コールバックを登録した場合、この通知は常に送信されます。 ただし、宛先パスを含むサブツリーを登録するときに指定されたプロバイダーがPRJ_NOTIFICATION_SUPPRESS_NOTIFICATIONS場合、通知は抑制されます。
- PRJ_NOTIFICATION_CB の destinationFileName パラメーターが空の文字列の場合、名前の変更によって仮想化インスタンスからファイル/フォルダーが移動していることを示します。
- PRJ_NOTIFICATION_CBの callbackData-FilePathName> パラメーターと destinationFileName パラメーターの両方が空でない文字列である場合は、名前の変更が仮想化インスタンス内にあることを示します。 プロバイダーが PrjStartVirtualizing の options パラメーターの NotificationMappings メンバーのソース パスと宛先パスに対して異なる通知マスクを指定した場合、ソース パスまたは宛先パスを登録するときにプロバイダーがこのビットを指定した場合、この通知が送信されます。
PRJ_NOTIFICATION_PRE_SET_HARDLINK
値: 0x00000040
- ファイルのハード リンクが作成されようとしています。
- プロバイダーがコールバックからエラー HRESULT コードを返した場合、ハード リンク操作は有効になりません。
- PRJ_NOTIFICATION_CB の callbackData-FilePathName> パラメーターが空の文字列の場合、これは、仮想化インスタンス内にハード リンク名が作成されることを示します。つまり、仮想化インスタンス内に、仮想化インスタンスの外部に存在するファイルへの新しいハード リンクが作成されます。 その場合、新しいハード リンク名が付くサブツリーを登録するときにプロバイダーがこのビットを指定しなかった場合でも、プロバイダーが PRJ_NOTIFICATION_CB コールバックを登録した場合、この通知は常に送信されます。 ただし、宛先パスを含むサブツリーを登録するときに指定されたプロバイダーがPRJ_NOTIFICATION_SUPPRESS_NOTIFICATIONS場合、通知は抑制されます。
- PRJ_NOTIFICATION_CB の destinationFileName パラメーターが空の文字列の場合、これは、仮想化インスタンスの外部にハード リンク名が作成されることを示します。つまり、仮想化インスタンス内に存在するファイルの仮想化インスタンスの外部に新しいハード リンクが作成されます。
- PRJ_NOTIFICATION_CBの callbackData-FilePathName> パラメーターと destinationFileName パラメーターの両方が空でない文字列である場合は、仮想化インスタンス内に存在するファイルの仮想化インスタンス内に新しいハード リンクが作成されることを示します。 プロバイダーが PrjStartVirtualizing の options パラメーターの NotificationMappings メンバーのソース パスと宛先パスに対して異なる通知マスクを指定した場合、ソース パスまたは宛先パスを登録するときにプロバイダーがこのビットを指定した場合、この通知が送信されます。
PRJ_NOTIFICATION_FILE_RENAMED
値: 0x00000080
- ファイル/フォルダーの名前が変更されたことを示します。 ファイル/フォルダーが仮想化インスタンスに移動されている可能性があります。
- PRJ_NOTIFICATION_CB の callbackData-FilePathName> パラメーターが空の文字列の場合、名前の変更によって仮想化インスタンスの外部からファイル/ディレクトリが移動されたことを示します。 その場合、プロバイダーが宛先パスを含むサブツリーを登録するときにこのビットを指定しなかった場合でも、プロバイダーがPRJ_NOTIFICATION_CBコールバックを登録している場合、ProjFS は常にこの通知を送信します。
- PRJ_NOTIFICATION_CBの destinationFileName パラメーターが空の文字列の場合、名前の変更によってファイル/ディレクトリが仮想化インスタンスから移動されたことを示します。
- PRJ_NOTIFICATION_CBの callbackData-FilePathName> パラメーターと destinationFileName パラメーターの両方が空でない文字列である場合は、名前の変更が仮想化インスタンス内にあったことを示します。 プロバイダーが PrjStartVirtualizing の options パラメーターの NotificationMappings メンバーでソース パスと宛先パスに異なる通知マスクを指定した場合、ソース パスまたは宛先パスを登録するときにプロバイダーがこのビットを指定した場合、ProjFS はこの通知を送信します。
- プロバイダーは、通知に応答するときに、このファイル/ディレクトリの新しい通知マスクを指定できます。
PRJ_NOTIFICATION_HARDLINK_CREATED
値: 0x00000100
- ファイルのハード リンクが作成されたことを示します。
- PRJ_NOTIFICATION_CBの callbackData-FilePathName> パラメーターが空の文字列の場合、これは、ハード リンク名が仮想化インスタンス内に作成されたことを示します。つまり、仮想化インスタンス内に、仮想化インスタンスの外部に存在するファイルへの新しいハード リンクが作成されたことを示します。 その場合、新しいハード リンク名が付くサブツリーを登録するときにプロバイダーがこのビットを指定しなかった場合でも、プロバイダーがPRJ_NOTIFICATION_CBコールバックを登録した場合、ProjFS は常にこの通知を送信します。
- PRJ_NOTIFICATION_CBの destinationFileName パラメーターが空の文字列の場合、これは、ハード リンク名が仮想化インスタンスの外部に作成されたことを示します。つまり、仮想化インスタンス内に存在するファイルの仮想化インスタンスの外部に新しいハード リンクが作成されたことを示します。
- PRJ_NOTIFICATION_CBの callbackData-FilePathName> パラメーターと destinationFileName パラメーターの両方が空でない文字列である場合は、仮想化インスタンス内に存在するファイルの仮想化インスタンス内に新しいハード リンクが作成されたことを示します。 プロバイダーが PrjStartVirtualizing の options パラメーターの NotificationMappings メンバーでソース パスと宛先パスに異なる通知マスクを指定した場合、ソース パスまたは宛先パスを登録するときにプロバイダーがこのビットを指定した場合、ProjFS はこの通知を送信します。
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION
値: 0x00000200
- ハンドルがファイル/フォルダーで閉じられ、ハンドルが開いている間にファイルの内容が変更されず、ファイル/フォルダーが削除されませんでした
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED
値: 0x00000400
- ハンドルがファイルで閉じられ、ハンドルが開いている間にファイルの内容が変更された。
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED
値: 0x00000800
- ハンドルがファイル/フォルダーで閉じられ、ハンドルを閉じる一部として削除されました。
- プロバイダーもPRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED通知を受信するように登録し、ファイルを削除するハンドルを使用してファイルが変更された場合、PRJ_NOTIFICATION_CB の operationParameters-FileDeletedOnHandleClose.IsFileModified> パラメーターは TRUE になります。 これは、ディレクトリではなくファイルにのみ適用されます
PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL
値: 0x00001000
- ファイルはプレースホルダーから完全なファイルに拡張されようとしています。つまり、その内容は変更される可能性があります。
- プロバイダーがコールバックからエラー HRESULT コードを返した場合、ファイルは完全なファイルに展開されず、変換をトリガーした I/O は失敗します。
- 同じファイルを展開する複数のレーシング I/O がある場合、プロバイダーはこの通知値をファイルに対して 1 回だけ受け取ります。

要件

要件
サポートされている最小のクライアント Windows 10 Version 1809 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server [デスクトップ アプリのみ]
Header projectedfslib.h