次の方法で共有


IWMDMOperation::GetObjectTotalSize メソッド (mswmdm.h)

Windows Media デバイス マネージャーは、オブジェクトの合計サイズ (バイト単位) を取得するために、ファイルがデバイスに書き込まれる前に GetObjectTotalSize を呼び出します。

構文

HRESULT GetObjectTotalSize(
  [out] DWORD *pdwSize,
  [out] DWORD *pdwSizeHigh
);

パラメーター

[out] pdwSize

返された DWORD へのポインターは、オブジェクト サイズの下位ビットをバイト単位で指定します。

[out] pdwSizeHigh

返される DWORD へのポインターは、オブジェクト サイズの上位ビットをバイト単位で指定します。

戻り値

アプリケーションは、次のいずれかの HRESULT 値を返す必要があります。

リターン コード 説明
S_OK
読み取り操作を続行する必要があります。
WMDM_E_USER_CANCELLED
読み取り操作は、完了せずに取り消す必要があります。
E_FAIL
指定されていないエラーが発生しました。読み取り操作は完了せずに取り消す必要があります。

注釈

このメソッドは、 GetObjectAttributes メソッドが呼び出された後に呼び出されます。 転送時に、このインターフェイスを実装するオブジェクトには、送信されるコンテンツの合計サイズが渡されます。

次の C++ コードは、GetObjectTotalSize を実装します。 Win32 関数 GetFileInformationByHandle を使用して、デバイスに書き込まれるファイルのファイル サイズ (m_File) を取得し、値を返します。


// About to start writing to the device.
HRESULT GetObjectTotalSize(DWORD*  pdwSize,    DWORD*  pdwSizeHigh)
{
    BY_HANDLE_FILE_INFORMATION fileInfo;
    GetFileInformationByHandle(
        m_File,
        &fileInfo);

    *pdwSize = fileInfo.nFileSizeLow;
    *pdwSizeHigh = fileInfo.nFileSizeHigh;
    // TODO: Display the message: "IWMDMOperation event--GetObjectTotalSize."
    return S_OK;
}

要件

要件
対象プラットフォーム Windows
ヘッダー mswmdm.h
Library Mssachlp.lib

こちらもご覧ください

ファイル転送を手動で処理する

IWMDMOperation インターフェイス

SetObjectTotalSize