您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ IDirect3DDevice9Ex_AddRef函数代码示例

51自学网 2021-06-01 21:28:08
  C++
这篇教程C++ IDirect3DDevice9Ex_AddRef函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中IDirect3DDevice9Ex_AddRef函数的典型用法代码示例。如果您正苦于以下问题:C++ IDirect3DDevice9Ex_AddRef函数的具体用法?C++ IDirect3DDevice9Ex_AddRef怎么用?C++ IDirect3DDevice9Ex_AddRef使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了IDirect3DDevice9Ex_AddRef函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: stateblock_init

HRESULT stateblock_init(struct d3d9_stateblock *stateblock, struct d3d9_device *device,        D3DSTATEBLOCKTYPE type, struct wined3d_stateblock *wined3d_stateblock){    HRESULT hr;    stateblock->IDirect3DStateBlock9_iface.lpVtbl = &d3d9_stateblock_vtbl;    stateblock->refcount = 1;    if (wined3d_stateblock)    {        stateblock->wined3d_stateblock = wined3d_stateblock;    }    else    {        wined3d_mutex_lock();        hr = wined3d_stateblock_create(device->wined3d_device,                (enum wined3d_stateblock_type)type, &stateblock->wined3d_stateblock);        wined3d_mutex_unlock();        if (FAILED(hr))        {            WARN("Failed to create wined3d stateblock, hr %#x./n", hr);            return hr;        }    }    stateblock->parent_device = &device->IDirect3DDevice9Ex_iface;    IDirect3DDevice9Ex_AddRef(stateblock->parent_device);    return D3D_OK;}
开发者ID:GYGit,项目名称:reactos,代码行数:30,


示例2: pixelshader_init

HRESULT pixelshader_init(struct d3d9_pixelshader *shader, struct d3d9_device *device, const DWORD *byte_code){    struct wined3d_shader_desc desc;    HRESULT hr;    shader->refcount = 1;    shader->IDirect3DPixelShader9_iface.lpVtbl = &d3d9_pixelshader_vtbl;    desc.byte_code = byte_code;    desc.byte_code_size = ~(size_t)0;    wined3d_mutex_lock();    hr = wined3d_shader_create_ps(device->wined3d_device, &desc, shader,            &d3d9_pixelshader_wined3d_parent_ops, &shader->wined3d_shader);    wined3d_mutex_unlock();    if (FAILED(hr))    {        WARN("Failed to created wined3d pixel shader, hr %#x./n", hr);        return hr;    }    shader->parent_device = &device->IDirect3DDevice9Ex_iface;    IDirect3DDevice9Ex_AddRef(shader->parent_device);    return D3D_OK;}
开发者ID:Moteesh,项目名称:wine,代码行数:26,


示例3: stateblock_init

HRESULT stateblock_init(IDirect3DStateBlock9Impl *stateblock, IDirect3DDevice9Impl *device,        D3DSTATEBLOCKTYPE type, struct wined3d_stateblock *wined3d_stateblock){    HRESULT hr;    stateblock->lpVtbl = &Direct3DStateBlock9_Vtbl;    stateblock->ref = 1;    if (wined3d_stateblock)    {        stateblock->wined3d_stateblock = wined3d_stateblock;    }    else    {        wined3d_mutex_lock();        hr = IWineD3DDevice_CreateStateBlock(device->WineD3DDevice,                (WINED3DSTATEBLOCKTYPE)type, &stateblock->wined3d_stateblock);        wined3d_mutex_unlock();        if (FAILED(hr))        {            WARN("Failed to create wined3d stateblock, hr %#x./n", hr);            return hr;        }    }    stateblock->parentDevice = (IDirect3DDevice9Ex *)device;    IDirect3DDevice9Ex_AddRef(stateblock->parentDevice);    return D3D_OK;}
开发者ID:dvdhoo,项目名称:wine,代码行数:30,


示例4: IDirect3DSurface9Impl_AddRef

static ULONG WINAPI IDirect3DSurface9Impl_AddRef(IDirect3DSurface9 *iface){    IDirect3DSurface9Impl *This = impl_from_IDirect3DSurface9(iface);    TRACE("iface %p./n", iface);    if (This->forwardReference) {        /* Forward refcounting */        TRACE("(%p) : Forwarding to %p/n", This, This->forwardReference);        return IUnknown_AddRef(This->forwardReference);    } else {        /* No container, handle our own refcounting */        ULONG ref = InterlockedIncrement(&This->ref);        TRACE("%p increasing refcount to %u./n", iface, ref);        if (ref == 1)        {            if (This->parentDevice) IDirect3DDevice9Ex_AddRef(This->parentDevice);            wined3d_mutex_lock();            wined3d_surface_incref(This->wined3d_surface);            wined3d_mutex_unlock();        }        return ref;    }}
开发者ID:johnedmonds,项目名称:wine,代码行数:28,


示例5: pixelshader_init

