次の方法で共有


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