Win32 API 日本語リファレンス
ホームStorage.ProjectedFileSystem › PRJ_NOTIFY_TYPES

PRJ_NOTIFY_TYPES

列挙型フラグ
基底型u4

メンバー 15

名前10進16進説明
PRJ_NOTIFY_NONE00x0通知しません。
PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS10x1

仮想化インスタンスの開始時に指定した場合:

  • 仮想化インスタンス、またはそのインスタンスの指定されたサブツリーに対して通知を送信しないことを示します。

通知への応答として指定した場合:

  • 指定されたファイルまたはフォルダーに対して、そのすべてのハンドルが閉じられるまで通知を送信しないことを示します。
メモ このビットが通知マスクに含まれている場合、マスク内の他のすべてのビットより優先されます。たとえば、このビットを含む有効なマスクは、PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS のみを含むものとして扱われます。
PRJ_NOTIFY_FILE_OPENED20x2

仮想化インスタンスの開始時に指定した場合:

  • 既存のファイルまたはフォルダーに対してハンドルが作成されたときに、プロバイダーへ通知することを示します。

通知への応答として指定した場合:

  • そのファイルまたはフォルダーに対してさらにハンドルが作成された場合に、プロバイダーへ通知することを示します。
PRJ_NOTIFY_NEW_FILE_CREATED40x4

仮想化インスタンスの開始時に指定した場合:

  • 新しいファイルまたはフォルダーが作成されたときに、プロバイダーへ通知します。

通知への応答として指定した場合:

  • 効果はありません。
PRJ_NOTIFY_FILE_OVERWRITTEN80x8

仮想化インスタンスの開始時に指定した場合:

  • 既存のファイルが上書きまたは置換されたときに、プロバイダーへ通知することを示します。

通知への応答として指定した場合:

  • そのファイルまたはフォルダーが上書きまたは置換されたときに、プロバイダーへ通知することを示します。
PRJ_NOTIFY_PRE_DELETE160x10

仮想化インスタンスの開始時に指定した場合:

  • ファイルまたはフォルダーが削除されようとしているときに、プロバイダーへ通知することを示します。

通知への応答として指定した場合:

  • ファイルまたはフォルダーが削除されようとしているときに、プロバイダーへ通知することを示します。
PRJ_NOTIFY_PRE_RENAME320x20

仮想化インスタンスの開始時に指定した場合:

  • ファイルまたはフォルダーの名前が変更されようとしているときに、プロバイダーへ通知することを示します。

通知への応答として指定した場合:

  • ファイルまたはフォルダーの名前が変更されようとしているときに、プロバイダーへ通知することを示します。
PRJ_NOTIFY_PRE_SET_HARDLINK640x40

仮想化インスタンスの開始時に指定した場合:

  • ファイルに対してハードリンクが作成されようとしているときに、プロバイダーへ通知することを示します。

通知への応答として指定した場合:

  • ファイルに対してハードリンクが作成されようとしているときに、プロバイダーへ通知することを示します。
PRJ_NOTIFY_FILE_RENAMED1280x80

仮想化インスタンスの開始時に指定した場合:

  • ファイルまたはフォルダーの名前が変更されたことを、プロバイダーへ通知することを示します。

通知への応答として指定した場合:

  • ファイルまたはフォルダーの名前が変更されたときに、プロバイダーへ通知することを示します。
PRJ_NOTIFY_HARDLINK_CREATED2560x100

仮想化インスタンスの開始時に指定した場合:

  • ファイルに対してハードリンクが作成されたことを、プロバイダーへ通知することを示します。

通知への応答として指定した場合:

  • そのファイルに対してハードリンクが作成されたことを、プロバイダーへ通知することを示します。
PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION5120x200

仮想化インスタンスの開始時に指定した場合:

  • ファイル/フォルダーのハンドルが閉じられ、閉じられたハンドルによる変更も削除も行われなかったときに、プロバイダーへ通知します。

通知への応答として指定した場合:

  • そのファイル/フォルダーのハンドルが閉じられ、閉じられたハンドルに関連する変更や削除がなかったときに、プロバイダーへ通知します。
PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED10240x400

仮想化インスタンスの開始時に指定した場合:

  • ファイル/フォルダーのハンドルが閉じられ、そのハンドルがファイル/フォルダーの変更に使用されていたときに、プロバイダーへ通知します。

通知への応答として指定した場合:

  • そのファイル/フォルダーのハンドルが閉じられ、そのハンドルがファイル/フォルダーの変更に使用されていたときに、プロバイダーへ通知します。
PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED20480x800