HRESULT pixelshader_init(struct d3d9_pixelshader *shader, struct d3d9_device *device, const DWORD *byte_code){    struct wined3d_shader_desc desc;    HRESULT hr;    shader->refcount = 1;    shader->IDirect3DPixelShader9_iface.lpVtbl = &d3d9_pixelshader_vtbl;    desc.byte_code = byte_code;    desc.byte_code_size = ~(size_t)0;    desc.format = WINED3D_SHADER_BYTE_CODE_FORMAT_SM1;    desc.input_signature.element_count = 0;    desc.output_signature.element_count = 0;    desc.patch_constant_signature.element_count = 0;    desc.max_version = 3;    wined3d_mutex_lock();    hr = wined3d_shader_create_ps(device->wined3d_device, &desc, shader,            &d3d9_pixelshader_wined3d_parent_ops, &shader->wined3d_shader);    wined3d_mutex_unlock();    if (FAILED(hr))    {        WARN("Failed to created wined3d pixel shader, hr %#x./n", hr);        return hr;    }    shader->parent_device = &device->IDirect3DDevice9Ex_iface;    IDirect3DDevice9Ex_AddRef(shader->parent_device);    return D3D_OK;}
开发者ID:Moteesh,项目名称:reactos,代码行数:31,


示例6: IDirect3DDevice9Impl_CreateVertexShader

/* IDirect3DDevice9 IDirect3DVertexShader9 Methods follow: */HRESULT WINAPI IDirect3DDevice9Impl_CreateVertexShader(LPDIRECT3DDEVICE9EX iface, CONST DWORD* pFunction, IDirect3DVertexShader9** ppShader) {    IDirect3DDevice9Impl *This = (IDirect3DDevice9Impl *)iface;    HRESULT hrc = D3D_OK;    IDirect3DVertexShader9Impl *object;    /* Setup a stub object for now */    object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object));    TRACE("(%p) : pFunction(%p), ppShader(%p)/n", This, pFunction, ppShader);    if (NULL == object) {        FIXME("Allocation of memory failed, returning D3DERR_OUTOFVIDEOMEMORY/n");        return D3DERR_OUTOFVIDEOMEMORY;    }    object->ref = 1;    object->lpVtbl = &Direct3DVertexShader9_Vtbl;    EnterCriticalSection(&d3d9_cs);    hrc= IWineD3DDevice_CreateVertexShader(This->WineD3DDevice, NULL /* declaration */, pFunction, &object->wineD3DVertexShader, (IUnknown *)object);    LeaveCriticalSection(&d3d9_cs);    if (FAILED(hrc)) {        /* free up object */        FIXME("Call to IWineD3DDevice_CreateVertexShader failed/n");        HeapFree(GetProcessHeap(), 0, object);    }else{        IDirect3DDevice9Ex_AddRef(iface);        object->parentDevice = iface;        *ppShader = (IDirect3DVertexShader9 *)object;        TRACE("(%p) : Created vertex shader %p/n", This, object);    }    TRACE("(%p) : returning %p/n", This, *ppShader);    return hrc;}
开发者ID:devyn,项目名称:wine,代码行数:35,


示例7: d3d9_surface_AddRef

static ULONG WINAPI d3d9_surface_AddRef(IDirect3DSurface9 *iface){    struct d3d9_surface *surface = impl_from_IDirect3DSurface9(iface);    ULONG refcount;    TRACE("iface %p./n", iface);    if (surface->texture)    {        TRACE("Forwarding to %p./n", surface->texture);        return IDirect3DBaseTexture9_AddRef(&surface->texture->IDirect3DBaseTexture9_iface);    }    refcount = InterlockedIncrement(&surface->resource.refcount);    TRACE("%p increasing refcount to %u./n", iface, refcount);    if (refcount == 1)    {        if (surface->parent_device)            IDirect3DDevice9Ex_AddRef(surface->parent_device);        wined3d_mutex_lock();        if (surface->wined3d_rtv)            wined3d_rendertarget_view_incref(surface->wined3d_rtv);        wined3d_surface_incref(surface->wined3d_surface);        wined3d_mutex_unlock();    }    return refcount;}
开发者ID:CSRedRat,项目名称:reactos-playground,代码行数:29,


示例8: indexbuffer_init

HRESULT indexbuffer_init(IDirect3DIndexBuffer9Impl *buffer, IDirect3DDevice9Impl *device,        UINT size, DWORD usage, D3DFORMAT format, D3DPOOL pool){    HRESULT hr;    buffer->lpVtbl = &Direct3DIndexBuffer9_Vtbl;    buffer->ref = 1;    buffer->format = wined3dformat_from_d3dformat(format);    wined3d_mutex_lock();    hr = IWineD3DDevice_CreateIndexBuffer(device->WineD3DDevice, size,            usage & WINED3DUSAGE_MASK, (WINED3DPOOL)pool, &buffer->wineD3DIndexBuffer,            (IUnknown *)buffer, &d3d9_indexbuffer_wined3d_parent_ops);    wined3d_mutex_unlock();    if (FAILED(hr))    {        WARN("Failed to create wined3d buffer, hr %#x./n", hr);        return hr;    }    buffer->parentDevice = (IDirect3DDevice9Ex *)device;    IDirect3DDevice9Ex_AddRef(buffer->parentDevice);    return D3D_OK;}
开发者ID:CandyYao,项目名称:VirtualBox-OSE,代码行数:25,


