Метод IDirect3DVolume9::SetPrivateData (d3d9.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 | d3d9.h (включая D3D9.h) |
Библиотека | D3D9.lib |