Microsoft DirectX 8.0 (C++)

IDirectPlay8Address::GetComponentByIndex

指定されたインデックスのコンポーネントに関する情報を取得する。コンポーネントの値はネイティブなフォーマットで取得される。コンポーネント キーが見つからない場合、メソッドは DPNERR_DOESNOTEXIST を返す。

コンポーネントの値はネイティブなフォーマットで取得される。したがって、コンポーネントの値が DWORD である場合、この呼び出しにより DWORD が取得される。つまり、バッファ サイズは 4 であり、pvBuffer PDWORD に再設定される。

HRESULT GetComponentByIndex(
const DWORD dwComponentID,
WCHAR* pwszName,
PDWORD pdwNameLen,
void* pvBuffer,
PDWORD pdwBufferSize,
PDWORD pdwDataType 
);

パラメータ

dwComponentID
取得するコンポーネントのインデックス。この値は 0 から始まり、[0..GetNumComponents()-1] の範囲にする。
pwszName
呼び出しが成功した場合にコンポーネントの名前を取得するバッファ。必要なサイズを取得するには、このパラメータに NULL を指定し、pdwNameBufferSize が示す DWORD に 0 を指定する。この場合、メソッドは DPNERR_BUFFERTOOSMALL を返す。
pdwNameLen
入力では、pwszName が示す、バッファのサイズ (文字単位、NULL ターミネータを含む) を保持する DWORD へのポインタ。出力では、成功の場合はバッファに書き込まれた文字数 (NULL ターミネータを含む)、失敗の場合はこの値の格納に必要な文字数 (NULL ターミネータを含む) を保持する DWORD へのポインタ 。
pvBuffer
コンポーネントの値に格納されるデータを取得するバッファ。必要なサイズを取得するには、このパラメータに NULL を指定し、pdwBufferSize が指す DWORD に 0 を指定する。この場合、メソッドは DPNERR_BUFFERTOOSMALL を返す。
pdwBufferSize
入力では、pvBuffer が示す、バッファのサイズ (バイト単位) を保持する DWORD へのポインタ。出力では、成功の場合はバッファに書き込まれたバイト数、失敗の場合はデータの格納に必要なバイト数を保持する DWORD へのポインタ。
pdwDataType
このパラメータが指す DWORD。このコンポーネントに格納されるデータ型に設定される。次のいずれかに設定できる。
DPNA_DATATYPE_STRING
データは NULL 終端文字列である。
DPNA_DATATYPE_DWORD
データは DWORD である。
DPNA_DATATYPE_GUID
データは GUID である。
DPNA_DATATYPE_BINARY
データは未処理のバイナリである。

戻り値

成功した場合は S_OK を返し、失敗した場合は次のいずれかのエラー値を返す。

DPNERR_BUFFERTOOSMALL
DPNERR_DOESNOTEXIST
DPNERR_INVALIDPARAM

動作環境

  Windows NT/2000 : Windows 2000 以降に対する再配布可能ファイルとして提供。
  Windows 95/98 : Windows 95 以降に対する再配布可能ファイルとして提供。
  ヘッダー : Dpaddr.h で宣言。