IWMDMStorageControl::Read-Methode (mswmdm.h)

Die Read-Methode kopiert den aktuellen Speicher auf den Computer.

Syntax

HRESULT Read(
  [in] UINT           fuMode,
  [in] LPWSTR         pwszFile,
  [in] IWMDMProgress  *pProgress,
  [in] IWMDMOperation *pOperation
);

Parameter

[in] fuMode

Verarbeitungsmodus, der für den Lesevorgang verwendet wird. In der folgenden Tabelle sind die Verarbeitungsmodi aufgeführt, die im fuMode-Parameter angegeben werden können. Sie müssen genau einen der ersten beiden Modi und genau einen der letzten drei (WMDM_CONTENT) Modi angeben. Wenn sowohl WMDM_MODE_BLOCK als auch WMDM_MODE_THREAD angegeben sind, wird der Blockmodus verwendet.

Mode BESCHREIBUNG
WMDM_MODE_BLOCK Der Vorgang wird mithilfe der Blockmodusverarbeitung ausgeführt. Der Aufruf wird erst zurückgegeben, wenn der Vorgang abgeschlossen ist.
WMDM_MODE_THREAD Der Vorgang wird im Threadmodus verarbeitet. Der Aufruf wird sofort zurückgegeben, und der Vorgang wird in einem Hintergrundthread ausgeführt.
WMDM_CONTENT_FILE Der Aufrufer fordert an, dass Windows Media die Datei vom tragbaren Gerät in eine Datei auf der Festplatte lesen Geräte-Manager. Der Aufrufer sollte im parameter pwszFileName den vollständigen Pfad und Namen der Datei angeben.
WMDM_CONTENT_FOLDER Der Aufrufer fordert an, dass Windows Media den angegebenen Ordner, den Inhalt des Ordners und die Inhalte aller Unterordner vom tragbaren Gerät auf der Festplatte lesen Geräte-Manager. Der Aufrufer sollte den vollständigen Pfad des Zielverzeichnisses auf der Festplatte im Parameter pwszFileName angeben. Dies wird derzeit von microsoft bereitgestellten Dienstanbietern nicht unterstützt.
WMDM_CONTENT_OPERATIONINTERFACE Die von der Anwendung implementierte IWMDMOperation-Schnittstelle wird verwendet, um Daten zu lesen, anstatt einen Dateinamen zu übergeben.

[in] pwszFile

Zeiger auf einen vollqualifizierten Dateinamen auf dem Computer, auf den der Inhalt vom tragbaren Gerät kopiert wird. Der Dateiname sollte eine Erweiterung enthalten. Die Erweiterung aus dem aktuellen Speicher auf dem Gerät wird nicht verwendet. Wenn WMDM_CONTENT_OPERATIONINTERFACE in fuMode angegeben ist, wird dieser Parameter ignoriert.

[in] pProgress

Optionaler Zeiger auf eine IWMDMProgress-Schnittstelle , die von der Anwendung implementiert wurde, um den Fortschritt laufender Vorgänge nachzuverfolgen.

[in] pOperation

Optionaler Zeiger auf eine IWMDMOperation-Schnittstelle , ein optionaler Satz von Methoden, die zum Verbessern der Übertragung von Inhalten von einem Mediengerät verwendet werden. Dieser Parameter muss NULL sein, wenn WMDM_CONTENT_FILE oder WMDM_CONTENT_FOLDER in fuMode angegeben ist.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Alle Schnittstellenmethoden in Windows Media Geräte-Manager können eine der folgenden Klassen von Fehlercodes zurückgeben:

  • Standard-COM-Fehlercodes
  • In HRESULT-Werte konvertierte Windows-Fehlercodes
  • Windows Media Geräte-Manager Fehlercodes
Eine umfassende Liste möglicher Fehlercodes finden Sie unter Fehlercodes.

Hinweise

Diese Methode überschreibt automatisch vorhandene Dateien, die von pwszFilename angegeben werden. Dies kann auch dann erfolgreich sein, wenn

Wenn das WMDM_MODE_THREAD-Flag angegeben ist, sollten Sie den Abschluss status erhalten, indem Sie entweder IWMDMProgress2::End2 oder IWMDMProgress3::End3 aufrufen. Diese Methoden stellen sicher, dass der Vorgang abgeschlossen ist, und geben auch ein HRESULT mit Erfolgs- oder Fehlerinformationen zurück.

Wenn eine Anwendung WMDM_MODE_THREAD verwendet und einen pProgress-Parameter ungleich NULL übergibt, muss die Anwendung sicherstellen, dass das Objekt, zu dem pProgress gehört, erst zerstört wird, wenn der Lesevorgang abgeschlossen ist, da Windows Media Geräte-Manager Statusbenachrichtigungen an dieses Objekt sendet. Dieses Objekt kann erst zerstört werden, nachdem es eine End-Benachrichtigung erhalten hat. Andernfalls kommt es zu Zugriffsverletzungen.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile mswmdm.h
Bibliothek Mssachlp.lib

Weitere Informationen

IWMDMDevice::GetStatus

IWMDMOperation-Schnittstelle

IWMDMProgress-Schnittstelle

IWMDMStorageControl-Schnittstelle

IWMDMStorageControl::Insert