Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Various utility functions for DXC.
To obtain an instance of this interface, call DxcCreateInstance with CLSID_DxcUtils.
Syntax
struct IDxcUtils : IUnknown {
HRESULT CreateBlobFromBlob(
IDxcBlob *pBlob,
UINT32 offset,
UINT32 length,
IDxcBlob **ppResult
);
HRESULT CreateBlobFromPinned(
LPCVOID pData,
UINT32 size,
UINT32 codePage,
IDxcBlobEncoding **ppBlobEncoding
);
HRESULT MoveToBlob(
LPCVOID pData,
IMalloc *pIMalloc,
UINT32 size,
UINT32 codePage,
IDxcBlobEncoding **ppBlobEncoding
);
HRESULT CreateBlob(
LPCVOID pData,
UINT32 size,
UINT32 codePage,
IDxcBlobEncoding **ppBlobEncoding
);
HRESULT LoadFile(
LPCWSTR pFileName,
UINT32 *pCodePage,
IDxcBlobEncoding **ppBlobEncoding
);
HRESULT CreateReadOnlyStreamFromBlob(
IDxcBlob *pBlob,
IStream **ppStream
);
HRESULT CreateDefaultIncludeHandler(
IDxcIncludeHandler **ppResult
);
HRESULT GetBlobAsUtf8(
IDxcBlob *pBlob,
IDxcBlobUtf8 **ppBlobEncoding
);
HRESULT GetBlobAsWide(
IDxcBlob *pBlob,
IDxcBlobWide **ppBlobEncoding
);
HRESULT GetBlobAsUtf16(
IDxcBlob *pBlob,
IDxcBlobWide **ppBlobEncoding
);
HRESULT GetDxilContainerPart(
const DxcBuffer *pShader,
UINT32 DxcPart,
void **ppPartData,
UINT32 *pPartSizeInBytes
);
HRESULT CreateReflection(
const DxcBuffer *pData,
REFIID iid,
void **ppvReflection
);
HRESULT BuildArguments(
LPCWSTR pSourceName,
LPCWSTR pEntryPoint,
LPCWSTR pTargetProfile,
LPCWSTR *pArguments,
UINT32 argCount,
const DxcDefine *pDefines,
UINT32 defineCount,
IDxcCompilerArgs **ppArgs
);
HRESULT GetPDBContents(
IDxcBlob *pPDBBlob,
IDxcBlob **ppHash,
IDxcBlob **ppContainer
);
};
Inheritance
The IDxcUtils structure implements IUnknown.
Requirements
| Requirement | Value |
|---|---|
| Header | dxcapi.h |