in ProjectedFSLib.Managed.API/VirtualizationInstance.cpp [1654:1690]
HRESULT PrjNotifyOperationCB(_In_ PRJ_CALLBACK_DATA* callbackData,
_In_ BOOLEAN isDirectory,
_In_ PRJ_NOTIFICATION_TYPE notificationType,
_In_opt_ LPCWSTR destinationFileName,
_Inout_ PRJ_OPERATION_PARAMETERS* operationParameters)
{
HRESULT hr;
PRJ_NOTIFICATION_PARAMETERS notificationParameters = {};
// Transfer input parameters to 1803-style parameter structure.
switch (notificationType)
{
case PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED:
notificationParameters.FileDeletedOnHandleClose.IsFileModified = operationParameters->FileDeletedOnHandleClose.IsFileModified;
break;
}
hr = PrjNotificationCB(callbackData, isDirectory, notificationType, destinationFileName, ¬ificationParameters);
// Transfer output parameters from 1803-style parameter structure.
switch (notificationType)
{
case PRJ_NOTIFICATION_FILE_OPENED:
case PRJ_NOTIFICATION_NEW_FILE_CREATED:
case PRJ_NOTIFICATION_FILE_OVERWRITTEN:
operationParameters->PostCreate.NotificationMask = notificationParameters.PostCreate.NotificationMask;
break;
case PRJ_NOTIFICATION_FILE_RENAMED:
operationParameters->FileRenamed.NotificationMask = notificationParameters.FileRenamed.NotificationMask;
break;
}
return hr;
}