|Microsoft DirectX 9.0|
This topic applies to Windows XP Service Pack 1 only.
The GetAttributeByIndex method retrieves an attribute, specified by index number.
HRESULT GetAttributeByIndex( WORD wIndex, ULONG *pulReserved, WCHAR *pszAttributeName, WORD *pcchNameLength, STREAMBUFFER_ATTR_DATATYPE *pStreamBufferAttributeType, BYTE *pbAttribute, WORD *pcbLength );
[in] Zero-based index of the attribute to retrieve.
[in] Reserved. Set this parameter to zero.
[out] Pointer to a buffer that receives the name of the attribute, as a null-terminated wide-character string. Specify the size of the buffer in the pcchNameLength parameter. To find out the required size for the array, set pszAttributeName to NULL and check the value that is returned in pcchNameLength.
[in,out] On input, specifies the size of the buffer given in pszAttributeName, in wide characters. On output, contains the number of characters that were copied to the buffer, including the null terminator. Remember that wide characters are two bytes each.
[out] Pointer to a variable that receives a member of the STREAMBUFFER_ATTR_DATATYPE enumeration. This value indicates the data type that you should use to interpret the attribute, which is returned in the pbAttribute parameter.
[out] Pointer to a buffer that receives the attribute, as an array of bytes. Specify the size of the buffer in the pcbLength parameter. To find out the required size for the array, set pbAttribute to NULL and check the value that is returned in pcbLength.
[in,out] On input, specifies the size of the buffer given in pbAttribute, in bytes. On output, contains the number of bytes that were copied to the buffer.
Returns an HRESULT value. Possible values include the following.
|VFW_E_BUFFER_OVERFLOW||One or both of the buffers is too small.|