Condividi tramite


Metodo IWMDMProgress3::P rogress3 (mswmdm.h)

Il metodo Progress3 viene chiamato da Windows Media Gestione dispositivi per indicare lo stato di un'azione in corso. Questo metodo estende IWMDMProgress::P rogress fornendo parametri di input aggiuntivi per l'identificazione (ID) dell'evento e per un puntatore al contesto dei comandi.

Sintassi

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

Parametri

[in] EventId

GUID che specifica l'ID evento per cui vengono inviate le notifiche di stato. Nella tabella seguente vengono illustrati i valori possibili.

Event Descrizione
SCP_EVENTID_ACQSECURECLOCK Windows Media Gestione dispositivi acquisisce un orologio sicuro dal server.
SCP_EVENTID_NEEDTOINDIV Il dispositivo viene individualizzato. Questa operazione non è attualmente utilizzata.
SCP_EVENTID_DRMINFO Questo ID evento viene usato per notificare all'applicazione l'intestazione DRM della versione trovata nel contenuto per ogni file.

La struttura OPAQUECOMMAND restituita ha il parametro guidCommand impostato su SCP_PARAMID_DRMVERSION.

Inoltre, i dati specificano uno dei flag seguenti:

WMDM_SCP_DRMINFO_NOT_DRMPROTECTED

WMDM_SCP_DRMINFO_V1HEADER

WMDM_SCP_DRMINFO_V2HEADER

EVENT_WMDM_CONTENT_TRANSFER Il contenuto viene trasferito da o verso il dispositivo.

[in] dwTranspiredTicks

DWORD che specifica il numero di tick che si sono verificati finora.

[in, out] pContext

Puntatore a una struttura OPAQUECOMMAND contenente un comando inviato direttamente al dispositivo senza essere gestito da Windows Media Gestione dispositivi. Questo parametro è facoltativo e può essere NULL. Se l'evento è SCP_EVENTID_DRMINFO, i dati in questo parametro avranno il GUID SCP_PARAMID_DRMVERSION.

Valore restituito

L'applicazione deve restituire uno dei valori HRESULT seguenti.

Codice restituito Descrizione
S_OK
L'operazione deve continuare.
WMDM_E_USER_CANCELLED
Windows Media Gestione dispositivi deve annullare l'operazione corrente senza attendere il completamento. Se l'applicazione usa la modalità blocco, Windows Media Gestione dispositivi restituirà questo errore all'applicazione.

Commenti

L'interfaccia proprietaria del metodo che implementa un'operazione chiama il metodo Progress3 come viene eseguita l'operazione definita dal metodo . L'intenzione è che Progress3 verrà chiamato una volta per ogni tick stimato. Tuttavia, il parametro dwTranspiredTicks deve essere controllato in ogni chiamata perché l'operazione eseguita potrebbe non garantire una chiamata per ogni tick stimato.

L'applicazione restituisce S_OK al metodo chiamante per indicare che l'operazione deve continuare. L'applicazione restituisce WMDM_E_USER_CANCELLED per indicare che l'operazione deve essere annullata. Se l'applicazione usa la modalità blocco e restituisce WMDM_E_USER_CANCELLED, Windows Media Gestione dispositivi restituirà lo stesso errore all'applicazione.

Esempio

Il codice C++ seguente mostra un'implementazione di esempio di 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;
}

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione mswmdm.h
Libreria Mssachlp.lib

Vedi anche

Abilitazione delle notifiche

Interfaccia IWMDMProgress3

IWMDMProgress::P rogress