Alexander Nicolaysen Sørnes alex@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.