IDMLDevice::CreateCommandRecorder method (directml.h)
Creates a DirectML command recorder.
A command recorder allows your application to record the initialization and execution of compiled operators into existing Direct3D 12 command lists. The command recorder is a stateless object: it does not own command lists or operators, nor does it execute any GPU work. Instead, it merely records the commands necessary for dispatching initialization or execution into an application-supplied command list. Your application is then responsible for submitting the execution of that command list to the Direct3D 12 command queue.
HRESULT CreateCommandRecorder( REFIID riid, [out] void **ppv );
A reference to the globally unique identifier (GUID) of the interface that you wish to be returned in ppv. This is expected to be the GUID of IDMLCommandRecorder.
A pointer to a memory block that receives a pointer to the command recorder. This is the address of a pointer to an IDMLCommandRecorder, representing the command recorder created.
If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.