仮想化インスタンスの開始時に指定した場合:

  • ファイル/フォルダーのハンドルが閉じられ、そのハンドルを閉じる処理の一部としてファイル/フォルダーが削除されたときに、プロバイダーへ通知します。

通知への応答として指定した場合:

  • そのファイル/フォルダーのハンドルが閉じられ、そのハンドルを閉じる処理の一部としてファイル/フォルダーが削除されたときに、プロバイダーへ通知します。
PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL40960x1000

仮想化インスタンスの開始時に指定した場合:

  • プレースホルダーを完全なファイルに変換しようとしているときに、プロバイダーへ通知します。

通知への応答として指定した場合:

  • 対象が完全なファイルではなくプレースホルダーである場合に、そのプレースホルダーを完全なファイルに変換しようとしているときに、プロバイダーへ通知します。
PRJ_NOTIFY_USE_EXISTING_MASK42949672950xFFFFFFFF

仮想化インスタンスの開始時に指定した場合:

  • この値は仮想化インスタンスの開始時には使用できません。

通知への応答として指定した場合:

  • このファイル/フォルダーに対して、既存の通知セットを引き続き使用します。

公式ドキュメント

ファイルまたはフォルダーへの変更を示す通知の種類です。

解説(Remarks)

ProjFS は、ファイル システムのアクティビティに関する通知をプロバイダーへ送信できます。プロバイダーは仮想化インスタンスを開始するときに、受け取りたい通知を指定します。また、ファイルが作成または名前変更されるときに、そのファイルに対する新しい通知セットを指定することもできます。通知を受け取るには、プロバイダーは PrjStartVirtualizing の callbacks パラメーターに PRJ_NOTIFICATION_CB 通知コールバック ルーチンを登録する必要があります。

ProjFS は、アクティブな仮想化ルート内のファイルとディレクトリについて通知を送信します。つまり、ProjFS は仮想化ルートとその配下の項目について通知を送信します。仮想化ルートの配下に何が含まれるかを判断する際、仮想化ルート内のシンボリック リンクやジャンクションは走査されません。

ProjFS は、ファイルのプライマリ データ ストリームについてのみ通知を送信します。代替データ ストリームに対する操作については通知を送信しません。

ProjFS は、非アクティブな仮想化インスタンスについては通知を送信しません。次のいずれかに該当する場合、仮想化インスタンスは非アクティブです。

プロバイダーは、仮想化インスタンスの開始時、または新しい通知マスクの設定が許可されている通知への応答として、受け取りたい通知を指定できます。

プロバイダーは、仮想化インスタンスを開始するときに、その仮想化インスタンスに対して ProjFS に送信させたい既定の通知セットを指定します。この通知セットは PrjStartVirtualizing の options パラメーターの NotificationMappings メンバーで指定し、仮想化インスタンスのサブツリーごとに異なる通知マスクを指定できます。

プロバイダーは、ファイルのオープン、作成、置換/上書き、名前変更の通知への応答として、異なる通知マスクを指定することもできます。ProjFS は、そのファイルへのすべてのハンドルが閉じられるまで、これらの通知を送信し続けます。その後は既定の通知セットに戻ります。当然ながら、既定の通知セットでオープンや作成などについて ProjFS が通知するよう指定されていない場合、プロバイダーはそれらの操作に対して異なるマスクを指定する機会を得られません。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum PRJ_NOTIFY_TYPES : unsigned int {
    PRJ_NOTIFY_NONE = 0,
    PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS = 1,
    PRJ_NOTIFY_FILE_OPENED = 2,
    PRJ_NOTIFY_NEW_FILE_CREATED = 4,
    PRJ_NOTIFY_FILE_OVERWRITTEN = 8,
    PRJ_NOTIFY_PRE_DELETE = 16,
    PRJ_NOTIFY_PRE_RENAME = 32,
    PRJ_NOTIFY_PRE_SET_HARDLINK = 64,
    PRJ_NOTIFY_FILE_RENAMED = 128,
    PRJ_NOTIFY_HARDLINK_CREATED = 256,
    PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION = 512,
    PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED = 1024,
    PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED = 2048,
    PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL = 4096,
    PRJ_NOTIFY_USE_EXISTING_MASK = 4294967295
} PRJ_NOTIFY_TYPES;
[Flags]
public enum PRJ_NOTIFY_TYPES : uint
{
    PRJ_NOTIFY_NONE = 0,
    PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS = 1,
    PRJ_NOTIFY_FILE_OPENED = 2,
    PRJ_NOTIFY_NEW_FILE_CREATED = 4,
    PRJ_NOTIFY_FILE_OVERWRITTEN = 8,
    PRJ_NOTIFY_PRE_DELETE = 16,
    PRJ_NOTIFY_PRE_RENAME = 32,
    PRJ_NOTIFY_PRE_SET_HARDLINK = 64,
    PRJ_NOTIFY_FILE_RENAMED = 128,
    PRJ_NOTIFY_HARDLINK_CREATED = 256,
    PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION = 512,
    PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED = 1024,
    PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED = 2048,
    PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL = 4096,
    PRJ_NOTIFY_USE_EXISTING_MASK = 4294967295,
}
<Flags>
Public Enum PRJ_NOTIFY_TYPES As UInteger
    PRJ_NOTIFY_NONE = 0
    PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS = 1
    PRJ_NOTIFY_FILE_OPENED = 2
    PRJ_NOTIFY_NEW_FILE_CREATED = 4
    PRJ_NOTIFY_FILE_OVERWRITTEN = 8
    PRJ_NOTIFY_PRE_DELETE = 16
    PRJ_NOTIFY_PRE_RENAME = 32
    PRJ_NOTIFY_PRE_SET_HARDLINK = 64
    PRJ_NOTIFY_FILE_RENAMED = 128
    PRJ_NOTIFY_HARDLINK_CREATED = 256
    PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION = 512
    PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED = 1024
    PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED = 2048
    PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL = 4096
    PRJ_NOTIFY_USE_EXISTING_MASK = 4294967295
