KSPROPERTY_SYNTH_DLS_UNLOAD
The KSPROPERTY_SYNTH_DLS_UNLOAD property unloads a DLS data resource that was previously downloaded.
Usage Summary Table
Get | Set | Target | Property descriptor type | Property value type |
---|---|---|---|---|
No |
Yes |
Pin |
HANDLE |
The property value (operation data) is of type HANDLE and contains the handle of the downloaded DLS data resource that is to be freed. This is the handle that the miniport driver generated to identify the DLS data in a previous KSPROPERTY_SYNTH_DLS_DOWNLOADget-property request.
Return Value
A KSPROPERTY_SYNTH_DLS_UNLOAD property request returns STATUS_SUCCESS to indicate that it has completed successfully. Otherwise, the request returns an appropriate error status code. The following table shows some of the possible error codes.
Status Code | Meaning |
---|---|
STATUS_BUFFER_TOO_SMALL |
The buffer was too small to complete the operation. |
STATUS_UNSUCCESSFUL |
The operation did not complete successfully. |
STATUS_PENDING |
The operation will complete at a later time. |
Remarks
The miniport driver should unload the DLS data as soon as there are no notes playing that use the DLS data. If the synthesizer is not able to free the memory associated with the DLS data resource at the time of the KSPROPERTY_SYNTH_DLS_UNLOAD set-property request, it can use asynchronous property completion to finish the request at a later time.
If, after unloading the DLS data resource, the synthesizer receives a note-on event that uses the resource, the miniport driver should ignore the event unless a new DLS data resource has been downloaded in the interim.
For more information, see the discussion of the IDirectMusicPort::UnloadInstrument method in the Microsoft Windows SDK documentation.
Requirements
Header |
Dmusprop.h (include Dmusprop.h) |
See also