Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt die Besitzer- und ACL-Informationen an, die verwaltet werden sollen, wenn SMB zum Herunterladen oder Hochladen einer Datei verwendet wird.
Syntax
HRESULT SetFileACLFlags(
[in] DWORD Flags
);
Die Parameter
[in] Flags
Flags, die den Besitzer und die ACL-Informationen identifizieren, die beim Übertragen einer Datei mit SMB verwaltet werden sollen. Nachfolgende Aufrufe dieser Methode überschreiben die vorherigen Flags. Geben Sie 0 an, um die Flags aus dem Auftrag zu entfernen. Sie können eine beliebige Kombination der folgenden Flags angeben.
| Wert | Bedeutung |
|---|---|
|
Bei Festlegung werden die Besitzerinformationen der Datei beibehalten. Andernfalls besitzt der Benutzer, der die Complete-Methode aufruft, die Datei.
Sie müssen seRestorePrivilege haben, um dieses Flag festzulegen. Die Gruppe "Administratoren" enthält das SeRestorePrivilege-Privileg. |
|
Bei Festlegung werden die Gruppeninformationen der Datei beibehalten. Andernfalls verwendet BITS die primäre Gruppe des Auftragsbesitzers, um die Gruppeninformationen der Datei zuzuweisen.
Sie müssen seRestorePrivilege haben, um dieses Flag festzulegen. Die Gruppe "Administratoren" enthält das SeRestorePrivilege-Privileg. |
|
Bei Festlegung kopiert BITS die expliziten ACEs aus der Quelldatei und vererbbare ACEs aus dem Zielordner. Andernfalls kopiert BITS die vererbbaren ACEs aus dem Zielordner. Wenn der Zielordner keine vererbbaren ACEs enthält, verwendet BITS die standardmäßige DACL aus dem Konto des Besitzers. |
|
Bei Festlegung kopiert BITS die expliziten ACEs aus der Quelldatei und vererbbare ACEs aus dem Zielordner.
Andernfalls kopiert BITS die vererbbaren ACEs aus dem Zielordner.
Sie müssen SeSecurityPrivilege auf den lokalen und Remotecomputern haben, um dieses Kennzeichen festzulegen. Die Gruppe "Administratoren" enthält das SeSecurityPrivilege-Privileg. |
|
Bei Festlegung kopiert BITS die Besitzer- und ACL-Informationen. Dies entspricht dem Festlegen aller Flags einzeln. |
Rückgabewert
Diese Methode gibt die folgenden HRESULT-Werte sowie andere zurück.
| Rückgabecode | Description |
|---|---|
|
Die Flags wurden erfolgreich festgelegt. |
|
Sie müssen diese Methode aufrufen, bevor der Auftrag in den BG_JOB_STATE_TRANSFERRED Zustand wechselt. |
|
Der Parameter "Flags" enthält ein Flag, das sich nicht in der Liste befindet. |
Bemerkungen
Diese Flags gelten für Remotedateinamen, die das SMB-Protokoll angeben. BITS ignoriert die Flags für HTTP-Übertragungen.
BITS verteilt die Dateizeitstempel und -attribute (nicht erweiterte Attribute) für SMB-Dateien.
BITS wendet den Besitzer und die ACL-Informationen auf die Datei an, wenn die Dateiübertragung abgeschlossen ist, nicht, wenn sie die temporäre Übertragungsdatei erstellt . BITS gibt beim Erstellen der temporären Übertragungsdatei keine Sicherheitsbeschreibung an (die Datei erbt die ACL-Informationen aus dem Zielverzeichnis). Wenn die übertragenen Daten vertraulich sind, sollte die Anwendung eine entsprechende ACL im Zielverzeichnis angeben, um nicht autorisierten Zugriff zu verhindern.
Um sicherzustellen, dass die richtigen Besitzer- und ACL-Informationen für alle Dateien im Auftrag festgelegt sind, rufen Sie diese Methode auf, nachdem Sie den Auftrag erstellt haben, und bevor Sie die IBackgroundCopyJob::Resume-Methode aufrufen. Andernfalls enthalten diese Dateien, die vor der Festlegung der Flags übertragen wurden, nicht die entsprechenden Besitzer- und ACL-Informationen.
Diese Methode wird nach dem XCopy DOS-Befehl modelliert.
Die Besitzer- und ACL-Informationen werden nicht verwaltet, wenn Sie ein FAT-Dateisystem herunterladen.
Wenn der Benutzer nicht über Berechtigungen auf den lokalen und Remotecomputern verfügt, um die Besitzer- oder ACL-Informationen zu kopieren, platziert BITS den Auftrag in einem vorübergehenden Fehlerzustand und legt den Fehlercode auf E_ACCESSDENIED fest.
Examples
Das folgende Beispiel zeigt, wie Die SetFileACLFlags-Methode aufgerufen wird, um anzugeben, welche Besitzer- und ACL-Informationen mit den Dateien verwaltet werden sollen, die BITS herunterlädt. Im Beispiel wird davon ausgegangen, dass die Variable "IBackgroundCopyJob ", "pJob", gültig ist, auf einen neuen Auftrag verweist und angehalten wird.
IBackgroundCopyJob *pJob;
IBackgroundCopyJob3 *pJob3 = NULL;
//Need to query the IBackgroundCopyJob interface for an IBackgroundCopyJob3
//interface pointer. The IBackgroundCopyJob3 interface contains the SetACLFlags method.
hr = pJob->QueryInterface(__uuidof( IBackgroundCopyJob3 ), (void**)&pJob3;);
if (S_OK == hr)
{
pJob->Release(); //No longer need the IBackgoundCopyJob interface pointer.
//Copy the group and DACL information for each file.
hr = pJob3->SetACLFlags(BG_COPY_FILE_GROUP | BG_COPY_FILE_DACL);
if (FAILED(hr))
{
//Handle error.
}
... //Add one or more files and resume the job.
pJob3->Resume();
//When done, release the interface pointer.
pJob3->Release();
}
else
{
//Handle error. QueryInterface will return E_NOINTERFACE if the version of BITS
//running on the computer is less than BITS 2.0.
}
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows Vista, Windows XP mit SP2,KB842773 unter Windows Server 2003 und Windows XP |
| Mindestanforderungen für unterstützte Server | Windows Server 2008, Windows Server 2003 mit SP1 |
| Zielplattform | Fenster |
| Header | bits2_0.h (bits.h einschließen) |
| Library | Bits.lib |
| DLL | BitsPrx3.dll |