Freigeben über


LPPROGRESS_ROUTINE Rückruffunktion (winbase.h)

Eine anwendungsdefinierte Rückruffunktion, die mit den Funktionen CopyFileEx, MoveFileTransacted und MoveFileWithProgress verwendet wird. Sie wird aufgerufen, wenn ein Teil eines Kopier- oder Verschiebungsvorgangs abgeschlossen ist. Der LPPROGRESS_ROUTINE Typ definiert einen Zeiger auf diese Rückruffunktion. CopyProgressRoutine ist ein Platzhalter für den anwendungsdefinierte Funktionsnamen.

Syntax

LPPROGRESS_ROUTINE LpprogressRoutine;

DWORD LpprogressRoutine(
  [in]           LARGE_INTEGER TotalFileSize,
  [in]           LARGE_INTEGER TotalBytesTransferred,
  [in]           LARGE_INTEGER StreamSize,
  [in]           LARGE_INTEGER StreamBytesTransferred,
  [in]           DWORD dwStreamNumber,
  [in]           DWORD dwCallbackReason,
  [in]           HANDLE hSourceFile,
  [in]           HANDLE hDestinationFile,
  [in, optional] LPVOID lpData
)
{...}

Parameter

[in] TotalFileSize

Die Gesamtgröße der Datei in Byte.

[in] TotalBytesTransferred

Die Gesamtzahl der Bytes, die seit Beginn des Kopiervorgangs aus der Quelldatei in die Zieldatei übertragen wurden.

[in] StreamSize

Die Gesamtgröße des aktuellen Dateidatenstroms in Bytes.

[in] StreamBytesTransferred

Die Gesamtzahl der Bytes im aktuellen Stream, die seit Beginn des Kopiervorgangs aus der Quelldatei in die Zieldatei übertragen wurden.

[in] dwStreamNumber

Ein Handle für den aktuellen Stream. Beim ersten Aufruf von CopyProgressRoutine ist die Streamnummer 1.

[in] dwCallbackReason

Der Grund, warum CopyProgressRoutine aufgerufen wurde. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
CALLBACK_CHUNK_FINISHED
0x00000000
Ein weiterer Teil der Datendatei wurde kopiert.
CALLBACK_STREAM_SWITCH
0x00000001
Ein weiterer Stream wurde erstellt und steht vor dem Kopieren. Dies ist der Rückrufgrund, der angegeben wird, wenn die Rückrufroutine zum ersten Mal aufgerufen wird.

[in] hSourceFile

Ein Handle für die Quelldatei.

[in] hDestinationFile

Ein Handle für die Zieldatei

[in, optional] lpData

Argument, das von CopyFileEx, MoveFileTransacted oder MoveFileWithProgress an CopyProgressRoutine übergeben wird.

Rückgabewert

Die CopyProgressRoutine-Funktion sollte einen der folgenden Werte zurückgeben.

Rückgabecode/-wert BESCHREIBUNG
PROGRESS_CANCEL
1
Brechen Sie den Kopiervorgang ab, und löschen Sie die Zieldatei.
PROGRESS_CONTINUE
0
Setzen Sie den Kopiervorgang fort.
PROGRESS_QUIET
3
Setzen Sie den Kopiervorgang fort, aber beenden Sie den Aufruf von CopyProgressRoutine , um den Fortschritt zu melden.
PROGRESS_STOP
2
Beenden Sie den Kopiervorgang. Es kann zu einem späteren Zeitpunkt neu gestartet werden.

Hinweise

Eine Anwendung kann diese Informationen verwenden, um eine Statusanzeige anzuzeigen, die die Gesamtzahl der kopierten Bytes als Prozent der Gesamtdateigröße anzeigt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winbase.h (Windows.h einschließen)

Weitere Informationen

CopyFileEx

Dateiverwaltungsfunktionen

MoveFileTransacted

MoveFileWithProgress