IWMDMOperation::GetObjectAttributes 方法 (mswmdm.h)

GetObjectAttributes 方法允许应用程序为要写入设备的对象指定属性。 Windows Media 设备管理器在将文件写入设备之前调用此方法,以便了解文件的属性。

语法

HRESULT GetObjectAttributes(
  [out] DWORD         *pdwAttributes,
  [out] _WAVEFORMATEX *pFormat
);

参数

[out] pdwAttributes

指向指定 IWMDMStorage::GetAttributes 方法中定义的属性的 DWORD 的指针。

[out] pFormat

指向 _WAVEFORMATEX 结构的指针,该结构指定具有音频数据属性的文件的音频格式。

返回值

应用程序应返回以下 HRESULT 值之一。

返回代码 说明
S_OK
读取操作应继续。
WMDM_E_USER_CANCELLED
应在不完成的情况下取消读取操作。
E_FAIL
发生未指定的错误,应取消读取操作而不完成。

注解

将数据传输到设备时,应提供对象属性以实现最佳传输。

示例

以下 C++ 代码实现 GetObjectAttributes 方法。 它尝试确定 (m_File) 读取的文件是文件还是文件夹,并相应地设置返回的属性。


HRESULT GetObjectAttributes(DWORD* pdwAttributes, _WAVEFORMATEX* pFormat)
{
    // TODO: Display the message: IWMDMOperation event--GetObjectAttributes.
    *pdwAttributes = WMDM_FILE_ATTR_FILE | 
        WMDM_STORAGE_ATTR_REMOVABLE | 
        WMDM_FILE_ATTR_AUDIO;

    BY_HANDLE_FILE_INFORMATION fileInformation;
    if (GetFileInformationByHandle(m_File, &fileInformation))
    {
        if (fileInformation.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
            *pdwAttributes |= WMDM_FILE_ATTR_FOLDER;
        else
            *pdwAttributes |= WMDM_FILE_ATTR_FILE;

        if (fileInformation.dwFileAttributes & FILE_ATTRIBUTE_READONLY)
            *pdwAttributes |= FILE_ATTRIBUTE_READONLY;
    }

    return S_OK;
}

要求

要求
目标平台 Windows
标头 mswmdm.h
Library Mssachlp.lib

另请参阅

手动处理文件传输

IWMDMOperation 接口

IWMDMOperation::SetObjectAttributes