211{
218
219 FIXME(
"(%p)->(%p,0x%08x,%p): mostly stub\n",
220 This, lpMessageBody, dwMessageBodySize, lpMessageHeader );
221
224
225 TRACE(
"Incoming message has envelope of 0x%08x, %u, %u\n",
226 lpMsg->
dwMagic, wCommandId, wVersion );
227
229 {
230 ERR(
"Unknown magic 0x%08x!\n", lpMsg->
dwMagic );
232 }
233
234#if 0
235 {
236 const LPDWORD lpcHeader = lpMessageHeader;
237
238 TRACE(
"lpMessageHeader = [0x%08lx] [0x%08lx] [0x%08lx] [0x%08lx] [0x%08lx]\n",
239 lpcHeader[0], lpcHeader[1], lpcHeader[2], lpcHeader[3], lpcHeader[4] );
240 }
241#endif
242
243
245 data.dwMessageSize = 0;
246
247
249 wCommandId, wVersion, &
data.lpMessage, &
data.dwMessageSize );
250
252 {
254 }
255
256
258 {
259 data.lpSPMessageHeader = lpMessageHeader;
260 data.idNameServer = 0;
262
263 hr =
This->dplay->dp2->spData.lpCB->Reply( &
data );
264
266 {
268 }
269 }
270
272
273#if 0
276
277
278
279
280
281 switch( lpMsg->dwType )
282 {
284 {
286
288 {
290 &
msg->dpnName, 0,
msg->lpData,
291 msg->dwDataSize,
msg->dwFlags, ... );
292 }
294 {
295
297 {
299 &
msg->dpnName, 0,
msg->lpData,
300 msg->dwDataSize,
msg->dwFlags, ... );
301 }
302 else
303 {
305 &
msg->dpnName, 0,
msg->lpData,
306 msg->dwDataSize,
msg->dwFlags, ... );
307 }
308 }
309 else
310 {
311 ERR(
"Corrupt msg->dwPlayerType for DPSYS_CREATEPLAYERORGROUP\n" );
312 return;
313 }
314
315 break;
316 }
317
319 {
321
323 {
325 }
327 {
329 }
330 else
331 {
332 ERR(
"Corrupt msg->dwPlayerType for DPSYS_DESTROYPLAYERORGROUP\n" );
333 return;
334 }
335
336 break;
337 }
338
340 {
342
343 hr = DP_IF_AddPlayerToGroup(
This,
msg->dpIdGroup,
msg->dpIdPlayer, ... );
344 break;
345 }
346
348 {
350
351 hr = DP_IF_DeletePlayerFromGroup(
This,
msg->dpIdGroup,
msg->dpIdPlayer,
352 ... );
353
354 break;
355 }
356
358 {
360
361 FIXME(
"DPSYS_SESSIONLOST not handled\n" );
362
363 break;
364 }
365
367 {
369
370 FIXME(
"DPSYS_HOST not handled\n" );
371
372 break;
373 }
374
376 {
378
380 {
382 }
384 {
385 hr = DP_IF_SetGroupData(
This,
msg->dpId,
msg->lpData,
msg->dwDataSize,
387 }
388 else
389 {
390 ERR(
"Corrupt msg->dwPlayerType for LPDPMSG_SETPLAYERORGROUPDATA\n" );
391 return;
392 }
393
394 break;
395 }
396
398 {
400
402 {
404 }
406 {
408 }
409 else
410 {
411 ERR(
"Corrupt msg->dwPlayerType for LPDPMSG_SETPLAYERORGROUPDATA\n" );
412 return;
413 }
414
415 break;
416 }
417
419 {
421
422 hr = DP_IF_SetSessionDesc(
This, &
msg->dpDesc );
423
424 break;
425 }
426
428 {
430
431 hr = DP_IF_AddGroupToGroup(
This,
msg->dpIdParentGroup,
msg->dpIdGroup,
432 ... );
433
434 break;
435 }
436
438 {
440
441 hr = DP_IF_DeleteGroupFromGroup(
This,
msg->dpIdParentGroup,
442 msg->dpIdGroup, ... );
443
444 break;
445 }
446
448 {
450
451 FIXME(
"DPSYS_SECUREMESSAGE not implemented\n" );
452
453 break;
454 }
455
457 {
459
460 FIXME(
"DPSYS_STARTSESSION not implemented\n" );
461
462 break;
463 }
464
466 {
468
469 FIXME(
"DPSYS_CHAT not implemented\n" );
470
471 break;
472 }
473
475 {
477
478 FIXME(
"DPSYS_SETGROUPOWNER not implemented\n" );
479
480 break;
481 }
482
484 {
486
487 FIXME(
"DPSYS_SENDCOMPLETE not implemented\n" );
488
489 break;
490 }
491
492 default:
493 {
494
495
496
497 TRACE(
"Received user message type(?) 0x%08lx through SP.\n",
498 lpMsg->dwType );
499 break;
500 }
501 }
502
503 FIXME(
"Queue message in the receive queue. Need some context data!\n" );
504
506 {
507 ERR(
"Unable to perform action for msg type 0x%08lx\n", lpMsg->dwType );
508 }
509
510 if( hReceiveEvent )
511 {
513 }
514#endif
515}
static HRESULT DP_IF_DestroyPlayer(IDirectPlayImpl *This, void *lpMsgHdr, DPID idPlayer, BOOL bAnsi)
static HRESULT DP_IF_CreateGroup(IDirectPlayImpl *This, void *lpMsgHdr, DPID *lpidGroup, DPNAME *lpGroupName, void *lpData, DWORD dwDataSize, DWORD dwFlags, BOOL bAnsi)
HRESULT DP_HandleMessage(IDirectPlayImpl *This, const void *lpcMessageBody, DWORD dwMessageBodySize, const void *lpcMessageHeader, WORD wCommandId, WORD wVersion, void **lplpReply, DWORD *lpdwMsgSize)
static HRESULT DP_IF_CreateGroupInGroup(IDirectPlayImpl *This, void *lpMsgHdr, DPID idParentGroup, DPID *lpidGroup, DPNAME *lpGroupName, void *lpData, DWORD dwDataSize, DWORD dwFlags, BOOL bAnsi)
static HRESULT DP_IF_SetPlayerName(IDirectPlayImpl *This, DPID idPlayer, DPNAME *lpPlayerName, DWORD dwFlags, BOOL bAnsi)
static HRESULT DP_IF_CreatePlayer(IDirectPlayImpl *This, void *lpMsgHdr, DPID *lpidPlayer, DPNAME *lpPlayerName, HANDLE hEvent, void *lpData, DWORD dwDataSize, DWORD dwFlags, BOOL bAnsi)
static HRESULT DP_IF_DestroyGroup(IDirectPlayImpl *This, void *lpMsgHdr, DPID idGroup, BOOL bAnsi)
#define DPID_NOPARENT_GROUP
static HRESULT DP_IF_SetGroupName(IDirectPlayImpl *This, DPID idGroup, DPNAME *lpGroupName, DWORD dwFlags, BOOL bAnsi)
#define DPPLAYERTYPE_PLAYER
#define DPSYS_SETSESSIONDESC
#define DPSYS_DESTROYPLAYERORGROUP
#define DPSYS_SECUREMESSAGE
#define DPSYS_SENDCOMPLETE
#define DPSYS_SETGROUPOWNER
#define DPPLAYERTYPE_GROUP
#define DPSYS_SETPLAYERORGROUPDATA
#define DPSYS_ADDGROUPTOGROUP
#define DPSYS_DELETEPLAYERFROMGROUP
#define DPSYS_DELETEGROUPFROMGROUP
#define DPSYS_CREATEPLAYERORGROUP
#define DPSYS_SESSIONLOST
#define DPSYS_SETPLAYERORGROUPNAME
#define DPSYS_ADDPLAYERTOGROUP
#define DPSYS_STARTSESSION
#define DPMSGMAGIC_DPLAYMSG
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)