PRJ_CALLBACKS structure (projectedfslib.h)

A set of callback routines to where the provider stores its implementation of the callback.

Syntax

typedef struct PRJ_CALLBACKS {
  PRJ_START_DIRECTORY_ENUMERATION_CB *StartDirectoryEnumerationCallback;
  PRJ_END_DIRECTORY_ENUMERATION_CB   *EndDirectoryEnumerationCallback;
  PRJ_GET_DIRECTORY_ENUMERATION_CB   *GetDirectoryEnumerationCallback;
  PRJ_GET_PLACEHOLDER_INFO_CB        *GetPlaceholderInfoCallback;
  PRJ_GET_FILE_DATA_CB               *GetFileDataCallback;
  PRJ_QUERY_FILE_NAME_CB             *QueryFileNameCallback;
  PRJ_NOTIFICATION_CB                *NotificationCallback;
  PRJ_CANCEL_COMMAND_CB              *CancelCommandCallback;
} PRJ_CALLBACKS;

Members

StartDirectoryEnumerationCallback

A pointer to the StartDirectoryEnumerationCallback.

EndDirectoryEnumerationCallback

A pointer to the EndDirectoryEnumerationCallback.

GetDirectoryEnumerationCallback

A pointer to the GetDirectoryEnumerationCallback.

GetPlaceholderInfoCallback

A pointer to the GetPlaceholderInformationCallback.

GetFileDataCallback

A pointer to the GetFileDataCallback.

QueryFileNameCallback

A pointer to the QueryFileNameCallback.

NotificationCallback

A pointer to the NotifyOperationCallback.

CancelCommandCallback

A pointer to the CancelCommandCallback.

Remarks

The provider must supply implementations for StartDirectoryEnumerationCallback, EndDirectoryEnumerationCallback, GetDirectoryEnumerationCallback, GetPlaceholderInformationCallback, and GetFileDataCallback.

The QueryFileNameCallback, NotifyOperationCallback, and CancelCommandCallback callbacks are optional.

  • If the provider does not supply an implementation of QueryFileNameCallback, ProjFS will invoke the directory enumeration callbacks to determine the existence of a file path in the provider's store.
  • If the provider does not supply an implementation of NotifyOperationCallback, it will not get any notifications from ProjFS.
  • If the provider does not supply an implementation of CancelCommandCallback, none of the other callbacks will be cancellable. The provider will process all callbacks synchronously.

Requirements

Requirement Value
Minimum supported client Windows 10, version 1809 [desktop apps only]
Minimum supported server Windows Server [desktop apps only]
Header projectedfslib.h