示例9: d3d9_surface_AddRef

static ULONG WINAPI d3d9_surface_AddRef(IDirect3DSurface9 *iface){    struct d3d9_surface *surface = impl_from_IDirect3DSurface9(iface);    ULONG refcount;    TRACE("iface %p./n", iface);    if (surface->forwardReference)    {        TRACE("Forwarding to %p./n", surface->forwardReference);        return IUnknown_AddRef(surface->forwardReference);    }    refcount = InterlockedIncrement(&surface->refcount);    TRACE("%p increasing refcount to %u./n", iface, refcount);    if (refcount == 1)    {        if (surface->parent_device)            IDirect3DDevice9Ex_AddRef(surface->parent_device);        wined3d_mutex_lock();        wined3d_surface_incref(surface->wined3d_surface);        wined3d_mutex_unlock();    }    return refcount;}
开发者ID:ElvisTulip,项目名称:vbox,代码行数:27,


示例10: surface_init

HRESULT surface_init(struct d3d9_surface *surface, struct d3d9_device *device, UINT width, UINT height,        D3DFORMAT format, DWORD flags, DWORD usage, D3DPOOL pool, D3DMULTISAMPLE_TYPE multisample_type,        DWORD multisample_quality#ifdef VBOX_WITH_WDDM        , HANDLE *shared_handle        , void *pvClientMem#endif        ){    HRESULT hr;    surface->IDirect3DSurface9_iface.lpVtbl = &d3d9_surface_vtbl;    surface->refcount = 1;    switch (format)    {        case D3DFMT_A8R8G8B8:        case D3DFMT_X8R8G8B8:        case D3DFMT_R5G6B5:        case D3DFMT_X1R5G5B5:        case D3DFMT_A1R5G5B5:        case D3DFMT_R8G8B8:            surface->getdc_supported = TRUE;            break;        default:            surface->getdc_supported = FALSE;            break;    }    /* FIXME: Check MAX bounds of MultisampleQuality. */    if (multisample_quality > 0)    {        FIXME("Multisample quality set to %u, substituting 0./n", multisample_quality);        multisample_quality = 0;    }    wined3d_mutex_lock();    hr = wined3d_surface_create(device->wined3d_device, width, height, wined3dformat_from_d3dformat(format),            usage & WINED3DUSAGE_MASK, (enum wined3d_pool)pool, multisample_type, multisample_quality,            flags, surface, &d3d9_surface_wined3d_parent_ops, &surface->wined3d_surface#ifdef VBOX_WITH_WDDM            , shared_handle            , pvClientMem#endif            );    wined3d_mutex_unlock();    if (FAILED(hr))    {        WARN("Failed to create wined3d surface, hr %#x./n", hr);        return hr;    }    surface->parent_device = &device->IDirect3DDevice9Ex_iface;    IDirect3DDevice9Ex_AddRef(surface->parent_device);    return D3D_OK;}
开发者ID:ElvisTulip,项目名称:vbox,代码行数:58,


示例11: swapchain_init

HRESULT swapchain_init(IDirect3DSwapChain9Impl *swapchain, IDirect3DDevice9Impl *device,        D3DPRESENT_PARAMETERS *present_parameters){    struct wined3d_swapchain_desc desc;    HRESULT hr;    swapchain->ref = 1;    swapchain->lpVtbl = &Direct3DSwapChain9_Vtbl;    desc.backbuffer_width = present_parameters->BackBufferWidth;    desc.backbuffer_height = present_parameters->BackBufferHeight;    desc.backbuffer_format = wined3dformat_from_d3dformat(present_parameters->BackBufferFormat);    desc.backbuffer_count = max(1, present_parameters->BackBufferCount);    desc.multisample_type = present_parameters->MultiSampleType;    desc.multisample_quality = present_parameters->MultiSampleQuality;    desc.swap_effect = present_parameters->SwapEffect;    desc.device_window = present_parameters->hDeviceWindow;    desc.windowed = present_parameters->Windowed;    desc.enable_auto_depth_stencil = present_parameters->EnableAutoDepthStencil;    desc.auto_depth_stencil_format = wined3dformat_from_d3dformat(present_parameters->AutoDepthStencilFormat);    desc.flags = present_parameters->Flags;    desc.refresh_rate = present_parameters->FullScreen_RefreshRateInHz;    desc.swap_interval = present_parameters->PresentationInterval;    desc.auto_restore_display_mode = TRUE;    wined3d_mutex_lock();    hr = wined3d_swapchain_create(device->wined3d_device, &desc,            WINED3D_SURFACE_TYPE_OPENGL, swapchain, &d3d9_swapchain_wined3d_parent_ops,            &swapchain->wined3d_swapchain);    wined3d_mutex_unlock();    present_parameters->BackBufferWidth = desc.backbuffer_width;    present_parameters->BackBufferHeight = desc.backbuffer_height;    present_parameters->BackBufferFormat = d3dformat_from_wined3dformat(desc.backbuffer_format);    present_parameters->BackBufferCount = desc.backbuffer_count;    present_parameters->MultiSampleType = desc.multisample_type;    present_parameters->MultiSampleQuality = desc.multisample_quality;    present_parameters->SwapEffect = desc.swap_effect;    present_parameters->hDeviceWindow = desc.device_window;    present_parameters->Windowed = desc.windowed;    present_parameters->EnableAutoDepthStencil = desc.enable_auto_depth_stencil;    present_parameters->AutoDepthStencilFormat = d3dformat_from_wined3dformat(desc.auto_depth_stencil_format);    present_parameters->Flags = desc.flags;    present_parameters->FullScreen_RefreshRateInHz = desc.refresh_rate;    present_parameters->PresentationInterval = desc.swap_interval;    if (FAILED(hr))    {        WARN("Failed to create wined3d swapchain, hr %#x./n", hr);        return hr;    }    swapchain->parentDevice = &device->IDirect3DDevice9Ex_iface;    IDirect3DDevice9Ex_AddRef(swapchain->parentDevice);    return D3D_OK;}
开发者ID:klickverbot,项目名称:wine,代码行数:57,


示例12: swapchain_init

HRESULT swapchain_init(IDirect3DSwapChain9Impl *swapchain, IDirect3DDevice9Impl *device,        D3DPRESENT_PARAMETERS *present_parameters){    WINED3DPRESENT_PARAMETERS wined3d_parameters;    HRESULT hr;    swapchain->ref = 1;    swapchain->lpVtbl = &Direct3DSwapChain9_Vtbl;    wined3d_parameters.BackBufferWidth = present_parameters->BackBufferWidth;    wined3d_parameters.BackBufferHeight = present_parameters->BackBufferHeight;    wined3d_parameters.BackBufferFormat = wined3dformat_from_d3dformat(present_parameters->BackBufferFormat);    wined3d_parameters.BackBufferCount = max(1, present_parameters->BackBufferCount);    wined3d_parameters.MultiSampleType = present_parameters->MultiSampleType;    wined3d_parameters.MultiSampleQuality = present_parameters->MultiSampleQuality;    wined3d_parameters.SwapEffect = present_parameters->SwapEffect;    wined3d_parameters.hDeviceWindow = present_parameters->hDeviceWindow;    wined3d_parameters.Windowed = present_parameters->Windowed;    wined3d_parameters.EnableAutoDepthStencil = present_parameters->EnableAutoDepthStencil;    wined3d_parameters.AutoDepthStencilFormat = wined3dformat_from_d3dformat(present_parameters->AutoDepthStencilFormat);    wined3d_parameters.Flags = present_parameters->Flags;    wined3d_parameters.FullScreen_RefreshRateInHz = present_parameters->FullScreen_RefreshRateInHz;    wined3d_parameters.PresentationInterval = present_parameters->PresentationInterval;    wined3d_parameters.AutoRestoreDisplayMode = TRUE;    wined3d_mutex_lock();    hr = wined3d_swapchain_create(device->wined3d_device, &wined3d_parameters,            SURFACE_OPENGL, swapchain, &d3d9_swapchain_wined3d_parent_ops,            &swapchain->wined3d_swapchain);    wined3d_mutex_unlock();    present_parameters->BackBufferWidth = wined3d_parameters.BackBufferWidth;    present_parameters->BackBufferHeight = wined3d_parameters.BackBufferHeight;    present_parameters->BackBufferFormat = d3dformat_from_wined3dformat(wined3d_parameters.BackBufferFormat);    present_parameters->BackBufferCount = wined3d_parameters.BackBufferCount;    present_parameters->MultiSampleType = wined3d_parameters.MultiSampleType;    present_parameters->MultiSampleQuality = wined3d_parameters.MultiSampleQuality;    present_parameters->SwapEffect = wined3d_parameters.SwapEffect;    present_parameters->hDeviceWindow = wined3d_parameters.hDeviceWindow;    present_parameters->Windowed = wined3d_parameters.Windowed;    present_parameters->EnableAutoDepthStencil = wined3d_parameters.EnableAutoDepthStencil;    present_parameters->AutoDepthStencilFormat = d3dformat_from_wined3dformat(wined3d_parameters.AutoDepthStencilFormat);    present_parameters->Flags = wined3d_parameters.Flags;    present_parameters->FullScreen_RefreshRateInHz = wined3d_parameters.FullScreen_RefreshRateInHz;    present_parameters->PresentationInterval = wined3d_parameters.PresentationInterval;    if (FAILED(hr))    {        WARN("Failed to create wined3d swapchain, hr %#x./n", hr);        return hr;    }    swapchain->parentDevice = &device->IDirect3DDevice9Ex_iface;    IDirect3DDevice9Ex_AddRef(swapchain->parentDevice);    return D3D_OK;}
开发者ID:HBelusca,项目名称:NasuTek-Odyssey,代码行数:57,


示例13: IDirect3DSwapChain9Impl_AddRef

static ULONG WINAPI IDirect3DSwapChain9Impl_AddRef(LPDIRECT3DSWAPCHAIN9 iface) {    IDirect3DSwapChain9Impl *This = (IDirect3DSwapChain9Impl *)iface;    ULONG ref = InterlockedIncrement(&This->ref);    TRACE("%p increasing refcount to %u./n", iface, ref);    if(ref == 1 && This->parentDevice) IDirect3DDevice9Ex_AddRef(This->parentDevice);    return ref;}
开发者ID:austin987,项目名称:wine,代码行数:10,


示例14: surface_init

HRESULT surface_init(IDirect3DSurface9Impl *surface, IDirect3DDevice9Impl *device,        UINT width, UINT height, D3DFORMAT format, BOOL lockable, BOOL discard, UINT level,        DWORD usage, D3DPOOL pool, D3DMULTISAMPLE_TYPE multisample_type, DWORD multisample_quality){    DWORD flags = 0;    HRESULT hr;    surface->IDirect3DSurface9_iface.lpVtbl = &Direct3DSurface9_Vtbl;    surface->ref = 1;    switch (format)    {        case D3DFMT_A8R8G8B8:        case D3DFMT_X8R8G8B8:        case D3DFMT_R5G6B5:        case D3DFMT_X1R5G5B5:        case D3DFMT_A1R5G5B5:        case D3DFMT_R8G8B8:            surface->getdc_supported = TRUE;            break;        default:            surface->getdc_supported = FALSE;            break;    }    /* FIXME: Check MAX bounds of MultisampleQuality. */    if (multisample_quality > 0)    {        FIXME("Multisample quality set to %u, substituting 0./n", multisample_quality);        multisample_quality = 0;    }    if (lockable)        flags |= WINED3D_SURFACE_MAPPABLE;    if (discard)        flags |= WINED3D_SURFACE_DISCARD;    wined3d_mutex_lock();    hr = wined3d_surface_create(device->wined3d_device, width, height, wined3dformat_from_d3dformat(format),            level, usage & WINED3DUSAGE_MASK, (WINED3DPOOL)pool, multisample_type, multisample_quality,            SURFACE_OPENGL, flags, surface, &d3d9_surface_wined3d_parent_ops, &surface->wined3d_surface);    wined3d_mutex_unlock();    if (FAILED(hr))    {        WARN("Failed to create wined3d surface, hr %#x./n", hr);        return hr;    }    surface->parentDevice = &device->IDirect3DDevice9Ex_iface;    IDirect3DDevice9Ex_AddRef(surface->parentDevice);    return D3D_OK;}
开发者ID:pihlaja,项目名称:wine,代码行数:54,


示例15: cubetexture_init

HRESULT cubetexture_init(struct d3d9_texture *texture, struct d3d9_device *device,        UINT edge_length, UINT levels, DWORD usage, D3DFORMAT format, D3DPOOL pool#ifdef VBOX_WITH_WDDM        , HANDLE *shared_handle        , void **pavClientMem#endif        ){    struct wined3d_resource_desc desc;    DWORD surface_flags = 0;    HRESULT hr;    texture->IDirect3DBaseTexture9_iface.lpVtbl = (const IDirect3DBaseTexture9Vtbl *)&d3d9_texture_cube_vtbl;    texture->refcount = 1;    desc.resource_type = WINED3D_RTYPE_CUBE_TEXTURE;    desc.format = wined3dformat_from_d3dformat(format);    desc.multisample_type = WINED3D_MULTISAMPLE_NONE;    desc.multisample_quality = 0;    desc.usage = usage & WINED3DUSAGE_MASK;    desc.pool = pool;    desc.width = edge_length;    desc.height = edge_length;    desc.depth = 1;    desc.size = 0;    if (pool != D3DPOOL_DEFAULT || (usage & D3DUSAGE_DYNAMIC))        surface_flags |= WINED3D_SURFACE_MAPPABLE;    wined3d_mutex_lock();    hr = wined3d_texture_create_cube(device->wined3d_device, &desc, levels, surface_flags,            texture, &d3d9_texture_wined3d_parent_ops, &texture->wined3d_texture#ifdef VBOX_WITH_WDDM            , shared_handle            , pavClientMem#endif            );    wined3d_mutex_unlock();    if (FAILED(hr))    {        WARN("Failed to create wined3d cube texture, hr %#x./n", hr);        return hr;    }    texture->parent_device = &device->IDirect3DDevice9Ex_iface;    IDirect3DDevice9Ex_AddRef(texture->parent_device);    return D3D_OK;}
开发者ID:afrulbasha,项目名称:virtualbox-org-svn-vbox-trunk,代码行数:49,


示例16: IDirect3DIndexBuffer9Impl_AddRef

static ULONG WINAPI IDirect3DIndexBuffer9Impl_AddRef(LPDIRECT3DINDEXBUFFER9 iface) {    IDirect3DIndexBuffer9Impl *This = (IDirect3DIndexBuffer9Impl *)iface;    ULONG ref = InterlockedIncrement(&This->ref);    TRACE("%p increasing refcount to %u./n", iface, ref);    if (ref == 1)    {        IDirect3DDevice9Ex_AddRef(This->parentDevice);        wined3d_mutex_lock();        IWineD3DBuffer_AddRef(This->wineD3DIndexBuffer);        wined3d_mutex_unlock();    }    return ref;}
开发者ID:CandyYao,项目名称:VirtualBox-OSE,代码行数:16,


示例17: IDirect3DCubeTexture9Impl_AddRef

static ULONG WINAPI IDirect3DCubeTexture9Impl_AddRef(LPDIRECT3DCUBETEXTURE9 iface) {    IDirect3DCubeTexture9Impl *This = (IDirect3DCubeTexture9Impl *)iface;    ULONG ref = InterlockedIncrement(&This->ref);    TRACE("%p increasing refcount to %u./n", iface, ref);    if (ref == 1)    {        IDirect3DDevice9Ex_AddRef(This->parentDevice);        wined3d_mutex_lock();        IWineD3DCubeTexture_AddRef(This->wineD3DCubeTexture);        wined3d_mutex_unlock();    }    return ref;}
开发者ID:CandyYao,项目名称:VirtualBox-OSE,代码行数:16,


示例18: d3d9_texture_3d_AddRef

static ULONG WINAPI d3d9_texture_3d_AddRef(IDirect3DVolumeTexture9 *iface){    struct d3d9_texture *texture = impl_from_IDirect3DVolumeTexture9(iface);    ULONG ref = InterlockedIncrement(&texture->refcount);    TRACE("%p increasing refcount to %u./n", iface, ref);    if (ref == 1)    {        IDirect3DDevice9Ex_AddRef(texture->parent_device);        wined3d_mutex_lock();        wined3d_texture_incref(texture->wined3d_texture);        wined3d_mutex_unlock();    }    return ref;}
开发者ID:Barrell,项目名称:wine,代码行数:17,


示例19: d3d9_vertexbuffer_AddRef

static ULONG WINAPI d3d9_vertexbuffer_AddRef(IDirect3DVertexBuffer9 *iface){    IDirect3DVertexBuffer9Impl *buffer = (IDirect3DVertexBuffer9Impl *)iface;    ULONG refcount = InterlockedIncrement(&buffer->ref);    TRACE("%p increasing refcount to %u./n", iface, refcount);    if (refcount == 1)    {        IDirect3DDevice9Ex_AddRef(buffer->parentDevice);        wined3d_mutex_lock();        IWineD3DBuffer_AddRef(buffer->wineD3DVertexBuffer);        wined3d_mutex_unlock();    }    return refcount;}
开发者ID:wesgarner,项目名称:wine,代码行数:17,


示例20: IDirect3DVolumeTexture9Impl_AddRef

static ULONG WINAPI IDirect3DVolumeTexture9Impl_AddRef(IDirect3DVolumeTexture9 *iface){    IDirect3DVolumeTexture9Impl *This = impl_from_IDirect3DVolumeTexture9(iface);    ULONG ref = InterlockedIncrement(&This->ref);    TRACE("%p increasing refcount to %u./n", iface, ref);    if (ref == 1)    {        IDirect3DDevice9Ex_AddRef(This->parentDevice);        wined3d_mutex_lock();        wined3d_texture_incref(This->wined3d_texture);        wined3d_mutex_unlock();    }    return ref;}
开发者ID:MichaelMcDonnell,项目名称:wine,代码行数:17,


示例21: d3d9_vertexshader_AddRef

static ULONG WINAPI d3d9_vertexshader_AddRef(IDirect3DVertexShader9 *iface){    IDirect3DVertexShader9Impl *shader = impl_from_IDirect3DVertexShader9(iface);    ULONG refcount = InterlockedIncrement(&shader->ref);    TRACE("%p increasing refcount to %u./n", iface, refcount);    if (refcount == 1)    {        IDirect3DDevice9Ex_AddRef(shader->parentDevice);        wined3d_mutex_lock();        wined3d_shader_incref(shader->wined3d_shader);        wined3d_mutex_unlock();    }    return refcount;}
开发者ID:Sunmonds,项目名称:wine,代码行数:17,


示例22: d3d9_vertexbuffer_AddRef

static ULONG WINAPI d3d9_vertexbuffer_AddRef(IDirect3DVertexBuffer9 *iface){    struct d3d9_vertexbuffer *buffer = impl_from_IDirect3DVertexBuffer9(iface);    ULONG refcount = InterlockedIncrement(&buffer->refcount);    TRACE("%p increasing refcount to %u./n", iface, refcount);    if (refcount == 1)    {        IDirect3DDevice9Ex_AddRef(buffer->parent_device);        wined3d_mutex_lock();        wined3d_buffer_incref(buffer->wined3d_buffer);        wined3d_mutex_unlock();    }    return refcount;}
开发者ID:ElvisTulip,项目名称:vbox,代码行数:17,


示例23: volumetexture_init

HRESULT volumetexture_init(struct d3d9_texture *texture, struct d3d9_device *device,        UINT width, UINT height, UINT depth, UINT levels, DWORD usage, D3DFORMAT format, D3DPOOL pool#ifdef VBOX_WITH_WDDM        , HANDLE *shared_handle        , void **pavClientMem#endif        ){    struct wined3d_resource_desc desc;    HRESULT hr;    texture->IDirect3DBaseTexture9_iface.lpVtbl = (const IDirect3DBaseTexture9Vtbl *)&d3d9_texture_3d_vtbl;    texture->refcount = 1;    desc.resource_type = WINED3D_RTYPE_VOLUME_TEXTURE;    desc.format = wined3dformat_from_d3dformat(format);    desc.multisample_type = WINED3D_MULTISAMPLE_NONE;    desc.multisample_quality = 0;    desc.usage = usage & WINED3DUSAGE_MASK;    desc.pool = pool;    desc.width = width;    desc.height = height;    desc.depth = depth;    desc.size = 0;    wined3d_mutex_lock();    hr = wined3d_texture_create_3d(device->wined3d_device, &desc, levels,            texture, &d3d9_texture_wined3d_parent_ops, &texture->wined3d_texture#ifdef VBOX_WITH_WDDM            , shared_handle            , pavClientMem#endif            );    wined3d_mutex_unlock();    if (FAILED(hr))    {        WARN("Failed to create wined3d volume texture, hr %#x./n", hr);        return hr;    }    texture->parent_device = &device->IDirect3DDevice9Ex_iface;    IDirect3DDevice9Ex_AddRef(texture->parent_device);    return D3D_OK;}
开发者ID:afrulbasha,项目名称:virtualbox-org-svn-vbox-trunk,代码行数:45,


示例24: d3d9_swapchain_AddRef

static ULONG WINAPI d3d9_swapchain_AddRef(IDirect3DSwapChain9Ex *iface){    struct d3d9_swapchain *swapchain = impl_from_IDirect3DSwapChain9Ex(iface);    ULONG refcount = InterlockedIncrement(&swapchain->refcount);    TRACE("%p increasing refcount to %u./n", iface, refcount);    if (refcount == 1)    {        if (swapchain->parent_device)            IDirect3DDevice9Ex_AddRef(swapchain->parent_device);        wined3d_mutex_lock();        wined3d_swapchain_incref(swapchain->wined3d_swapchain);        wined3d_mutex_unlock();    }    return refcount;}
开发者ID:AlexSteel,项目名称:wine,代码行数:19,


示例25: query_init

HRESULT query_init(IDirect3DQuery9Impl *query, IDirect3DDevice9Impl *device, D3DQUERYTYPE type){    HRESULT hr;    query->lpVtbl = &Direct3DQuery9_Vtbl;    query->ref = 1;    wined3d_mutex_lock();    hr = IWineD3DDevice_CreateQuery(device->WineD3DDevice, type, &query->wineD3DQuery, (IUnknown *)query);    wined3d_mutex_unlock();    if (FAILED(hr))    {        WARN("Failed to create wined3d query, hr %#x./n", hr);        return hr;    }    query->parentDevice = (IDirect3DDevice9Ex *)device;    IDirect3DDevice9Ex_AddRef(query->parentDevice);    return D3D_OK;}
开发者ID:bilboed,项目名称:wine,代码行数:21,


示例26: query_init

HRESULT query_init(IDirect3DQuery9Impl *query, IDirect3DDevice9Impl *device, D3DQUERYTYPE type){    HRESULT hr;    query->IDirect3DQuery9_iface.lpVtbl = &Direct3DQuery9_Vtbl;    query->ref = 1;    wined3d_mutex_lock();    hr = wined3d_query_create(device->wined3d_device, type, &query->wineD3DQuery);    wined3d_mutex_unlock();    if (FAILED(hr))    {        WARN("Failed to create wined3d query, hr %#x./n", hr);        return hr;    }    query->parentDevice = &device->IDirect3DDevice9Ex_iface;    IDirect3DDevice9Ex_AddRef(query->parentDevice);    return D3D_OK;}
开发者ID:AmesianX,项目名称:RosWine,代码行数:21,


示例27: texture_init

HRESULT texture_init(struct d3d9_texture *texture, struct d3d9_device *device,        UINT width, UINT height, UINT levels, DWORD usage, D3DFORMAT format, D3DPOOL pool){    struct wined3d_resource_desc desc;    DWORD surface_flags = 0;    HRESULT hr;    texture->IDirect3DBaseTexture9_iface.lpVtbl = (const IDirect3DBaseTexture9Vtbl *)&d3d9_texture_2d_vtbl;    d3d9_resource_init(&texture->resource);    desc.resource_type = WINED3D_RTYPE_TEXTURE;    desc.format = wined3dformat_from_d3dformat(format);    desc.multisample_type = WINED3D_MULTISAMPLE_NONE;    desc.multisample_quality = 0;    desc.usage = usage & WINED3DUSAGE_MASK;    desc.usage |= WINED3DUSAGE_TEXTURE;    desc.pool = pool;    desc.width = width;    desc.height = height;    desc.depth = 1;    desc.size = 0;    if (pool != D3DPOOL_DEFAULT || (usage & D3DUSAGE_DYNAMIC))        surface_flags |= WINED3D_SURFACE_MAPPABLE;    wined3d_mutex_lock();    hr = wined3d_texture_create(device->wined3d_device, &desc, levels, surface_flags,            texture, &d3d9_texture_wined3d_parent_ops, &texture->wined3d_texture);    wined3d_mutex_unlock();    if (FAILED(hr))    {        WARN("Failed to create wined3d texture, hr %#x./n", hr);        return hr;    }    texture->parent_device = &device->IDirect3DDevice9Ex_iface;    IDirect3DDevice9Ex_AddRef(texture->parent_device);    return D3D_OK;}
开发者ID:Eltechs,项目名称:wine,代码行数:40,


示例28: pixelshader_init

HRESULT pixelshader_init(IDirect3DPixelShader9Impl *shader, IDirect3DDevice9Impl *device, const DWORD *byte_code){    HRESULT hr;    shader->ref = 1;    shader->IDirect3DPixelShader9_iface.lpVtbl = &d3d9_pixelshader_vtbl;    wined3d_mutex_lock();    hr = wined3d_shader_create_ps(device->wined3d_device, byte_code, NULL, shader,            &d3d9_pixelshader_wined3d_parent_ops, &shader->wined3d_shader, 3);    wined3d_mutex_unlock();    if (FAILED(hr))    {        WARN("Failed to created wined3d pixel shader, hr %#x./n", hr);        return hr;    }    shader->parentDevice = &device->IDirect3DDevice9Ex_iface;    IDirect3DDevice9Ex_AddRef(shader->parentDevice);    return D3D_OK;}
开发者ID:Sunmonds,项目名称:wine,代码行数:22,


示例29: vertexshader_init

HRESULT vertexshader_init(IDirect3DVertexShader9Impl *shader, IDirect3DDevice9Impl *device, const DWORD *byte_code){    HRESULT hr;    shader->ref = 1;    shader->lpVtbl = &Direct3DVertexShader9_Vtbl;    wined3d_mutex_lock();    hr = IWineD3DDevice_CreateVertexShader(device->WineD3DDevice, byte_code,            NULL /* output signature */, &shader->wineD3DVertexShader,            (IUnknown *)shader, &d3d9_vertexshader_wined3d_parent_ops);    wined3d_mutex_unlock();    if (FAILED(hr))    {        WARN("Failed to create wined3d vertex shader, hr %#x./n", hr);        return hr;    }    shader->parentDevice = (IDirect3DDevice9Ex *)device;    IDirect3DDevice9Ex_AddRef(shader->parentDevice);    return D3D_OK;}
开发者ID:bilboed,项目名称:wine,代码行数:23,


示例30: volumetexture_init

HRESULT volumetexture_init(IDirect3DVolumeTexture9Impl *texture, IDirect3DDevice9Impl *device,        UINT width, UINT height, UINT depth, UINT levels, DWORD usage, D3DFORMAT format, D3DPOOL pool){    HRESULT hr;    texture->IDirect3DVolumeTexture9_iface.lpVtbl = &Direct3DVolumeTexture9_Vtbl;    texture->ref = 1;    wined3d_mutex_lock();    hr = wined3d_texture_create_3d(device->wined3d_device, width, height, depth, levels,            usage & WINED3DUSAGE_MASK, wined3dformat_from_d3dformat(format), pool, texture,            &d3d9_volumetexture_wined3d_parent_ops, &texture->wined3d_texture);    wined3d_mutex_unlock();    if (FAILED(hr))    {        WARN("Failed to create wined3d volume texture, hr %#x./n", hr);        return hr;    }    texture->parentDevice = &device->IDirect3DDevice9Ex_iface;    IDirect3DDevice9Ex_AddRef(texture->parentDevice);    return D3D_OK;}
开发者ID:MichaelMcDonnell,项目名称:wine,代码行数:24,



注:本文中的IDirect3DDevice9Ex_AddRef函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ IDirect3DSurface9_Release函数代码示例
C++ IDirect3DDevice8_AddRef函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。