End Enum
import enum

class PRJ_NOTIFY_TYPES(enum.IntFlag):
    PRJ_NOTIFY_NONE = 0
    PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS = 1
    PRJ_NOTIFY_FILE_OPENED = 2
    PRJ_NOTIFY_NEW_FILE_CREATED = 4
    PRJ_NOTIFY_FILE_OVERWRITTEN = 8
    PRJ_NOTIFY_PRE_DELETE = 16
    PRJ_NOTIFY_PRE_RENAME = 32
    PRJ_NOTIFY_PRE_SET_HARDLINK = 64
    PRJ_NOTIFY_FILE_RENAMED = 128
    PRJ_NOTIFY_HARDLINK_CREATED = 256
    PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION = 512
    PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED = 1024
    PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED = 2048
    PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL = 4096
    PRJ_NOTIFY_USE_EXISTING_MASK = 4294967295
// PRJ_NOTIFY_TYPES (flags)
pub const PRJ_NOTIFY_NONE: u32 = 0;
pub const PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS: u32 = 1;
pub const PRJ_NOTIFY_FILE_OPENED: u32 = 2;
pub const PRJ_NOTIFY_NEW_FILE_CREATED: u32 = 4;
pub const PRJ_NOTIFY_FILE_OVERWRITTEN: u32 = 8;
pub const PRJ_NOTIFY_PRE_DELETE: u32 = 16;
pub const PRJ_NOTIFY_PRE_RENAME: u32 = 32;
pub const PRJ_NOTIFY_PRE_SET_HARDLINK: u32 = 64;
pub const PRJ_NOTIFY_FILE_RENAMED: u32 = 128;
pub const PRJ_NOTIFY_HARDLINK_CREATED: u32 = 256;
pub const PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION: u32 = 512;
pub const PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED: u32 = 1024;
pub const PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED: u32 = 2048;
pub const PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL: u32 = 4096;
pub const PRJ_NOTIFY_USE_EXISTING_MASK: u32 = 4294967295;
// PRJ_NOTIFY_TYPES
const (
	PRJ_NOTIFY_NONE uint32 = 0
	PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS uint32 = 1
	PRJ_NOTIFY_FILE_OPENED uint32 = 2
	PRJ_NOTIFY_NEW_FILE_CREATED uint32 = 4
	PRJ_NOTIFY_FILE_OVERWRITTEN uint32 = 8
	PRJ_NOTIFY_PRE_DELETE uint32 = 16
	PRJ_NOTIFY_PRE_RENAME uint32 = 32
	PRJ_NOTIFY_PRE_SET_HARDLINK uint32 = 64
	PRJ_NOTIFY_FILE_RENAMED uint32 = 128
	PRJ_NOTIFY_HARDLINK_CREATED uint32 = 256
	PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION uint32 = 512
	PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED uint32 = 1024
	PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED uint32 = 2048
	PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL uint32 = 4096
	PRJ_NOTIFY_USE_EXISTING_MASK uint32 = 4294967295
)
const
  PRJ_NOTIFY_NONE = 0;
  PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS = 1;
  PRJ_NOTIFY_FILE_OPENED = 2;
  PRJ_NOTIFY_NEW_FILE_CREATED = 4;
  PRJ_NOTIFY_FILE_OVERWRITTEN = 8;
  PRJ_NOTIFY_PRE_DELETE = 16;
  PRJ_NOTIFY_PRE_RENAME = 32;
  PRJ_NOTIFY_PRE_SET_HARDLINK = 64;
  PRJ_NOTIFY_FILE_RENAMED = 128;
  PRJ_NOTIFY_HARDLINK_CREATED = 256;
  PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION = 512;
  PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED = 1024;
  PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED = 2048;
  PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL = 4096;
  PRJ_NOTIFY_USE_EXISTING_MASK = 4294967295;
