After allocating memory for the DRAGINFO data structure, the source initializes a DRAGITEM data structure, as appropriate, for each of the objects to be dragged. This is accomplished either by using DrgSetDragitem or by obtaining a pointer to each DRAGITEM data structure with DrgQueryDragitemPtr, and initializing it directly.
The first step the source takes to initialize the DRAGITEM data structure is to create the appropriate drag string handles. String handles must be created for: