IFileOperation-Schnittstelle (shobjidl_core.h)
Macht Methoden zum Kopieren, Verschieben, Umbenennen, Erstellen und Löschen von Shellelementen sowie Methoden zum Bereitstellen von Status- und Fehlerdialogfeldern verfügbar. Diese Schnittstelle ersetzt die SHFileOperation-Funktion .
Vererbung
Die IFileOperation-Schnittstelle erbt von der IUnknown-Schnittstelle . IFileOperation verfügt auch über folgende Membertypen:
Methoden
Die IFileOperation-Schnittstelle verfügt über diese Methoden.
IFileOperation::Advise Ermöglicht es einem Handler, status- und Fehlerinformationen für alle Vorgänge bereitzustellen. |
IFileOperation::ApplyPropertiesToItem Deklariert ein einzelnes Element, dessen Eigenschaftswerte festgelegt werden sollen. |
IFileOperation::ApplyPropertiesToItems Deklariert eine Gruppe von Elementen, für die ein allgemeiner Satz von Eigenschaftenwerten angewendet werden soll. |
IFileOperation::CopyItem Deklariert ein einzelnes Element, das in ein angegebenes Ziel kopiert werden soll. |
IFileOperation::CopyItems Deklariert eine Gruppe von Elementen, die in ein angegebenes Ziel kopiert werden sollen. |
IFileOperation::D eleteItem Deklariert ein einzelnes Element, das gelöscht werden soll. |
IFileOperation::D eleteItems Deklariert einen Satz von Elementen, die gelöscht werden sollen. |
IFileOperation::GetAnyOperationsAborted Ruft einen Wert ab, der angibt, ob Dateivorgänge, die durch einen Aufruf von IFileOperation::P erformOperations initiiert wurden, beendet wurden, bevor sie abgeschlossen wurden. Die Vorgänge können entweder durch Benutzeraktion oder unbeaufsichtigt vom System beendet werden. |
IFileOperation::MoveItem Deklariert ein einzelnes Element, das an ein angegebenes Ziel verschoben werden soll. |
IFileOperation::MoveItems Deklariert einen Satz von Elementen, die an ein angegebenes Ziel verschoben werden sollen. |
IFileOperation::NewItem Deklariert ein neues Element, das an einem angegebenen Speicherort erstellt werden soll. |
IFileOperation::P erformOperations Führt alle ausgewählten Vorgänge aus. |
IFileOperation::RenameItem Deklariert ein einzelnes Element, dem ein neuer Anzeigename zugewiesen werden soll. |
IFileOperation::RenameItems Deklariert eine Gruppe von Elementen, die einen neuen Anzeigenamen erhalten sollen. Alle Elemente erhalten den gleichen Namen. |
IFileOperation::SetOperationFlags Legt Parameter für den aktuellen Vorgang fest. |
IFileOperation::SetOwnerWindow Legt das übergeordnete Oder Besitzerfenster für Status- und Dialogfelder fest. |
IFileOperation::SetProgressDialog Gibt ein Dialogfeld an, mit dem der Fortschritt des Vorgangs angezeigt wird. |
IFileOperation::SetProgressMessage Nicht implementiert. (IFileOperation.SetProgressMessage) |
IFileOperation::SetProperties Deklariert einen Satz von Eigenschaften und Werten, die für ein Element oder ein Element festgelegt werden sollen. |
IFileOperation::Unadvise Beendet eine Beratungsverbindung, die zuvor über IFileOperation::Advise hergestellt wurde. |
Hinweise
Ein Shellelement kann ein beliebiges Objekt im Namespace sein, einschließlich Dateisystemobjekten wie Dateien und Ordnern, aber auch virtuelle Objekte. In den Themen der IFileOperation-Methode wird der Begriff "item" verwendet, um generisch auf jedes Namespaceobjekt zu verweisen.
IFileOperation bietet viele Vorteile gegenüber der älteren SHFileOperation-Funktion .
- Verwenden sie IShellItem , um Elemente anstelle von Zeichenfolgenpfaden zu identifizieren. SHFileOperation erforderte, dass Pfad- und Zielzeichenfolgen in zwei NULL-Zeichen anstelle des standardmäßigen einzelnen NULL-Zeichens beendet wurden, das selbst verwendet wurde, um mehrere Pfade in der Zeichenfolge zu trennen. Das Identifizieren eines Elements über IShellItem ist robuster und weniger anfällig für Programmierfehler. Außerdem können Sie auf Nicht-Dateisystemelemente wie virtuelle Ordner zugreifen. Mehrere Elemente in einem Vorgang können als IShellItemArray, IDataObject oder eine Sammlung übergeben werden, auf die über IEnumShellItems zugegriffen wird, anstatt als Zeichenfolge.
- Genauere Fehlerberichterstattung über HRESULT-Werte in Verbindung mit einer API wie FormatMessage. Rückgabecodes aus SHFileOperation können irreführend oder ungenau sein.
- Erweiterungen. Als COM-Schnittstelle (Component Object Model) kann IFileOperation seine Funktionen von einem Drittanbieter erweitern lassen, um seine spezifischen Anforderungen zu erfüllen, obwohl dies ein sehr seltener Fall sein sollte. Windows bietet eine Standardimplementierung von IFileOperation , die die Anforderungen der meisten Benutzer erfüllen sollte.
- Besseres Fortschrittsfeedback. Detaillierte Vorgangsfortschritte, einschließlich Benachrichtigungen, wann bestimmte Vorgänge für einzelne Elemente beginnen und enden, sowie der Gesamtfortschritt, können während des Vorgangs empfangen werden. ShFileOperation bot zwar eine Fortschritts-Benutzeroberfläche, war aber nicht so detailliert.
- Mehr Funktionalität. Zusätzlich zur Kopier-, Lösch-, Verschieben- und Umbenennensfunktion von SHFileOperation können Sie mit IFileOperation Eigenschaftswerte anwenden und neue Elemente erstellen.
- Mehr Kontrolle über den Vorgang. Zusätzlich zu den von SHFileOperation erkannten Vorgangsflags werden in IFileOperation::SetOperationFlags neue Flags erkannt, die erweiterte Vorgangsoptionen angeben.
- In einem Aufruf können verschiedene Vorgänge ausgeführt werden. Für instance können Sie eine Reihe von Dateien verschieben, andere kopieren, einen Ordner umbenennen und Eigenschaften auf ein weiteres Element in einem Vorgang anwenden. SHFileOperation konnte jeweils nur einen Vorgang ausführen– kopieren, verschieben, umbenennen oder löschen.
- Optional. Richten Sie die Ereignissenke für Fortschritts- status und Fehlerbenachrichtigungen über Advise und Unadvise ein.
- Legen Sie den Vorgangsstatus wie folgt fest:
- Geben Sie nach Bedarf an, welche Vorgänge für welche Elemente ausgeführt werden sollen.
- Ausführen der Vorgänge durch Aufrufen von PerformOperations
Ein vollständiges Beispiel, das die Erweiterung von IFileOperation veranschaulicht, ist im Windows Software Development Kit (SDK) enthalten. In einer Standardinstallation finden Sie sie unter %ProgramFiles%\Microsoft SDKs\Windows\v6.0\Samples\WinUI\Shell\AppPlatform\FileOperations.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | shobjidl_core.h (shobjidl.h einschließen) |