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

PRJ_NOTIFICATION

列挙型
基底型i4

メンバー 12

名前10進16進説明
PRJ_NOTIFICATION_FILE_OPENED20x2
  • 既存のファイルまたはフォルダーに対してハンドルが作成されたことを示します。
  • プロバイダーは、この通知に応答する際に、このファイルまたはフォルダーに対する新しい通知マスクを指定できます。
PRJ_NOTIFICATION_NEW_FILE_CREATED40x4
  • 新しいファイルまたはフォルダーが作成されました。
  • プロバイダーは、この通知に応答する際に、このファイルまたはフォルダーに対する新しい通知マスクを指定できます。
PRJ_NOTIFICATION_FILE_OVERWRITTEN80x8
  • 既存のファイルが上書きまたは置換されました。
  • プロバイダーは、この通知に応答する際に、このファイルまたはフォルダーに対する新しい通知マスクを指定できます。
PRJ_NOTIFICATION_PRE_DELETE160x10
  • ファイルまたはフォルダーが削除されようとしています。
  • プロバイダーがコールバックからエラーの HRESULT コードを返した場合、削除は実行されません。
PRJ_NOTIFICATION_PRE_RENAME320x20
  • ファイルまたはフォルダーの名前が変更されようとしています。
  • プロバイダーがコールバックからエラーの 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_HARDLINK640x40
  • ファイルに対してハードリンクが作成されようとしています。
  • プロバイダーがコールバックからエラーの 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_RENAMED1280x80
  • ファイル/フォルダーの名前が変更されたことを示します。ファイル/フォルダーが仮想化インスタンスの内部へ移動された可能性があります。
  • 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_CREATED2560x100
  • ファイルに対してハードリンクが作成されたことを示します。
  • 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_MODIFICATION5120x200
  • ファイル/フォルダーのハンドルが閉じられ、ハンドルが開いている間にファイルの内容が変更されず、かつファイル/フォルダーが削除されなかったことを示します
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED10240x400
  • ファイルのハンドルが閉じられ、ハンドルが開いている間にファイルの内容が変更されたことを示します。
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED20480x800
  • ファイル/フォルダーのハンドルが閉じられ、ハンドルを閉じる処理の一環としてそれが削除されたことを示します。
  • プロバイダーが PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED 通知の受信も登録しており、ファイルの削除につながったハンドルを使用してそのファイルが変更されていた場合、PRJ_NOTIFICATION_CB の operationParameters->FileDeletedOnHandleClose.IsFileModified パラメーターは TRUE になります。これはファイルにのみ適用され、ディレクトリには適用されません
PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL40960x1000
  • ファイルがプレースホルダーから完全なファイルへ展開されようとしています。すなわち、その内容が変更される可能性があります。
  • プロバイダーがコールバックからエラーの HRESULT コードを返した場合、ファイルは完全なファイルへ展開されず、変換のきっかけとなった I/O は失敗します。
  • 同じファイルを展開しようとする複数の I/O が競合している場合でも、プロバイダーはそのファイルに対してこの通知値を 1 回だけ受け取ります。

