IFilterKeyMap::Serialize

フィルター キー マップのデータをバイト配列にシリアル化します。

構文

HRESULT Serialize(
  BYTE * pbFilterKeyMap,
  DWORD * pcbFilterKeyMap);

パラメーター

  • pbFilterKeyMap
    [in, out, unique, size_is(*pcbFilterKeyMap)] シリアル化されたデータを受け取るバイト配列です。

  • pcbFilterKeyMap
    [in, out] pbFilterKeyMap のバイト数を指定します。書き込まれたバイト数を返します。pbFilterKeyMap が小さすぎる場合は、フィルター キー マップのデータをシリアル化するために必要なバイト数を返します。

戻り値

  • S_OK

  • E_INVALIDARG (マップに格納されたフィルターによって、フィルター自体が正常にシリアル化されたことが報告されても、書き込まれたバイト数がフィルターのサイズに一致していない場合)

  • E_POINTER

  • E_OUTOFMEMORY

  • HRESULT_FROM_WIN32(ERROR_MORE_DATA) (pbFilterKeyMap が小さすぎる場合。この場合、必要なバイト数が pcbFilterKeyMap で返されます。)

説明

フィルター キー マップに含まれているフィルターをシリアル化するために、このメソッドでは、まず、各フィルターの ISyncFilter::Serialize を呼び出してフィルターのサイズを取得し、バイト配列のパラメーターに NULL を指定します。その後、各フィルターの ISyncFilter::Serialize を再度呼び出すことで、フィルターがシリアル化されます。フィルターのバイト配列に書き込まれたバイト数が、最初の ISyncFilter::Serialize の呼び出しによって報告されたフィルターのサイズと一致しない場合は、シリアル化が取り消され、E_INVALIDARG が返されます。

関連項目

その他の技術情報

IFilterKeyMap インターフェイス