Метод IDirect3DVolume9::SetPrivateData (d3d9helper.h)
Связывает данные с томом, который предназначен для использования приложением, а не Direct3D.
Синтаксис
HRESULT SetPrivateData(
[in] REFGUID refguid,
[in] const void *pData,
[in] DWORD SizeOfData,
[in] DWORD Flags
);
Параметры
[in] refguid
Тип: REFGUID
Ссылка на глобальный уникальный идентификатор, который идентифицирует личные данные для задания.
[in] pData
Тип: const void*
Указатель на буфер, содержащий данные, которые необходимо связать с томом.
[in] SizeOfData
Тип: DWORD
Размер буфера в pData в байтах.
[in] Flags
Тип: DWORD
Значение, описывающее тип передаваемых данных или указывающее приложению, что данные должны быть недействительными при изменении ресурса.
Элемент | Описание |
---|---|
(нет) | Если флаги не указаны, Direct3D выделяет память для хранения данных в буфере и копирует данные в новый буфер. Буфер, выделенный Direct3D, при необходимости освобождается автоматически. |
D3DSPD_IUNKNOWN | Данные в pData являются указателем на интерфейс IUnknown . Размер SizeOfData должен иметь размер указателя на интерфейс IUnknown , sizeof(IUnknown*). Direct3D автоматически вызывает IUnknown через pData и IUnknown при уничтожении частных данных. Частные данные будут уничтожены последующим вызовом IDirect3DVolume9::SetPrivateData с тем же ИДЕНТИФИКАТОРом GUID, последующим вызовом IDirect3DVolume9::FreePrivateData или при освобождении объекта IDirect3D9 . Дополнительные сведения см. в подразделе "Примечания". |
Возвращаемое значение
Тип: HRESULT
Если метод выполнен успешно, возвращаемое значение будет D3D_OK. В случае сбоя метода возвращается одно из следующих значений: D3DERR_INVALIDCALL E_OUTOFMEMORY.
Комментарии
Direct3D не управляет памятью в pData. Если этот буфер был динамически выделен, это ответственность за освобождение памяти лежит на вызывающем приложении.
Данные передаются по значению, и с одним томом можно связать несколько наборов данных.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d9helper.h (включая D3D9.h) |
Библиотека | D3D9.lib |