IRecordInfo::GetFieldNoCopy メソッド (oaidl.h)

値をコピーしてリソースを割り当てずに、指定されたフィールド名の値へのポインターを返します。

構文

HRESULT GetFieldNoCopy(
  [in]  PVOID     pvData,
  [in]  LPCOLESTR szFieldName,
  [out] VARIANT   *pvarField,
  [out] PVOID     *ppvDataCArray
);

パラメーター

[in] pvData

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

[in] szFieldName

フィールドの名前。

[out] pvarField

戻り時に UDT を格納する VARIANT。

[out] ppvDataCArray

戻り時にフィールドの値を受け取ります。

戻り値

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

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

注釈

戻り時に渡す VARIANT には、レコードのフィールド ppvDataCArray への直接ポインターが含まれます。 VARIANT を変更すると、基になるレコード フィールドが変更されます。

呼び出し元は VARIANT のメモリを割り当てますが、メモリを所有していないため 、pvarField を解放できません。 このメソッドは、要求されたフィールドに入力する前に、pvarField対して VariantClear を呼び出します。

要件

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

こちらもご覧ください

IRecordInfo

VariantClear