次の方法で共有


IRecordInfo::P utField メソッド (oaidl.h)

バリアントをフィールドに配置します。

構文

HRESULT PutField(
  [in]      ULONG     wFlags,
  [in, out] PVOID     pvData,
  [in]      LPCOLESTR szFieldName,
  [in]      VARIANT   *pvarField
);

パラメーター

[in] wFlags

wFlags パラメーターの有効な値は、INVOKE_PROPERTYPUTまたはINVOKE_PROPERTYPUTREFのみです。

INVOKE_PROPERTYPUTREFが渡された場合、 PutField は、通常の強制型変換規則を使用してフィールドに渡されるバリアントの値を割り当てるだけです。

INVOKE_PROPERTYPUTが渡された場合は、特定のルールが適用されます。 フィールドが IDispatch から派生するクラスとして宣言されていて、フィールドの値が NULL の場合は、エラーが返されます。 フィールドの値が NULL でない場合、バリアントはフィールドによって参照されるオブジェクトでサポートされる既定のプロパティに渡されます。 フィールドが IDispatch から派生したクラスとして宣言されていない場合は、エラーが返されます。 フィールドが型VT_Dispatchのバリアントとして宣言されている場合、オブジェクトの既定値がフィールドに割り当てられます。 それ以外の場合は、バリアントの値がフィールドに割り当てられます。

[in, out] pvData

レコードのインスタンスへのポインター。

[in] szFieldName

レコードのフィールドの名前。

[in] pvarField

バリアントへのポインター。

戻り値

このメソッドは、これらの値のいずれかを返すことができます。

リターン コード 説明
S_OK
正常終了しました。
E_INVALIDARG
1 つ以上の引数が無効です。

要件

要件
対象プラットフォーム Windows
ヘッダー oaidl.h

こちらもご覧ください

IRecordInfo