Freigeben über


PRJ_GET_FILE_DATA_CB Rückruffunktion (projectedfslib.h)

Fordert den Inhalt des primären Datenstroms einer Datei an.

Syntax

PRJ_GET_FILE_DATA_CB PrjGetFileDataCb;

HRESULT PrjGetFileDataCb(
  [in] const PRJ_CALLBACK_DATA *callbackData,
  [in] UINT64 byteOffset,
  [in] UINT32 length
)
{...}

Parameter

[in] callbackData

Informationen zum Vorgang. Die folgenden callbackData-Member sind erforderlich, um diesen Rückruf zu implementieren:

FilePathName Gibt den Pfad zur Datei im Sicherungsspeicher des Anbieters an, für den Daten zurückgegeben werden sollen. Beachten Sie, dass dies den Namen widerspiegelt, den die Datei beim ersten Erstellen ihres Platzhalters hatte. Wenn es seitdem umbenannt wurde, identifiziert FilePathName den ursprünglichen Namen (vorab umbenennen), nicht den aktuellen Namen (nach der Umbenennung).
DataStreamIdDer eindeutige Wert, der diesem Dateistream zugeordnet werden soll. Der Anbieter muss diesen Wert im dataStreamId-Parameter von PrjWriteFileData übergeben, wenn er Dateidaten im Rahmen der Verarbeitung dieses Rückrufs bereitstellt.
VersionInfo Stellt die PRJ_PLACEHOLDER_VERSION_INFO Informationen bereit, die der Anbieter beim Erstellen des Platzhalters für diese Datei angegeben hat. Dadurch kann der Anbieter ermitteln, welche Version des Dateiinhalts zurückgegeben werden soll. Wenn die Datei umbenannt wurde und der Anbieter die Umbenennungen nachverfolgt, kann dies dem Anbieter auch dabei helfen, zu ermitteln, welche Dateiinhalte angefordert werden.

Der Anbieter kann nur während der Ausführung des Rückrufs auf diesen Puffer zugreifen. Wenn der Vorgang geschrieben werden soll und Daten aus diesem Puffer benötigt werden, muss er eine eigene Kopie davon erstellen.

[in] byteOffset

Offset der angeforderten Daten in Bytes vom Anfang der Datei. Der Anbieter muss Dateidaten ab oder vor diesem Offset zurückgeben.

[in] length

Anzahl der bytes der angeforderten Dateidaten. Der Anbieter muss mindestens so viele Bytes Dateidaten zurückgeben, die mit byteOffset beginnen.

Rückgabewert

Rückgabecode BESCHREIBUNG
S_OK
Der Anbieter hat erfolgreich alle angeforderten Daten zurückgegeben.
HRESULT_FROM_WIN32(ERROR_IO_PENDING)
Der Anbieter möchte den Vorgang zu einem späteren Zeitpunkt abschließen.
 

Ein entsprechender HRESULT-Fehlercode, wenn der Anbieter den Vorgang ausschlägt.

Hinweise

Wenn ProjFS die Daten empfängt, schreibt es sie in die Datei, um sie in einen hydrierten Platzhalter zu konvertieren.

Um diesen Rückruf zu verarbeiten, gibt der Anbieter einen oder mehrere Aufrufe an PrjWriteFileData aus, um ProjFS den angeforderten Inhalt des primären Datenstroms der Datei zu erteilen. Anschließend schließt der Anbieter den Rückruf ab.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1809 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile projectedfslib.h