次の方法で共有


IPortableDeviceContent::CreateObjectWithPropertiesAndData メソッド (portabledeviceapi.h)

CreateObjectWithPropertiesAndData メソッドは、デバイス上のプロパティとデータの両方を持つオブジェクトを作成します。

構文

HRESULT CreateObjectWithPropertiesAndData(
            IPortableDeviceValues *pValues,
  [out]     IStream               **ppData,
  [in, out] DWORD                 *pdwOptimalWriteBufferSize,
  [in, out] LPWSTR                *ppszCookie
);

パラメーター

pValues

IPortableDeviceValues オブジェクトに割り当てるプロパティのコレクションです。 オブジェクトの必須プロパティと省略可能なプロパティの一覧については、「オブジェクトの要件 を参照してください。

[out] ppData

アプリケーションがデバイスにオブジェクト データを送信するために使用する IStream インターフェイスへのポインターを受け取る変数のアドレス。 アプリケーションが ppData-Commitを呼び出してデータ 送信するまで、オブジェクトはデバイス上に作成されません。 進行中のデータ転送を破棄するには、ppData ->Revertを呼び出します。 呼び出し元は、このインターフェイスが完了したら、このインターフェイスを解放する必要があります。 基になるオブジェクトは、IStream と IPortableDeviceDataStreamの両方を拡張します。

[in, out] pdwOptimalWriteBufferSize

オプションの DWORD ポインター。ppDataにデータを書き込むときにアプリケーションが使用する最適なバッファー サイズ 指定します。 アプリケーションでは、これを無視 TRUE を指定できます。

[in, out] ppszCookie

IPortableDeviceEventCallback のアプリケーションの実装 (実装されている場合) で、この作成要求を識別するために使用される、一意の null で終わる省略可能な文字列 ID。 デバイスがオブジェクトの作成を完了すると、この識別子がコールバック関数に送信されます。 この識別子を使用すると、アプリケーションは CreateObjectWithPropertiesOnlyを呼び出したスレッドとは異なるスレッド オブジェクトの作成を監視できます。 SDK はこのメモリを割り当てます。呼び出し元は、CoTaskMemFreeを使用して解放する必要があります。

戻り値

このメソッドは、HRESULTを返します。 使用できる値には、次の表に示す値が含まれますが、これらに限定されません。

リターン コード 形容
S_OK
メソッドは成功しました。
E_POINTER
必要な引数の少なくとも 1 つは、NULL ポインターでした。

備考

一部のオブジェクトは、他のオブジェクトへのポインターのコレクションであるフォルダーなどのプロパティのコレクションにすぎませんが、他のオブジェクトは、すべてのプロパティと実際の音楽ビットを含むオーディオ ファイルなどのプロパティとデータの両方です。 このメソッドは、プロパティとデータの両方を必要とするオブジェクトを作成するために使用されます。 プロパティのみのオブジェクトを作成するには、CreateObjectWithPropertiesOnly呼び出します。

このオブジェクトは、取得した IStreamppDataCommit を呼び出すまで作成されないため、オブジェクトに対して Commit が呼び出されるまで、オブジェクト ID は持たなくなります。 Commit は同期的であるため、そのメソッドが正常に返されると、オブジェクトはデバイスに存在します。

Commit を呼び出してオブジェクトを作成した後、IPortableDeviceDataStreamの ppData で queryInterface を呼び出し、IPortableDeviceDataStream::GetObjectID を呼び出して、新しく作成されたオブジェクトの ID を取得します。

この方法の使用方法の例については、「デバイスに画像または音楽ファイルを転送する を参照してください。

必要条件

要件 価値
ターゲット プラットフォーム の ウィンドウズ
ヘッダー portabledeviceapi.h
ライブラリ PortableDeviceGUIDs.lib

関連項目

IPortableDeviceContent インターフェイス の

IPortableDeviceDataStream インターフェイス の

デバイスに画像または音楽ファイルを転送する