公式ドキュメント

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

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_NOTIFICATION : int {
    PRJ_NOTIFICATION_FILE_OPENED = 2,
    PRJ_NOTIFICATION_NEW_FILE_CREATED = 4,
    PRJ_NOTIFICATION_FILE_OVERWRITTEN = 8,
    PRJ_NOTIFICATION_PRE_DELETE = 16,
    PRJ_NOTIFICATION_PRE_RENAME = 32,
    PRJ_NOTIFICATION_PRE_SET_HARDLINK = 64,
    PRJ_NOTIFICATION_FILE_RENAMED = 128,
    PRJ_NOTIFICATION_HARDLINK_CREATED = 256,
    PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION = 512,
    PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED = 1024,
    PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED = 2048,
    PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL = 4096
} PRJ_NOTIFICATION;
public enum PRJ_NOTIFICATION : int
{
    PRJ_NOTIFICATION_FILE_OPENED = 2,
    PRJ_NOTIFICATION_NEW_FILE_CREATED = 4,
    PRJ_NOTIFICATION_FILE_OVERWRITTEN = 8,
    PRJ_NOTIFICATION_PRE_DELETE = 16,
    PRJ_NOTIFICATION_PRE_RENAME = 32,
    PRJ_NOTIFICATION_PRE_SET_HARDLINK = 64,
    PRJ_NOTIFICATION_FILE_RENAMED = 128,
    PRJ_NOTIFICATION_HARDLINK_CREATED = 256,
    PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION = 512,
    PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED = 1024,
    PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED = 2048,
    PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL = 4096,
}
Public Enum PRJ_NOTIFICATION As Integer
    PRJ_NOTIFICATION_FILE_OPENED = 2
    PRJ_NOTIFICATION_NEW_FILE_CREATED = 4
    PRJ_NOTIFICATION_FILE_OVERWRITTEN = 8
    PRJ_NOTIFICATION_PRE_DELETE = 16
    PRJ_NOTIFICATION_PRE_RENAME = 32
    PRJ_NOTIFICATION_PRE_SET_HARDLINK = 64
    PRJ_NOTIFICATION_FILE_RENAMED = 128
    PRJ_NOTIFICATION_HARDLINK_CREATED = 256
    PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION = 512
    PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED = 1024
    PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED = 2048
    PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL = 4096
End Enum
import enum

class PRJ_NOTIFICATION(enum.IntEnum):
    PRJ_NOTIFICATION_FILE_OPENED = 2
    PRJ_NOTIFICATION_NEW_FILE_CREATED = 4
    PRJ_NOTIFICATION_FILE_OVERWRITTEN = 8
    PRJ_NOTIFICATION_PRE_DELETE = 16
    PRJ_NOTIFICATION_PRE_RENAME = 32
    PRJ_NOTIFICATION_PRE_SET_HARDLINK = 64
    PRJ_NOTIFICATION_FILE_RENAMED = 128
    PRJ_NOTIFICATION_HARDLINK_CREATED = 256
    PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION = 512
    PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED = 1024
    PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED = 2048
    PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL = 4096
// PRJ_NOTIFICATION
pub const PRJ_NOTIFICATION_FILE_OPENED: i32 = 2;
pub const PRJ_NOTIFICATION_NEW_FILE_CREATED: i32 = 4;
pub const PRJ_NOTIFICATION_FILE_OVERWRITTEN: i32 = 8;
pub const PRJ_NOTIFICATION_PRE_DELETE: i32 = 16;
pub const PRJ_NOTIFICATION_PRE_RENAME: i32 = 32;
pub const PRJ_NOTIFICATION_PRE_SET_HARDLINK: i32 = 64;
pub const PRJ_NOTIFICATION_FILE_RENAMED: i32 = 128;
pub const PRJ_NOTIFICATION_HARDLINK_CREATED: i32 = 256;
pub const PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION: i32 = 512;
pub const PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED: i32 = 1024;
pub const PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED: i32 = 2048;
pub const PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL: i32 = 4096;
// PRJ_NOTIFICATION
const (
	PRJ_NOTIFICATION_FILE_OPENED int32 = 2
	PRJ_NOTIFICATION_NEW_FILE_CREATED int32 = 4
	PRJ_NOTIFICATION_FILE_OVERWRITTEN int32 = 8
	PRJ_NOTIFICATION_PRE_DELETE int32 = 16
	PRJ_NOTIFICATION_PRE_RENAME int32 = 32
	PRJ_NOTIFICATION_PRE_SET_HARDLINK int32 = 64
	PRJ_NOTIFICATION_FILE_RENAMED int32 = 128
	PRJ_NOTIFICATION_HARDLINK_CREATED int32 = 256
	PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION int32 = 512
	PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED int32 = 1024
	PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED int32 = 2048
	PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL int32 = 4096
)
const
  PRJ_NOTIFICATION_FILE_OPENED = 2;
  PRJ_NOTIFICATION_NEW_FILE_CREATED = 4;
  PRJ_NOTIFICATION_FILE_OVERWRITTEN = 8;
  PRJ_NOTIFICATION_PRE_DELETE = 16;
  PRJ_NOTIFICATION_PRE_RENAME = 32;
  PRJ_NOTIFICATION_PRE_SET_HARDLINK = 64;
  PRJ_NOTIFICATION_FILE_RENAMED = 128;
  PRJ_NOTIFICATION_HARDLINK_CREATED = 256;
  PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION = 512;
  PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED = 1024;
  PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED = 2048;
  PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL = 4096;
