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
S_OK
Erfolg.
S_FALSE
Es sind keine Dateien zu löschen.
E_ABORT
Der Bereinigungsvorgang wurde vorzeitig beendet.
E_FAIL
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)