IWMDMProgress3::P rogress3-Methode (mswmdm.h)

Die Progress3-Methode wird von Windows Media Geräte-Manager aufgerufen, um die status einer laufenden Aktion anzugeben. Diese Methode erweitert IWMDMProgress::P rogress , indem zusätzliche Eingabeparameter für die Identifikation (ID) des Ereignisses und für einen Zeiger auf den Kontext der Befehle bereitgestellt werden.

Syntax

HRESULT Progress3(
  [in]      GUID          EventId,
  [in]      DWORD         dwTranspiredTicks,
  [in, out] OPAQUECOMMAND *pContext
);

Parameter

[in] EventId

GUID , die die Ereignis-ID angibt, für die Statusbenachrichtigungen gesendet werden. Mögliche Werte werden in der folgenden Tabelle angezeigt.

Ereignis BESCHREIBUNG
SCP_EVENTID_ACQSECURECLOCK Windows Media Geräte-Manager erhält eine sichere Uhr vom Server.
SCP_EVENTID_NEEDTOINDIV Das Gerät wird individualisiert. Dies wird derzeit nicht verwendet.
SCP_EVENTID_DRMINFO Diese Ereignis-ID wird verwendet, um die Anwendung mit dem DRM-Versionsheader zu benachrichtigen, der sich im Inhalt für jede Datei befindet.

Für die zurückgegebene OPAQUECOMMAND-Struktur ist der guidCommand-Parameter auf SCP_PARAMID_DRMVERSION festgelegt.

Darüber hinaus geben die Daten eines der folgenden Flags an:

WMDM_SCP_DRMINFO_NOT_DRMPROTECTED

WMDM_SCP_DRMINFO_V1HEADER

WMDM_SCP_DRMINFO_V2HEADER

EVENT_WMDM_CONTENT_TRANSFER Inhalte werden an oder vom Gerät übertragen.

[in] dwTranspiredTicks

DWORD , die die Anzahl der Bisher aufgetretenen Ticks angibt.

[in, out] pContext

Zeiger auf eine OPAQUECOMMAND-Struktur, die einen Befehl enthält, der direkt an das Gerät gesendet wird, ohne von Windows Media Geräte-Manager behandelt zu werden. Dieser Parameter ist optional und kann NULL sein. Wenn das Ereignis SCP_EVENTID_DRMINFO ist, verfügen die Daten in diesem Parameter über die SCP_PARAMID_DRMVERSION GUID.

Rückgabewert

Die Anwendung sollte einen der folgenden HRESULT-Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Der Vorgang sollte fortgesetzt werden.
WMDM_E_USER_CANCELLED
Windows Media Geräte-Manager sollte den aktuellen Vorgang abbrechen, ohne auf den Abschluss zu warten. Wenn die Anwendung den Blockmodus verwendet, gibt Windows Media Geräte-Manager diesen Fehler an die Anwendung zurück.

Hinweise

Die Schnittstelle, die die Methode besitzt, die einen Vorgang implementiert, ruft die Progress3-Methode auf, da der von der -Methode definierte Vorgang ausgeführt wird. Die Absicht ist, dass Progress3 einmal pro geschätztem Tick aufgerufen wird. Der dwTranspiredTicks-Parameter muss jedoch bei jedem Aufruf überprüft werden, da der ausgeführte Vorgang möglicherweise keinen Aufruf für jeden geschätzten Tick garantiert.

Die Anwendung gibt S_OK an die aufrufende Methode zurück, um anzugeben, dass der Vorgang fortgesetzt werden soll. Die Anwendung gibt WMDM_E_USER_CANCELLED zurück, um anzugeben, dass der Vorgang abgebrochen werden soll. Wenn die Anwendung den Blockmodus verwendet und WMDM_E_USER_CANCELLED zurückgibt, gibt Windows Media Geräte-Manager denselben Fehler an die Anwendung zurück.

Beispiele

Der folgende C++-Code zeigt eine Beispielimplementierung von Progress3.


HRESULT Progress3(GUID  EventId, DWORD  dwTranspiredTicks, OPAQUECOMMAND*  pContext)
{
    WCHAR strGuid[64];
    ZeroMemory(strGuid, 64);
    StringFromGUID2(reinterpret_cast<GUID&>(EventId),(LPOLESTR)strGuid, 64);
    // TODO: Display the message: "Progress3 called. GUID value: " 
    // followed by the strGUID value.
    // TODO: Display the message: "Progress3 dwTranspiredTicks: " 
    // followed by the dwTranspiredTicks value.

    return S_OK;
}

Anforderungen

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

Weitere Informationen

Aktivieren von Benachrichtigungen

IWMDMProgress3-Schnittstelle

IWMDMProgress::P rogress