IEmptyVolumeCache2::InitializeEx-Methode (emptyvc.h)
Initialisiert den Datenträgerbereinigungshandler. Es bietet eine bessere Unterstützung für die Lokalisierung als Initialisieren.
Syntax
HRESULT InitializeEx(
[in] HKEY hkRegKey,
[in] LPCWSTR pcwszVolume,
[in] LPCWSTR pcwszKeyName,
[out] LPWSTR *ppwszDisplayName,
[out] LPWSTR *ppwszDescription,
[out] LPWSTR *ppwszBtnText,
[in, out] DWORD *pdwFlags
);
Parameter
[in] hkRegKey
Typ: HKEY
Ein Handle für den Registrierungsschlüssel, der die Informationen zum Handlerobjekt enthält.
[in] pcwszVolume
Typ: LPCWSTR
Ein Zeiger auf eine Unicode-Zeichenfolge mit Null-Endung mit dem Volumestamm, z. B. "C:".
[in] pcwszKeyName
Typ: LPCWSTR
Ein Zeiger auf eine Unicode-Zeichenfolge mit Null-Beendigung mit dem Namen des Registrierungsschlüssels des Handlers.
[out] ppwszDisplayName
Typ: LPWSTR*
Ein Zeiger auf eine Unicode-Zeichenfolge mit NULL-Beendigung mit dem Namen, der in der Liste der Handler des Datenträgerbereinigungs-Managers angezeigt wird. Sie müssen diesem Parameter einen Wert zuweisen.
[out] ppwszDescription
Typ: LPWSTR*
Ein Zeiger auf eine Unicode-Zeichenfolge mit Null-Beendigung, die angezeigt wird, wenn dieses Objekt aus der Liste der verfügbaren Datenträgerbereinigungs-Manager ausgewählt wird. Sie müssen diesem Parameter einen Wert zuweisen.
[out] ppwszBtnText
Typ: LPWSTR*
Ein Zeiger auf eine Unicode-Zeichenfolge mit Null-Beendigung mit dem Text, der auf der Schaltfläche Einstellungen des Datenträgerbereinigungs-Managers angezeigt wird. Wenn das flag EVCF_HASSETTINGS festgelegt ist, müssen Sie ppwszBtnText einen Wert zuweisen. Andernfalls können Sie es auf NULL festlegen.
[in, out] pdwFlags
Typ: DWORD*
Flags, die verwendet werden, um Informationen an den Handler und zurück an den Datenträgerbereinigungs-Manager zu übergeben.
Diese Flags können an das Objekt übergeben werden:
EVCF_OUTOFDISKSPACE
Wenn dieses Flag festgelegt ist, ist der Speicherplatz des Benutzers auf dem Laufwerk nicht verfügbar. Wenn dieses Flag empfangen wird, sollte der Handler beim Freigeben von Speicherplatz aggressiv sein, auch wenn dies zu einem Leistungsverlust führt. Der Handler sollte jedoch keine Dateien löschen, die dazu führen würden, dass eine Anwendung fehlschlägt oder der Benutzer Daten verliert.
EVCF_SETTINGSMODE
Wenn der Datenträgerbereinigungs-Manager nach einem Zeitplan ausgeführt wird, wird das flag EVCF_SETTINGSMODE festgelegt. Sie müssen den Parametern ppwszDisplayName und ppwszDescription Werte zuweisen. Wenn dieses Flag festgelegt ist, ruft der Datenträgerbereinigungs-Manager getSpaceUsed, Purge oder ShowProperties nicht auf. Da Die Bereinigung nicht aufgerufen wird, muss die Bereinigung von InitializeEx verarbeitet werden. Der Handler sollte den pcwszVolume-Parameter ignorieren und nicht benötigte Dateien sauber, unabhängig davon, auf welchem Laufwerk sie sich befinden. Da es keine Möglichkeit für Benutzerfeedback gibt, sollten nur die Dateien berührt werden, die äußerst sicher sauber können.
Diese Flags können vom Handler zurück an den Datenträgerbereinigungs-Manager übergeben werden:
EVCF_DONTSHOWIFZERO
Legen Sie dieses Flag fest, wenn keine Dateien zu löschen sind. Wenn GetSpaceUsed aufgerufen wird, legen Sie den pdwSpaceUsed-Parameter auf Null fest, und der Datenträgerbereinigungs-Manager entlässt den Handler aus seiner Liste.
EVCF_ENABLEBYDEFAULT
Legen Sie dieses Flag so fest, dass der Handler standardmäßig in der Liste des Datenträgerbereinigungs-Managers aktiviert ist. Der Handler wird bei jeder Ausführung des Datenträgerbereinigungsprogramms ausgeführt, es sei denn, der Benutzer deaktiviert das Kontrollkästchen des Handlers. Nachdem das Kontrollkästchen deaktiviert wurde, wird der Handler erst ausgeführt, wenn der Benutzer es erneut auswählt.
EVCF_ENABLEBYDEFAULT_AUTO
Legen Sie dieses Flag so fest, dass der Handler während der geplanten Bereinigung automatisch ausgeführt wird. Dieses Flag sollte nur festgelegt werden, wenn das Löschen der Dateien mit geringem Risiko verbunden ist. Wie bei EVCF_ENABLEBYDEFAULT kann der Benutzer den Handler nicht ausführen, indem er sein Kontrollkästchen in der Liste des Datenträgerbereinigungs-Managers deaktivieren.
EVCF_HASSETTINGS
Legen Sie dieses Flag fest, um anzugeben, dass der Handler eine Benutzeroberfläche anzeigen kann. Ein Beispiel für eine einfache Benutzeroberfläche ist ein Listenfeld, in dem die dateien angezeigt werden, die gelöscht werden sollen. Der Datenträgerbereinigungs-Manager zeigt dann eine Schaltfläche unter der Beschreibung des Bereinigungshandlers an. Der Benutzer klickt auf diese Schaltfläche, um die Benutzeroberfläche anzufordern. Verwenden Sie den ppwszBtnText-Parameter , um den Text der Schaltfläche anzugeben.
EVCF_REMOVEFROMLIST
Legen Sie dieses Flag fest, um den Handler aus der Liste des Datenträgerbereinigungs-Managers zu entfernen. Alle Registrierungsinformationen werden gelöscht, und der Handler kann erst wieder ausgeführt werden, wenn der Schlüssel und seine Werte wiederhergestellt wurden. Dieses Flag wird hauptsächlich für einmalige Bereinigungsvorgänge verwendet.
Rückgabewert
Typ: HRESULT
Diese Methode kann einen dieser Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Erfolg. |
|
Es sind keine Dateien zu löschen. |
|
Der Bereinigungsvorgang wurde vorzeitig beendet. |
|
Fehler beim Bereinigungsvorgang. |
Hinweise
Der Windows 2000-Datenträgerbereinigungs-Manager ruft zuerst IEmptyVolumeCache2::InitializeEx auf, um einen Datenträgerbereinigungshandler zu initialisieren. Initialize wird nur aufgerufen, wenn die IEmptyVolumeCache2-Schnittstelle nicht implementiert ist. Der Windows 98-Datenträgerbereinigungs-Manager unterstützt nur Initialize.
InitializeEx soll eine bessere Lokalisierungsunterstützung als Initialize bieten. Wenn InitializeEx aufgerufen wird, muss die Handleranwendung den Parametern ppwszDisplayName und ppwszDescription entsprechend lokalisierte Werte zuweisen. Wenn die Schaltfläche Einstellungen aktiviert ist, müssen Sie auch dem Parameter ppwszBtnText einen Wert zuweisen. Anders als beim Initialisieren schlägt InitializeEx fehl, wenn Sie diese Zeichenfolgen auf NULL festlegen, um den Datenträgerbereinigungs-Manager zu benachrichtigen, die Standardwerte aus der Registrierung abzurufen.
Verwenden Sie CoTaskMemAlloc , um Arbeitsspeicher für die Zeichenfolgen zuzuweisen, die über ppwszDisplayName, ppwszDescription und ppwszBtnText zurückgegeben werden. Der Datenträgerbereinigungs-Manager gibt den Arbeitsspeicher frei, wenn er nicht mehr benötigt wird.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional, Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | emptyvc.h |
DLL | Shell32.dll (Version 5.0 oder höher) |