共用方式為


IWMDMProgress3::Begin3 方法 (mswmdm.h)

Begin3 方法是由 Windows Media 裝置管理員 呼叫,表示作業即將開始。 盡可能提供作業持續時間的估計值。 這個方法會擴充 IWMDMProgress::Begin ,方法是提供事件標識碼 (標識符) 的其他輸入參數,以及命令選擇性內容的指標。 作業是由事件標識碼所識別。 方法可讓呼叫端將不透明數據結構傳遞至應用程式。

語法

HRESULT Begin3(
  [in]      GUID          EventId,
  [in]      DWORD         dwEstimatedTicks,
  [in, out] OPAQUECOMMAND *pContext
);

參數

[in] EventId

識別即將開始之作業的 GUID 。 下表顯示可能的值。

事件 描述
SCP_EVENTID_ACQSECURECLOCK Windows Media 裝置管理員 正在從伺服器取得安全時鐘。
SCP_EVENTID_NEEDTOINDIV 裝置正在個別化。 目前未使用這個值。
SCP_EVENTID_DRMINFO 此事件識別碼可用來向應用程式通知應用程式,其版本DRM標頭位於每個檔案的內容中。

傳回的 OPAQUECOMMAND 結構已將 guidCommand 成員設定為 SCP_PARAMID_DRMVERSION。

此外,OPAQUECOMMAND 會指定下列其中一個旗標:

WMDM_SCP_DRMINFO_NOT_DRMPROTECTED

WMDM_SCP_DRMINFO_V1HEADER

WMDM_SCP_DRMINFO_V2HEADER

EVENT_WMDM_CONTENT_TRANSFER 正在傳送內容到裝置或從裝置傳送。

[in] dwEstimatedTicks

DWORD ,指定作業完成所需的估計刻度數目。 在 dwEstimatedTicks 中傳遞的刻度數目是作業完成所需刻度數目的估計值。 在作業過程中,會呼叫 Progress3 方法來指出有多少刻度已轉譯。 應用程式可以使用估計值來設定顯示進度的顯示機制。

[in, out] pContext

OPAQUECOMMAND 結構的指標,其中包含傳送至裝置的命令,而不需由 Windows Media 裝置管理員 處理。 這個參數是選擇性的,而且可以是 NULL

傳回值

應用程式應該會傳回下列其中一個 HRESULT 值。

傳回碼 描述
S_OK
作業應該會繼續。
WMDM_E_USER_CANCELLED
Windows Media 裝置管理員 應該取消目前的作業,而不等待它完成。 如果應用程式使用區塊模式,則 Windows Media 裝置管理員 會將此錯誤傳回給應用程式。

備註

應用程式會傳回S_OK,指出應該繼續作業,並WMDM_E_USER_CANCELLED表示應該取消作業。 如果應用程式使用區塊模式並傳回WMDM_E_USER_CANCELLED,則 Windows Media 裝置管理員 會將這個相同的錯誤傳回給應用程式。

範例

下列 C++ 程式代碼示範 Begin3 的範例實作。


HRESULT Begin3(GUID  EventId, DWORD  dwEstimatedTicks, OPAQUECOMMAND*  pContext)
{
    WCHAR strGuid[64];
    StringFromGUID2(reinterpret_cast<GUID&>(EventId),(LPOLESTR)strGuid, 64);
    // TODO: Display the message "IWMDMProgress3::Begin3 called." 
    // followed by the strGuid value.
    return S_OK;
}

規格需求

需求
目標平台 Windows
標頭 mswmdm.h
程式庫 Mssachlp.lib

另請參閱

啟用通知

IWMDMProgress3 介面

IWMDMProgress::Begin