IWMDMOperation::GetObjectTotalSize 方法 (mswmdm.h)

Windows Media 设备管理器在将文件写入设备之前调用 GetObjectTotalSize,以检索对象的总大小(以字节为单位)。

语法

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

参数

[out] pdwSize

指向 DWORD 的指针,返回时指定对象大小的低序位(以字节为单位)。

[out] pdwSizeHigh

指向 DWORD 的指针,该 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