Beispiel #1
0
static void test_dragdrophelper(void)
{
    IDragSourceHelper *dragsource;
    IDropTargetHelper *target;
    HRESULT hr;

    hr = CoCreateInstance(&CLSID_DragDropHelper, NULL, CLSCTX_INPROC_SERVER, &IID_IDropTargetHelper, (void **)&target);
    ok(hr == S_OK, "Failed to create IDropTargetHelper, %#x\n", hr);

    hr = IDropTargetHelper_QueryInterface(target, &IID_IDragSourceHelper, (void **)&dragsource);
    ok(hr == S_OK, "QI failed, %#x\n", hr);
    IDragSourceHelper_Release(dragsource);

    IDropTargetHelper_Release(target);
}
Beispiel #2
0
/**************************************************************************
*	IDropTargetHelper_Constructor
*/
HRESULT WINAPI IDropTargetHelper_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv)
{
    dragdrophelper *dth;
    HRESULT hr;

    TRACE ("outer=%p %s %p\n", pUnkOuter, shdebugstr_guid (riid), ppv);

    if (!ppv)
	return E_POINTER;
    if (pUnkOuter)
	return CLASS_E_NOAGGREGATION;

    dth = LocalAlloc (LMEM_ZEROINIT, sizeof (dragdrophelper));
    if (!dth) return E_OUTOFMEMORY;

    dth->IDropTargetHelper_iface.lpVtbl = &DropTargetHelperVtbl;
    dth->IDragSourceHelper_iface.lpVtbl = &DragSourceHelperVtbl;
    dth->ref = 1;

    hr = IDropTargetHelper_QueryInterface (&dth->IDropTargetHelper_iface, riid, ppv);
    IDropTargetHelper_Release (&dth->IDropTargetHelper_iface);

    return hr;
}