I am told to write a DLL. I am told the client will give me the .h file like this, where they define the function:

dll.h
Code:
extern "C"
{

	// Sets 'modelList' to a newline-separated ('\n') list of available propagation models.
	// The last name is followed by a '\n' separator too.
	__declspec(dllexport) void GetAvailablePropagationModels(BSTR* modelList);

	// Returns a pointer to a new instance of the specified propagation model. Needs to initialize the new model using initData.
	// Returns nullptr in case of error and then sets errorMessage.
	// Returns nullptr if the given initData.version is not supported.
	__declspec(dllexport) velox::propagation_api::IPropagationModel* GetPropagationModel(const wchar_t* name, 
        velox::propagation_api::StaticData* initData, BSTR* errorMessage);
}
I am told to implement these in my new DLL. It is confusing. i am new to windows programming. Usually if i write the DLL, i need to give the a header to the client with the above info.
Here i am told that they define the function, i need to implement it.
Please help me understand. It is quite urgent