IDirectPlay8Address::GetComponentByIndex メソッド
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
[in] 取得するコンポーネントのインデックス。この値は 0 から始まり、[0..GetNumComponents()-1] の範囲にする。 - pwszName
[out] 呼び出しが成功した場合にコンポーネントの名前を取得するバッファ。必要なサイズを取得するには、このパラメータに NULL を指定し、pdwNameLen が指す DWORD に 0 を指定する。この場合、メソッドは DPNERR_BUFFERTOOSMALL を返す。 - pdwNameLen
[in, out] 入力では、pwszName が指す、バッファのサイズ (文字単位、NULL 終端文字を含む) を保持する DWORD へのポインタ。出力では、成功の場合はバッファに書き込まれた文字数 (NULL 終端文字を含む)、失敗の場合はこの値の格納に必要な文字数 (NULL 終端文字を含む) を保持する DWORD へのポインタ。 - pvBuffer
[out] コンポーネントの値に格納されるデータを取得するバッファ。必要なサイズを取得するには、このパラメータに NULL を指定し、pdwBufferSize が指す DWORD に 0 を指定する。この場合、メソッドは DPNERR_BUFFERTOOSMALL を返す。 - pdwBufferSize
[in, out] 入力では、pvBuffer が指す、バッファのサイズ (バイト単位) を保持する DWORD へのポインタ。出力では、成功の場合はバッファに書き込まれたバイト数、失敗の場合はデータの格納に必要なバイト数を保持する DWORD へのポインタ。 - pdwDataType
[out] このパラメータが指す DWORD。このコンポーネントに格納されるデータ型に設定される。次のいずれかに設定できる。DPNA_DATATYPE_STRING
データは NULL 終端文字列である。DPNA_DATATYPE_DWORD
データは DWORD である。DPNA_DATATYPE_GUID
データはグローバル一意識別子 (GUID) である。DPNA_DATATYPE_BINARY
データは未処理のバイナリである。
戻り値
成功した場合は S_OK を返し、失敗した場合は次のいずれかのエラー値を返す。
DPNERR_BUFFERTOOSMALL | 指定されたバッファが小さすぎて、要求されたデータを格納できない。 |
DPNERR_DOESNOTEXIST | 要求された要素はアドレスの一部ではない。 |
DPNERR_INVALIDPARAM | メソッドに渡された 1 つ以上のパラメータが無効である。 |