1/3 dpnet: Add basic DirectPlay8Peer implementation

Alexandre Julliard julliard at winehq.org
Wed Aug 20 05:46:38 CDT 2008


Alexander Nicolaysen Sørnes <alex at thehandofagony.com> writes:

> +static HRESULT WINAPI IDirectPlay8PeerImpl_Initialize(PDIRECTPLAY8PEER iface, PVOID CONST pvUserContext, CONST PFNDPNMESSAGEHANDLER pfn, CONST DWORD dwFlags)
> +{
> +    FIXME("(%p)->(%p,%p,%x): stub\n", iface, pvUserContext, pfn, dwFlags);
> +
> +    return DPN_OK;
> +}
> +
> +static HRESULT WINAPI IDirectPlay8PeerImpl_EnumServiceProviders(PDIRECTPLAY8PEER iface, CONST GUID *CONST pguidServiceProvider, CONST GUID *CONST pguidApplication, DPN_SERVICE_PROVIDER_INFO *CONST pSPInfoBuffer, DWORD *CONST pcbEnumData, DWORD *CONST pcReturned, CONST DWORD dwFlags)
> +{
> +    FIXME("(%p)->(%p,%p,%p,%p,%p,%x): stub\n", iface, pguidServiceProvider, pguidApplication, pSPInfoBuffer, pcbEnumData, pcReturned, dwFlags);
> +    return DPN_OK;
> +}

Returning OK from stubs is usually not a good idea.

> +static const IDirectPlay8PeerVtbl DirectPlay8Peer_Vtbl =
> +{
> +    IDirectPlay8PeerImpl_QueryInterface,
> +    IDirectPlay8PeerImpl_AddRef,
> +    IDirectPlay8PeerImpl_Release,
> +    IDirectPlay8PeerImpl_Initialize,
> +    IDirectPlay8PeerImpl_EnumServiceProviders
> +};

You can't initialize a vtbl partially, you need to stub all the functions.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list