Was verursacht einen 0x80070057 -Fehlercode beim Aufrufen von CFREGIERSYNCROOT?C#

Ein Treffpunkt für C#-Programmierer
Guest
 Was verursacht einen 0x80070057 -Fehlercode beim Aufrufen von CFREGIERSYNCROOT?

Post by Guest »

Ich versuche, einen Cloud -Synchronisierungsanbieter in C#zu erstellen, wobei CSWIN32 auf die CloudFilter -API zugreift. Wenn ich jedoch CFREGISERSYNCPROVIDER aufrufe, erhalte ich den Fehlercode 0x80070057 . Wenn ich das an marschhal.getExceptionForhr übergeben habe, gibt es System zurück. ArgumentException: Wert fällt nicht in den erwarteten Bereich. -CS PrettyPrint-Override ">

Code: Select all

using Windows.Win32;
using Windows.Win32.Storage.CloudFilters;
using Windows.Win32.Foundation;
using System.Runtime.InteropServices;

namespace PStore;
internal class Install {
public static void Main() {
unsafe {
fixed (char* providerNameP = "PStore", providerVersionP = "1.1.1") {
CF_SYNC_REGISTRATION SyncReg = new() {
ProviderName = new PCWSTR(providerNameP),
ProviderVersion = new PCWSTR(providerVersionP)
};

CF_SYNC_POLICIES SyncPol = new() {
Hydration = new CF_HYDRATION_POLICY { Primary = CF_HYDRATION_POLICY_PRIMARY.CF_HYDRATION_POLICY_FULL, Modifier = CF_HYDRATION_POLICY_MODIFIER.CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED },
Population = new CF_POPULATION_POLICY { Primary = CF_POPULATION_POLICY_PRIMARY.CF_POPULATION_POLICY_FULL, Modifier = CF_POPULATION_POLICY_MODIFIER.CF_POPULATION_POLICY_MODIFIER_NONE },
InSync = CF_INSYNC_POLICY.CF_INSYNC_POLICY_NONE,
HardLink = CF_HARDLINK_POLICY.CF_HARDLINK_POLICY_NONE,
PlaceholderManagement = CF_PLACEHOLDER_MANAGEMENT_POLICY.CF_PLACEHOLDER_MANAGEMENT_POLICY_DEFAULT,
};

HRESULT res = PInvoke.CfRegisterSyncRoot(
@"C:\Users\finne\PStore",
SyncReg,
SyncPol,
CF_REGISTER_FLAGS.CF_REGISTER_FLAG_NONE
);

if (res != HRESULT.S_OK) {
Console.WriteLine($"Failed with {(uint) res:X8}");
throw Marshal.GetExceptionForHR((int) res) ?? new Exception($"Unidentified Error - {(uint) res:X8}");
}
}
}
}
}
< /code>
Ich erhalte die Ausgabe < /p>
Failed with 80070057
Unhandled exception. System.ArgumentException: Value does not fall within the expected range.
at PStore.Install.Main() in C:\Users\finne\OneDrive\Documents\0coding\PStore\PStore\Install.cs:line 45
< /code>
Ich sollte sehen, dass der Cloud -Anbieter im Menü des linken Navigation des Datei -Explorers angezeigt wird, aber es wird weder in der Registrierung angezeigt. < /p>
Ich habe versucht, verschiedene Parameter zu ändern, optionale Parameter hinzuzufügen oder zu entfernen und die Zeigerüberladung von CFREGISERSYNCROOT 
zu verwenden. Cloud -Anbieter, da OneDrive keinen Zugriff auf den entsprechenden Ordner hat, und OneDrive ist der einzige Anbieter, der in der Registrierung sichtbar ist. < /p>
Diese Microsoft -Seite schlägt vor, dass es sich Ausgenommen, aber ich weiß nicht, welches Argument es sein könnte. Ich habe die API -Dokumente ausgiebig überprüft, aber nicht sehen, wo Argumente, die ich bestanden habe, einen Fehler verursachen würden. Ich habe meinen /bin < /code> Ordner so gelöscht, wie es heißt, aber das hat nicht funktioniert. ist in verschiedenen Bibliotheken. Ich denke nicht, dass das für mich der Fall ist, da es sich immer noch mit meiner One-Datei-MRE fehlerhaft fehlerhaft. Wenn dies jedoch eine Möglichkeit ist, könnte ich Ratschläge zur Lösung des Problems verwenden, da ich mir nicht sicher bin, wie ich das überhaupt nähern soll. als Referenz, aber das oben erwähnte MRE zeigt das Problem. mit dem Rest der API. Wenn sich herausstellt, dass die Registrierungsroute der richtige Weg ist, muss ich eine neue Frage eröffnen, um herauszufinden, warum sie nicht mit API -Platzhaltern funktioniert. < /P>
Ich vermute, es gibt etwas Falsch mit den Argumenten, die ich an die Funktion übergehe, da es nur wenig Dokumentation gibt und ich eine C# -Schinschnittstelle für diese Bibliotheken durchläufe. Aber auch nach umfangreicher Doppelprüfung sowie Versuch und Irrtum habe ich nichts gefunden.
Bitte lassen Sie mich wissen, was diesen Fehler verursacht!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post