[This is preliminary documentation and subject to change.]
The msbdnOutputDestroy function shuts down the output system and deletes the instance of the virtual interface DLL before unloading the DLL.
HRESULT msbdnOutputDestroy(
IN MSBDN_OUTPUT_SUBSYSTEM *Subsystem
);
Should always return zero for a successful status.
The msbdnOutputDestroy function is the last virtual interface function that the MMR calls before exiting. When msbdnOutputDestroy is called, the virtual interface DLL should stop all data transmissions, close any devices it has opened, free all packet queues, and release all resources that it allocated such as synchronization objects. The msbdnOutputDestroy function must complete any PACKET_BUFFER handles which it has queued. Because msbdnOutputDestroy is the last function that the MMR calls before exiting, msbdnOutputDestroy should block other functions' processing until it is done with all cleanup.
msbdnOutputCreate, MSBDN_OUTPUT_SUBSYSTEM, PacketBufferComplete, PACKET_BUFFER