// PRJ_NOTIFICATION
pub const PRJ_NOTIFICATION_FILE_OPENED: i32 = 2;
pub const PRJ_NOTIFICATION_NEW_FILE_CREATED: i32 = 4;
pub const PRJ_NOTIFICATION_FILE_OVERWRITTEN: i32 = 8;
pub const PRJ_NOTIFICATION_PRE_DELETE: i32 = 16;
pub const PRJ_NOTIFICATION_PRE_RENAME: i32 = 32;
pub const PRJ_NOTIFICATION_PRE_SET_HARDLINK: i32 = 64;
pub const PRJ_NOTIFICATION_FILE_RENAMED: i32 = 128;
pub const PRJ_NOTIFICATION_HARDLINK_CREATED: i32 = 256;
pub const PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION: i32 = 512;
pub const PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED: i32 = 1024;
pub const PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED: i32 = 2048;
pub const PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL: i32 = 4096;
const
  PRJ_NOTIFICATION_FILE_OPENED* = 2
  PRJ_NOTIFICATION_NEW_FILE_CREATED* = 4
  PRJ_NOTIFICATION_FILE_OVERWRITTEN* = 8
  PRJ_NOTIFICATION_PRE_DELETE* = 16
  PRJ_NOTIFICATION_PRE_RENAME* = 32
  PRJ_NOTIFICATION_PRE_SET_HARDLINK* = 64
  PRJ_NOTIFICATION_FILE_RENAMED* = 128
  PRJ_NOTIFICATION_HARDLINK_CREATED* = 256
  PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION* = 512
  PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED* = 1024
  PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED* = 2048
  PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL* = 4096
enum PRJ_NOTIFICATION : int {
    PRJ_NOTIFICATION_FILE_OPENED = 2,
    PRJ_NOTIFICATION_NEW_FILE_CREATED = 4,
    PRJ_NOTIFICATION_FILE_OVERWRITTEN = 8,
    PRJ_NOTIFICATION_PRE_DELETE = 16,
    PRJ_NOTIFICATION_PRE_RENAME = 32,
    PRJ_NOTIFICATION_PRE_SET_HARDLINK = 64,
    PRJ_NOTIFICATION_FILE_RENAMED = 128,
    PRJ_NOTIFICATION_HARDLINK_CREATED = 256,
    PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION = 512,
    PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED = 1024,
    PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED = 2048,
    PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL = 4096,
}
#define global PRJ_NOTIFICATION_FILE_OPENED                        0x2
#define global PRJ_NOTIFICATION_NEW_FILE_CREATED                   0x4
#define global PRJ_NOTIFICATION_FILE_OVERWRITTEN                   0x8
#define global PRJ_NOTIFICATION_PRE_DELETE                         0x10
#define global PRJ_NOTIFICATION_PRE_RENAME                         0x20
#define global PRJ_NOTIFICATION_PRE_SET_HARDLINK                   0x40
#define global PRJ_NOTIFICATION_FILE_RENAMED                       0x80
#define global PRJ_NOTIFICATION_HARDLINK_CREATED                   0x100
#define global PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION 0x200
#define global PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED   0x400
#define global PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED    0x800
#define global PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL           0x1000