// PRJ_NOTIFY_TYPES
pub const PRJ_NOTIFY_NONE: u32 = 0;
pub const PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS: u32 = 1;
pub const PRJ_NOTIFY_FILE_OPENED: u32 = 2;
pub const PRJ_NOTIFY_NEW_FILE_CREATED: u32 = 4;
pub const PRJ_NOTIFY_FILE_OVERWRITTEN: u32 = 8;
pub const PRJ_NOTIFY_PRE_DELETE: u32 = 16;
pub const PRJ_NOTIFY_PRE_RENAME: u32 = 32;
pub const PRJ_NOTIFY_PRE_SET_HARDLINK: u32 = 64;
pub const PRJ_NOTIFY_FILE_RENAMED: u32 = 128;
pub const PRJ_NOTIFY_HARDLINK_CREATED: u32 = 256;
pub const PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION: u32 = 512;
pub const PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED: u32 = 1024;
pub const PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED: u32 = 2048;
pub const PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL: u32 = 4096;
pub const PRJ_NOTIFY_USE_EXISTING_MASK: u32 = 4294967295;
const
  PRJ_NOTIFY_NONE* = 0
  PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS* = 1
  PRJ_NOTIFY_FILE_OPENED* = 2
  PRJ_NOTIFY_NEW_FILE_CREATED* = 4
  PRJ_NOTIFY_FILE_OVERWRITTEN* = 8
  PRJ_NOTIFY_PRE_DELETE* = 16
  PRJ_NOTIFY_PRE_RENAME* = 32
  PRJ_NOTIFY_PRE_SET_HARDLINK* = 64
  PRJ_NOTIFY_FILE_RENAMED* = 128
  PRJ_NOTIFY_HARDLINK_CREATED* = 256
  PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION* = 512
  PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED* = 1024
  PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED* = 2048
  PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL* = 4096
  PRJ_NOTIFY_USE_EXISTING_MASK* = 4294967295
enum PRJ_NOTIFY_TYPES : uint {
    PRJ_NOTIFY_NONE = 0,
    PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS = 1,
    PRJ_NOTIFY_FILE_OPENED = 2,
    PRJ_NOTIFY_NEW_FILE_CREATED = 4,
    PRJ_NOTIFY_FILE_OVERWRITTEN = 8,
    PRJ_NOTIFY_PRE_DELETE = 16,
    PRJ_NOTIFY_PRE_RENAME = 32,
    PRJ_NOTIFY_PRE_SET_HARDLINK = 64,
    PRJ_NOTIFY_FILE_RENAMED = 128,
    PRJ_NOTIFY_HARDLINK_CREATED = 256,
    PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION = 512,
    PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED = 1024,
    PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED = 2048,
    PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL = 4096,
    PRJ_NOTIFY_USE_EXISTING_MASK = 4294967295,
}
#define global PRJ_NOTIFY_NONE                               0x0
#define global PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS             0x1
#define global PRJ_NOTIFY_FILE_OPENED                        0x2
#define global PRJ_NOTIFY_NEW_FILE_CREATED                   0x4
#define global PRJ_NOTIFY_FILE_OVERWRITTEN                   0x8
#define global PRJ_NOTIFY_PRE_DELETE                         0x10
#define global PRJ_NOTIFY_PRE_RENAME                         0x20
#define global PRJ_NOTIFY_PRE_SET_HARDLINK                   0x40
#define global PRJ_NOTIFY_FILE_RENAMED                       0x80
#define global PRJ_NOTIFY_HARDLINK_CREATED                   0x100
#define global PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION 0x200
#define global PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED   0x400
#define global PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED    0x800
#define global PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL           0x1000
#define global PRJ_NOTIFY_USE_EXISTING_MASK                  0xFFFFFFFF
; ※フラグ列挙型。ビットORで組み合わせ可(例: FOO|BAR)。