13#define D3DLIGHTCAPS_GLSPOT 0x00000010
16#define D3DLIGHTCAPS_PARALLELPOINT 0x00000008
18#define checkflag(dwflag,dwvalue,text) \
19 if (dwflag & dwvalue) \
25 dwflag = (ULONG)dwflag - (ULONG)dwvalue; \
30#define endcheckflag(dwflag,text) \
32 printf("0x%08lx\n", (ULONG) dwflag);\
36 printf("undoc value in %s flags value %08lx\n",text, (ULONG) dwflag);
46 printf(
"dumping the CallBackFlags from %s\n",
text);
47 printf(
"pCallBackFlags[0] : ");
49 flag=pCallBackFlags[0];
62 printf(
"pCallBackFlags[1] : ");
63 flag = pCallBackFlags[1];
83 printf(
"pCallBackFlags[2] : ");
84 flag = pCallBackFlags[2];
94 printf(
"dumping the DD_HALINFO from %s\n",
text);
101 printf(
"DD_HALINFO Version NT4 found \n");
102 printf(
" pHalInfo4->dwSize : 0x%08lx\n",(
long)pHalInfo4->
dwSize);
192 printf(
" pHalInfo4->dwFlags : 0x%08lx\n",(
long)pHalInfo4->
dwFlags);
201 printf(
"DD_HALINFO Version NT 2000/XP/2003 found \n");
204 printf(
" pHalInfo->vmiData->fpPrimary : 0x%08lx\n",(
long)
pHalInfo->vmiData.fpPrimary);
205 printf(
" pHalInfo->vmiData->dwFlags : 0x%08lx\n",(
long)
pHalInfo->vmiData.dwFlags);
206 printf(
" pHalInfo->vmiData->dwDisplayWidth : 0x%08lx\n",(
long)
pHalInfo->vmiData.dwDisplayWidth);
207 printf(
" pHalInfo->vmiData->dwDisplayHeight : 0x%08lx\n",(
long)
pHalInfo->vmiData.dwDisplayHeight);
208 printf(
" pHalInfo->vmiData->lDisplayPitch : 0x%08lx\n",(
long)
pHalInfo->vmiData.lDisplayPitch);
210 printf(
" pHalInfo->vmiData->ddpfDisplay.dwSize : 0x%08lx\n",(
long)
pHalInfo->vmiData.ddpfDisplay.dwSize);
211 printf(
" pHalInfo->vmiData->ddpfDisplay.dwFlags : 0x%08lx\n",(
long)
pHalInfo->vmiData.ddpfDisplay.dwFlags);
212 printf(
" pHalInfo->vmiData->ddpfDisplay.dwFourCC : 0x%08lx\n",(
long)
pHalInfo->vmiData.ddpfDisplay.dwFourCC);
213 printf(
" pHalInfo->vmiData->ddpfDisplay.dwRGBBitCount : 0x%08lx\n",(
long)
pHalInfo->vmiData.ddpfDisplay.dwRGBBitCount);
214 printf(
" pHalInfo->vmiData->ddpfDisplay.dwRBitMask : 0x%08lx\n",(
long)
pHalInfo->vmiData.ddpfDisplay.dwRBitMask);
215 printf(
" pHalInfo->vmiData->ddpfDisplay.dwGBitMask : 0x%08lx\n",(
long)
pHalInfo->vmiData.ddpfDisplay.dwGBitMask);
216 printf(
" pHalInfo->vmiData->ddpfDisplay.dwBBitMask : 0x%08lx\n",(
long)
pHalInfo->vmiData.ddpfDisplay.dwBBitMask);
217 printf(
" pHalInfo->vmiData->ddpfDisplay.dwRGBAlphaBitMask : 0x%08lx\n",(
long)
pHalInfo->vmiData.ddpfDisplay.dwRGBAlphaBitMask);
220 printf(
" pHalInfo->vmiData->dwOffscreenAlign : 0x%08lx\n",(
long)
pHalInfo->vmiData.dwOffscreenAlign);
221 printf(
" pHalInfo->vmiData->dwOverlayAlign : 0x%08lx\n",(
long)
pHalInfo->vmiData.dwOverlayAlign);
222 printf(
" pHalInfo->vmiData->dwTextureAlign : 0x%08lx\n",(
long)
pHalInfo->vmiData.dwTextureAlign);
223 printf(
" pHalInfo->vmiData->dwZBufferAlign : 0x%08lx\n",(
long)
pHalInfo->vmiData.dwZBufferAlign);
224 printf(
" pHalInfo->vmiData->dwAlphaAlign : 0x%08lx\n",(
long)
pHalInfo->vmiData.dwAlphaAlign);
225 printf(
" pHalInfo->vmiData->pvPrimary : 0x%08lx\n",(
long)
pHalInfo->vmiData.pvPrimary);
227 printf(
" pHalInfo->ddCaps.dwSize : 0x%08lx\n",
pHalInfo->ddCaps.dwSize);
228 printf(
" pHalInfo->ddCaps.dwCaps : ");
265 printf(
" pHalInfo->ddCaps.dwCaps2 : ");
295 printf(
" pHalInfo->ddCaps.dwCKeyCaps : ");
319 printf(
" pHalInfo->ddCaps.dwFXCaps : ");
350 printf(
" pHalInfo->ddCaps.dwFXAlphaCaps : 0x%08lx\n",
pHalInfo->ddCaps.dwFXAlphaCaps);
351 printf(
" pHalInfo->ddCaps.dwPalCaps : 0x%08lx\n",
pHalInfo->ddCaps.dwPalCaps);
353 printf(
" pHalInfo->ddCaps.dwSVCaps : ");
362 printf(
" pHalInfo->ddCaps.dwAlphaBltConstBitDepths : 0x%08lx\n",
pHalInfo->ddCaps.dwAlphaBltConstBitDepths);
363 printf(
" pHalInfo->ddCaps.dwAlphaBltPixelBitDepths : 0x%08lx\n",
pHalInfo->ddCaps.dwAlphaBltPixelBitDepths);
364 printf(
" pHalInfo->ddCaps.dwAlphaBltSurfaceBitDepths : 0x%08lx\n",
pHalInfo->ddCaps.dwAlphaBltSurfaceBitDepths);
365 printf(
" pHalInfo->ddCaps.dwAlphaOverlayConstBitDepths : 0x%08lx\n",
pHalInfo->ddCaps.dwAlphaOverlayConstBitDepths);
366 printf(
" pHalInfo->ddCaps.dwAlphaOverlayPixelBitDepths : 0x%08lx\n",
pHalInfo->ddCaps.dwAlphaOverlayPixelBitDepths);
367 printf(
" pHalInfo->ddCaps.dwAlphaOverlaySurfaceBitDepths : 0x%08lx\n",
pHalInfo->ddCaps.dwAlphaOverlaySurfaceBitDepths);
368 printf(
" pHalInfo->ddCaps.dwZBufferBitDepths : 0x%08lx\n",
pHalInfo->ddCaps.dwZBufferBitDepths);
369 printf(
" pHalInfo->ddCaps.dwVidMemTotal : 0x%08lx\n",
pHalInfo->ddCaps.dwVidMemTotal);
370 printf(
" pHalInfo->ddCaps.dwVidMemFree : 0x%08lx\n",
pHalInfo->ddCaps.dwVidMemFree);
371 printf(
" pHalInfo->ddCaps.dwMaxVisibleOverlays : 0x%08lx\n",
pHalInfo->ddCaps.dwMaxVisibleOverlays);
372 printf(
" pHalInfo->ddCaps.dwCurrVisibleOverlays : 0x%08lx\n",
pHalInfo->ddCaps.dwCurrVisibleOverlays);
373 printf(
" pHalInfo->ddCaps.dwNumFourCCCodes : 0x%08lx\n",
pHalInfo->ddCaps.dwNumFourCCCodes);
374 printf(
" pHalInfo->ddCaps.dwAlignBoundarySrc : 0x%08lx\n",
pHalInfo->ddCaps.dwAlignBoundarySrc);
375 printf(
" pHalInfo->ddCaps.dwAlignSizeSrc : 0x%08lx\n",
pHalInfo->ddCaps.dwAlignSizeSrc);
376 printf(
" pHalInfo->ddCaps.dwAlignBoundaryDes : 0x%08lx\n",
pHalInfo->ddCaps.dwAlignBoundaryDest);
377 printf(
" pHalInfo->ddCaps.dwAlignSizeDest : 0x%08lx\n",
pHalInfo->ddCaps.dwAlignSizeDest);
378 printf(
" pHalInfo->ddCaps.dwAlignStrideAlign : 0x%08lx\n",
pHalInfo->ddCaps.dwAlignStrideAlign);
381 printf(
" pHalInfo->ddCaps.dwRops[0x%04x] : 0x%08lx\n",
t,
pHalInfo->ddCaps.dwRops[
t]);
383 printf(
" pHalInfo->ddCaps.ddsCaps.dwCaps : ");
417 printf(
" pHalInfo->ddCaps.dwMinOverlayStretch : 0x%08lx\n",
pHalInfo->ddCaps.dwMinOverlayStretch);
418 printf(
" pHalInfo->ddCaps.dwMaxOverlayStretch : 0x%08lx\n",
pHalInfo->ddCaps.dwMaxOverlayStretch);
419 printf(
" pHalInfo->ddCaps.dwMinLiveVideoStretch : 0x%08lx\n",
pHalInfo->ddCaps.dwMinLiveVideoStretch);
420 printf(
" pHalInfo->ddCaps.dwMaxLiveVideoStretch : 0x%08lx\n",
pHalInfo->ddCaps.dwMaxLiveVideoStretch);
421 printf(
" pHalInfo->ddCaps.dwMinHwCodecStretch : 0x%08lx\n",
pHalInfo->ddCaps.dwMinHwCodecStretch);
422 printf(
" pHalInfo->ddCaps.dwMaxHwCodecStretch : 0x%08lx\n",
pHalInfo->ddCaps.dwMaxHwCodecStretch);
423 printf(
" pHalInfo->ddCaps.dwReserved1 : 0x%08lx\n",
pHalInfo->ddCaps.dwReserved1);
424 printf(
" pHalInfo->ddCaps.dwReserved2 : 0x%08lx\n",
pHalInfo->ddCaps.dwReserved2);
425 printf(
" pHalInfo->ddCaps.dwReserved3 : 0x%08lx\n",
pHalInfo->ddCaps.dwReserved3);
427 printf(
" pHalInfo->ddCaps.dwSVBCaps : ");
464 printf(
" pHalInfo->ddCaps.dwSVBCKeyCaps : 0x%08lx\n",
pHalInfo->ddCaps.dwSVBCKeyCaps);
465 printf(
" pHalInfo->ddCaps.dwSVBFXCaps : 0x%08lx\n",
pHalInfo->ddCaps.dwSVBFXCaps);
468 printf(
" pHalInfo->ddCaps.dwSVBRops[0x%04x] : 0x%08lx\n",
t,
pHalInfo->ddCaps.dwSVBRops[
t]);
471 printf(
" pHalInfo->ddCaps.dwVSBCaps : ");
508 printf(
" pHalInfo->ddCaps.dwVSBCKeyCaps : 0x%08lx\n",
pHalInfo->ddCaps.dwVSBCKeyCaps);
509 printf(
" pHalInfo->ddCaps.dwVSBFXCaps : 0x%08lx\n",
pHalInfo->ddCaps.dwVSBFXCaps);
512 printf(
" pHalInfo->ddCaps.dwVSBRops[0x%04x] : 0x%08lx\n",
t,
pHalInfo->ddCaps.dwVSBRops[
t]);
514 printf(
" pHalInfo->ddCaps.dwSSBCaps : 0x%08lx\n",
pHalInfo->ddCaps.dwSSBCaps);
515 printf(
" pHalInfo->ddCaps.dwSSBCKeyCa : 0x%08lx\n",
pHalInfo->ddCaps.dwSSBCKeyCaps);
516 printf(
" pHalInfo->ddCaps.dwSSBFXCaps : 0x%08lx\n",
pHalInfo->ddCaps.dwSSBFXCaps);
519 printf(
" pHalInfo->ddCaps.dwSSBRops[0x%04x] : 0x%08lx\n",
t,
pHalInfo->ddCaps.dwSSBRops[
t]);
522 printf(
" pHalInfo->GetDriverInfo : 0x%08lx\n",(
long)
pHalInfo->GetDriverInfo);
523 printf(
" pHalInfo->dwFlags : ");
533 printf(
" pHalInfo->lpD3DGlobalDriverData : 0x%08lx\n",(
long)
pHalInfo->lpD3DGlobalDriverData);
534 printf(
" pHalInfo->lpD3DHALCallbacks : 0x%08lx\n",(
long)
pHalInfo->lpD3DHALCallbacks);
535 printf(
" pHalInfo->lpD3DBufCallbacks : 0x%08lx\n",(
long)
pHalInfo->lpD3DBufCallbacks);
541 printf(
"unkonwn dwSize DD_HALINFO : the size found is 0x%08lx\n",
pHalInfo->dwSize);
545 printf(
"none pHalInfo from the driver 0x%08lx\n",
pHalInfo->dwSize);
554 printf(
"dumping the D3DNTHAL_CALLBACKS from %s\n",
text);
557 printf(
" puD3dCallbacks->dwSize : 0x%08lx\n",(
long)puD3dCallbacks->
dwSize);
561 printf(
" puD3dCallbacks->SceneCapture : 0x%08lx\n",(
long)puD3dCallbacks->
SceneCapture);
562 printf(
" puD3dCallbacks->dwReserved10 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved10);
563 printf(
" puD3dCallbacks->dwReserved11 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved11);
564 printf(
" puD3dCallbacks->dwReserved22 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved22);
565 printf(
" puD3dCallbacks->dwReserved23 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved23);
566 printf(
" puD3dCallbacks->dwReserved : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved);
569 printf(
" puD3dCallbacks->TextureSwap : 0x%08lx\n",(
long)puD3dCallbacks->
TextureSwap);
571 printf(
" puD3dCallbacks->dwReserved12 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved12);
572 printf(
" puD3dCallbacks->dwReserved13 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved13);
573 printf(
" puD3dCallbacks->dwReserved14 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved14);
574 printf(
" puD3dCallbacks->dwReserved15 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved15);
575 printf(
" puD3dCallbacks->dwReserved16 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved16);
576 printf(
" puD3dCallbacks->dwReserved17 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved17);
577 printf(
" puD3dCallbacks->dwReserved18 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved18);
578 printf(
" puD3dCallbacks->dwReserved19 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved19);
579 printf(
" puD3dCallbacks->dwReserved20 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved20);
580 printf(
" puD3dCallbacks->dwReserved21 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved21);
581 printf(
" puD3dCallbacks->dwReserved24 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved24);
582 printf(
" puD3dCallbacks->dwReserved0 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved0);
583 printf(
" puD3dCallbacks->dwReserved1 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved1);
584 printf(
" puD3dCallbacks->dwReserved2 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved2);
585 printf(
" puD3dCallbacks->dwReserved3 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved3);
586 printf(
" puD3dCallbacks->dwReserved4 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved4);
587 printf(
" puD3dCallbacks->dwReserved5 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved5);
588 printf(
" puD3dCallbacks->dwReserved6 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved6);
589 printf(
" puD3dCallbacks->dwReserved7 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved7);
590 printf(
" puD3dCallbacks->dwReserved8 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved8);
591 printf(
" puD3dCallbacks->dwReserved9 : 0x%08lx\n",(
long)puD3dCallbacks->
dwReserved9);
595 printf(
"none puD3dCallbacks from the driver 0x%08lx\n",puD3dCallbacks->
dwSize);
606 printf(
"dumping the D3DNTHAL_GLOBALDRIVERDATA from %s\n",
text);
609 printf(
" puD3dDriverData->dwSize : 0x%08lx\n",(
long)puD3dDriverData->
dwSize);
612 printf(
" puD3dDriverData->hwCaps.dwSize : 0x%08lx\n",(
long)puD3dDriverData->
hwCaps.
dwSize);
613 printf(
" puD3dDriverData->hwCaps.dwFlags : ");
630 printf(
" puD3dDriverData->hwCaps.dwDevCaps : ");
658 printf(
" puD3dDriverData->hwCaps.dtcTransformCaps.dwCaps : ");
673 printf(
" puD3dDriverData->hwCaps.dlcLightingCaps.dwCaps : ");
685 printf(
" puD3dDriverData->hwCaps.dlcLightingCaps.dwLightingModel : ");
692 endcheckflag(
flag,
"puD3dDriverData->hwCaps.dlcLightingCaps.dwLightingModel");
706 printf(
" puD3dDriverData->hwCaps.dpcLineCaps.dwMiscCaps : ");
718 printf(
" puD3dDriverData->hwCaps.dpcLineCaps.dwRasterCaps : ");
744 printf(
" puD3dDriverData->hwCaps.dpcLineCaps.dwZCmpCaps : ");
757 printf(
" puD3dDriverData->hwCaps.dpcLineCaps.dwSrcBlendCaps : ");
775 printf(
" puD3dDriverData->hwCaps.dpcLineCaps.dwDestBlendCaps : ");
793 printf(
" puD3dDriverData->hwCaps.dpcLineCaps.dwAlphaCmpCaps : ");
806 printf(
" puD3dDriverData->hwCaps.dpcLineCaps.dwShadeCaps : ");
832 printf(
" puD3dDriverData->hwCaps.dpcLineCaps.dwTextureCaps : ");
850 printf(
" puD3dDriverData->hwCaps.dpcLineCaps.dwTextureFilterCaps : ");
869 endcheckflag(
flag,
"puD3dDriverData->hwCaps.dpcLineCaps.dwTextureFilterCaps ");
871 printf(
" puD3dDriverData->hwCaps.dpcLineCaps.dwTextureBlendCaps : ");
882 endcheckflag(
flag,
"puD3dDriverData->hwCaps.dpcLineCaps.dwTextureBlendCaps ");
884 printf(
" puD3dDriverData->hwCaps.dpcLineCaps.dwTextureAddressCaps : ");
892 endcheckflag(
flag,
"puD3dDriverData->hwCaps.dpcLineCaps.dwTextureAddressCaps ");
906 printf(
" puD3dDriverData->hwCaps.dpcTriCaps.dwMiscCaps : ");
918 printf(
" puD3dDriverData->hwCaps.dpcTriCaps.dwRasterCaps : ");
944 printf(
" puD3dDriverData->hwCaps.dpcTriCaps.dwZCmpCaps : ");
957 printf(
" puD3dDriverData->hwCaps.dpcTriCaps.dwSrcBlendCaps : ");
975 printf(
" puD3dDriverData->hwCaps.dpcTriCaps.dwDestBlendCaps : ");
993 printf(
" puD3dDriverData->hwCaps.dpcTriCaps.dwAlphaCmpCaps : ");
1006 printf(
" puD3dDriverData->hwCaps.dpcTriCaps.dwShadeCaps : ");
1032 printf(
" puD3dDriverData->hwCaps.dpcTriCaps.dwTextureCaps : ");
1050 printf(
" puD3dDriverData->hwCaps.dpcTriCaps.dwTextureFilterCaps : ");
1069 endcheckflag(
flag,
"puD3dDriverData->hwCaps.dpcTriCaps.dwTextureFilterCaps ");
1071 printf(
" puD3dDriverData->hwCaps.dpcTriCaps.dwTextureBlendCaps : ");
1082 endcheckflag(
flag,
"puD3dDriverData->hwCaps.dpcTriCaps.dwTextureBlendCaps ");
1084 printf(
" puD3dDriverData->hwCaps.dpcTriCaps.dwTextureAddressCaps : ");
1092 endcheckflag(
flag,
"puD3dDriverData->hwCaps.dpcTriCaps.dwTextureAddressCaps ");
1109 printf(
"none puD3dDriverData->hwCaps.dwSize from the driver 0x%08lx\n",puD3dDriverData->
hwCaps.
dwSize);
1112 printf(
" puD3dDriverData->dwNumVertices : 0x%08lx\n",(
long)puD3dDriverData->
dwNumVertices);
1120 printf(
"none puD3dDriverData from the driver 0x%08lx\n",puD3dDriverData->
dwSize);
1131 printf(
"dumping the DD_D3DBUFCALLBACKS from %s\n",
text);
1135 printf(
" puD3dBufferCallbacks->dwSize : 0x%08lx\n",(
long)puD3dBufferCallbacks->
dwSize);
1136 printf(
" puD3dBufferCallbacks->dwFlags : ");
1151 printf(
" puD3dBufferCallbacks->CreateD3DBuffer : 0x%08lx\n",(
long)puD3dBufferCallbacks->
CreateD3DBuffer);
1152 printf(
" puD3dBufferCallbacks->DestroyD3DBuffer : 0x%08lx\n",(
long)puD3dBufferCallbacks->
DestroyD3DBuffer);
1153 printf(
" puD3dBufferCallbacks->LockD3DBuffer : 0x%08lx\n",(
long)puD3dBufferCallbacks->
LockD3DBuffer);
1154 printf(
" puD3dBufferCallbacks->UnlockD3DBuffer : 0x%08lx\n",(
long)puD3dBufferCallbacks->
UnlockD3DBuffer);
1158 printf(
"none puD3dBufferCallbacks from the driver 0x%08lx\n",puD3dBufferCallbacks->
dwSize);
1171 printf(
"dumping the DDSURFACEDESC/DDSURFACEDESC2 from %s\n",
text);
1173 for (
t=0;
t<dwNum;
t++)
1175 printf(
"Show %d of %d DDSURFACEDESC\n",
t+1,dwNum);
1178 printf(
" puD3dTextureFormats->dwSize : 0x%08lx\n",(
long)myTextureFormats->dwSize);
1180 printf(
" puD3dTextureFormats->dwFlags : ");
1182 flag = myTextureFormats->dwFlags;
1201 printf(
" puD3dTextureFormats->dwHeight : 0x%08lx\n",(
long)myTextureFormats->dwHeight);
1202 printf(
" puD3dTextureFormats->dwWidth : 0x%08lx\n",(
long)myTextureFormats->dwWidth);
1203 printf(
" puD3dTextureFormats->dwLinearSize : 0x%08lx\n",(
long)myTextureFormats->dwLinearSize);
1204 printf(
" puD3dTextureFormats->dwBackBufferCount : 0x%08lx\n",(
long)myTextureFormats->dwBackBufferCount);
1205 printf(
" puD3dTextureFormats->dwZBufferBitDepth : 0x%08lx\n",(
long)myTextureFormats->dwZBufferBitDepth);
1206 printf(
" puD3dTextureFormats->dwAlphaBitDepth : 0x%08lx\n",(
long)myTextureFormats->dwAlphaBitDepth);
1207 printf(
" puD3dTextureFormats->dwReserved : 0x%08lx\n",(
long)myTextureFormats->dwReserved);
1208 printf(
" puD3dTextureFormats->lpSurface : 0x%08lx\n",(
long)myTextureFormats->lpSurface);
1209 printf(
" puD3dTextureFormats->ddckCKDestOverlay.dwColorSpaceLowValue : 0x%08lx\n",(
long)myTextureFormats->ddckCKDestOverlay.dwColorSpaceLowValue);
1210 printf(
" puD3dTextureFormats->ddckCKDestOverlay.dwColorSpaceHighValue : 0x%08lx\n",(
long)myTextureFormats->ddckCKDestOverlay.dwColorSpaceHighValue);
1211 printf(
" puD3dTextureFormats->ddckCKDestBlt.dwColorSpaceLowValue : 0x%08lx\n",(
long)myTextureFormats->ddckCKDestBlt.dwColorSpaceLowValue);
1212 printf(
" puD3dTextureFormats->ddckCKDestBlt : 0x%08lx\n",(
long)myTextureFormats->ddckCKDestBlt.dwColorSpaceHighValue);
1213 printf(
" puD3dTextureFormats->ddckCKSrcOverlay.dwColorSpaceLowValue : 0x%08lx\n",(
long)myTextureFormats->ddckCKSrcOverlay.dwColorSpaceLowValue);
1214 printf(
" puD3dTextureFormats->ddckCKSrcOverlay.dwColorSpaceHighValue : 0x%08lx\n",(
long)myTextureFormats->ddckCKSrcOverlay.dwColorSpaceHighValue);
1215 printf(
" puD3dTextureFormats->ddckCKSrcBlt.dwColorSpaceLowValue : 0x%08lx\n",(
long)myTextureFormats->ddckCKSrcBlt.dwColorSpaceLowValue);
1216 printf(
" puD3dTextureFormats->ddckCKSrcBlt.dwColorSpaceHighValue : 0x%08lx\n",(
long)myTextureFormats->ddckCKSrcBlt.dwColorSpaceHighValue);
1219 printf(
" puD3dTextureFormats->ddpfPixelFormat.dwSize : 0x%08lx\n",(
long)myTextureFormats->ddpfPixelFormat.dwSize);
1220 if (puD3dTextureFormats->ddpfPixelFormat.dwSize ==
sizeof(
DDPIXELFORMAT))
1222 printf(
" puD3dTextureFormats->ddpfPixelFormat.dwFlags : ");
1224 flag = myTextureFormats->ddpfPixelFormat.dwFlags;
1247 if (myTextureFormats->ddpfPixelFormat.dwFlags &
DDPF_FOURCC)
1249 printf(
" puD3dTextureFormats->ddpfPixelFormat.dwFourCC : ");
1250 switch(myTextureFormats->ddpfPixelFormat.dwFourCC)
1365 printf(
"0x%08lx\n",(
long)myTextureFormats->ddpfPixelFormat.dwFourCC);
1371 printf(
" puD3dTextureFormats->ddpfPixelFormat.dwFourCC : 0x%08lx\n",(
long)myTextureFormats->ddpfPixelFormat.dwFourCC);
1373 printf(
" puD3dTextureFormats->ddpfPixelFormat.dwRGBBitCount : 0x%08lx\n",(
long)myTextureFormats->ddpfPixelFormat.dwRGBBitCount);
1374 printf(
" puD3dTextureFormats->ddpfPixelFormat.dwRBitMask : 0x%08lx\n",(
long)myTextureFormats->ddpfPixelFormat.dwRBitMask);
1375 printf(
" puD3dTextureFormats->ddpfPixelFormat.dwGBitMask : 0x%08lx\n",(
long)myTextureFormats->ddpfPixelFormat.dwGBitMask);
1376 printf(
" puD3dTextureFormats->ddpfPixelFormat.dwBBitMask : 0x%08lx\n",(
long)myTextureFormats->ddpfPixelFormat.dwBBitMask);
1377 printf(
" puD3dTextureFormats->ddpfPixelFormat.dwRGBAlphaBitMask : 0x%08lx\n",(
long)myTextureFormats->ddpfPixelFormat.dwRGBAlphaBitMask);
1381 printf(
"none uD3dTextureFormats->ddpfPixelFormat from the driver 0x%08lx\n",myTextureFormats->ddpfPixelFormat.dwSize);
1384 printf(
" puD3dTextureFormats->ddsCaps.dwCaps : ");
1386 flag = myTextureFormats->ddsCaps.dwCaps;
1421 printf(
"error this should not happen : puD3dTextureFormats from the driver 0x%08lx\n",myTextureFormats->dwSize);
#define D3DPCMPCAPS_EQUAL
#define D3DPRASTERCAPS_ANTIALIASEDGES
#define D3DDEVCAPS_EXECUTESYSTEMMEMORY
#define D3DPTADDRESSCAPS_MIRROR
#define D3DPBLENDCAPS_SRCCOLOR
#define D3DDEVCAPS_CANRENDERAFTERFLIP
#define D3DPTEXTURECAPS_PROJECTED
#define D3DPRASTERCAPS_WBUFFER
#define D3DPBLENDCAPS_DESTCOLOR
#define D3DDEVCAPS_HWTRANSFORMANDLIGHT
#define D3DPTADDRESSCAPS_WRAP
#define D3DPMISCCAPS_CULLNONE
#define D3DPTFILTERCAPS_MAGFAFLATCUBIC
#define D3DPTFILTERCAPS_MIPFLINEAR
#define D3DPMISCCAPS_CULLCW
#define D3DDEVCAPS_TEXTUREVIDEOMEMORY
#define D3DDEVCAPS_DRAWPRIMITIVES2
#define D3DPBLENDCAPS_INVSRCCOLOR
#define D3DPBLENDCAPS_ZERO
#define D3DDEVCAPS_TEXTURESYSTEMMEMORY
#define D3DPTFILTERCAPS_MINFANISOTROPIC
#define D3DPBLENDCAPS_INVDESTCOLOR
#define D3DPBLENDCAPS_INVDESTALPHA
#define D3DPTFILTERCAPS_MINFLINEAR
#define D3DPTEXTURECAPS_SQUAREONLY
#define D3DDEVCAPS_DRAWPRIMITIVES2EX
#define D3DPTFILTERCAPS_MAGFANISOTROPIC
#define D3DPTEXTURECAPS_ALPHAPALETTE
#define D3DPSHADECAPS_COLORGOURAUDRGB
#define D3DPRASTERCAPS_ZBUFFERLESSHSR
#define D3DPBLENDCAPS_SRCALPHASAT
#define D3DPBLENDCAPS_BOTHSRCALPHA
#define D3DDEVCAPS_EXECUTEVIDEOMEMORY
#define D3DPRASTERCAPS_WFOG
#define D3DPTADDRESSCAPS_BORDER
#define D3DPTADDRESSCAPS_INDEPENDENTUV
#define D3DPSHADECAPS_FOGGOURAUD
#define D3DPTEXTURECAPS_ALPHA
#define D3DDEVCAPS_SEPARATETEXTUREMEMORIES
#define D3DPSHADECAPS_SPECULARGOURAUDRGB
#define D3DPMISCCAPS_CULLCCW
#define D3DPMISCCAPS_LINEPATTERNREP
#define D3DPCMPCAPS_NOTEQUAL
#define D3DDEVCAPS_DRAWPRIMTLVERTEX
#define D3DPRASTERCAPS_ANISOTROPY
#define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY
#define D3DPBLENDCAPS_INVSRCALPHA
#define D3DPRASTERCAPS_ZFOG
#define D3DPCMPCAPS_GREATER
#define D3DPBLENDCAPS_DESTALPHA
#define D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC
#define D3DPTEXTURECAPS_NONPOW2CONDITIONAL
#define D3DPRASTERCAPS_PAT
#define D3DPCMPCAPS_ALWAYS
#define D3DPRASTERCAPS_FOGRANGE
#define D3DPSHADECAPS_ALPHAGOURAUDBLEND
#define D3DPTEXTURECAPS_PERSPECTIVE
#define D3DPBLENDCAPS_SRCALPHA
#define D3DDEVCAPS_HWRASTERIZATION
#define D3DPBLENDCAPS_ONE
#define D3DPRASTERCAPS_FOGVERTEX
#define D3DPCMPCAPS_LESSEQUAL
#define D3DPTFILTERCAPS_MAGFLINEAR
#define D3DPTADDRESSCAPS_CLAMP
#define D3DPTFILTERCAPS_MINFPOINT
#define D3DPTEXTURECAPS_CUBEMAP
#define D3DPBLENDCAPS_BOTHINVSRCALPHA
#define D3DPCMPCAPS_NEVER
#define D3DDEVCAPS_CANBLTSYSTONONLOCAL
#define D3DPRASTERCAPS_FOGTABLE
#define D3DPTFILTERCAPS_MIPFPOINT
#define D3DDEVCAPS_TLVERTEXVIDEOMEMORY
#define D3DPMISCCAPS_MASKZ
#define D3DPCMPCAPS_GREATEREQUAL
#define D3DPRASTERCAPS_ZTEST
#define D3DPRASTERCAPS_ZBIAS
#define D3DPTEXTURECAPS_POW2
#define D3DPTFILTERCAPS_MAGFPOINT
#define D3DPRASTERCAPS_DITHER
#define D3DPTBLENDCAPS_COPY
#define D3DPTBLENDCAPS_MODULATEALPHA
#define D3DPRASTERCAPS_ROP2
#define D3DDD_LIGHTINGCAPS
#define D3DPTFILTERCAPS_LINEAR
#define D3DDD_MAXBUFFERSIZE
#define D3DPSHADECAPS_SPECULARFLATMONO
#define D3DPTFILTERCAPS_LINEARMIPNEAREST
#define D3DPTBLENDCAPS_MODULATEMASK
#define D3DDD_DEVICEZBUFFERBITDEPTH
#define D3DDEVCAPS_FLOATTLVERTEX
#define D3DLIGHTCAPS_DIRECTIONAL
#define D3DPTBLENDCAPS_MODULATE
#define D3DPRASTERCAPS_ANTIALIASSORTDEPENDENT
#define D3DPRASTERCAPS_STIPPLE
#define D3DPTEXTURECAPS_BORDER
#define D3DPTFILTERCAPS_NEAREST
#define D3DPSHADECAPS_ALPHAGOURAUDSTIPPLED
#define D3DPTBLENDCAPS_DECALMASK
#define D3DDEVCAPS_SORTDECREASINGZ
#define D3DPTEXTURECAPS_TRANSPARENCY
#define D3DPSHADECAPS_SPECULARGOURAUDMONO
#define D3DPSHADECAPS_ALPHAPHONGBLEND
#define D3DPSHADECAPS_COLORPHONGRGB
#define D3DPSHADECAPS_ALPHAPHONGSTIPPLED
#define D3DLIGHTCAPS_POINT
#define D3DDD_DEVICERENDERBITDEPTH
#define D3DPMISCCAPS_CONFORMANT
#define D3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT
#define D3DPTFILTERCAPS_LINEARMIPLINEAR
#define D3DDEVCAPS_SORTEXACT
#define D3DPTFILTERCAPS_MIPNEAREST
#define D3DPSHADECAPS_SPECULARFLATRGB
#define D3DLIGHTCAPS_SPOT
#define D3DDD_TRANSFORMCAPS
#define D3DPTEXTURECAPS_COLORKEYBLEND
#define D3DPTBLENDCAPS_ADD
#define D3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT
#define D3DPSHADECAPS_COLORFLATMONO
#define D3DPRASTERCAPS_SUBPIXELX
#define D3DPSHADECAPS_ALPHAFLATBLEND
#define D3DPTBLENDCAPS_DECALALPHA
#define D3DTRANSFORMCAPS_CLIP
#define D3DPRASTERCAPS_XOR
#define D3DDD_MAXVERTEXCOUNT
#define D3DPSHADECAPS_ALPHAFLATSTIPPLED
#define D3DPMISCCAPS_MASKPLANES
#define D3DPRASTERCAPS_SUBPIXEL
#define D3DPSHADECAPS_FOGFLAT
#define D3DPSHADECAPS_FOGPHONG
#define D3DPSHADECAPS_COLORPHONGMONO
#define D3DLIGHTINGMODEL_MONO
#define D3DPSHADECAPS_COLORGOURAUDMONO
#define D3DPSHADECAPS_SPECULARPHONGMONO
#define D3DPSHADECAPS_SPECULARPHONGRGB
#define D3DLIGHTINGMODEL_RGB
#define D3DPSHADECAPS_COLORFLATRGB
#define D3DPTBLENDCAPS_DECAL
#define D3DDEVCAPS_SORTINCREASINGZ
#define D3DPTFILTERCAPS_MIPLINEAR
#define DDHALINFO_MODEXILLEGAL
#define DDHAL_SURFCB32_DESTROYSURFACE
#define DDHALINFO_ISPRIMARYDISPLAY
#define DDHAL_CB32_CREATEPALETTE
#define DDHAL_SURFCB32_BLT
#define DDHAL_SURFCB32_GETFLIPSTATUS
#define DDHAL_SURFCB32_LOCK
#define DDHAL_SURFCB32_SETPALETTE
#define DDHAL_CB32_GETSCANLINE
#define DDHAL_SURFCB32_GETBLTSTATUS
#define DDHAL_SURFCB32_SETCLIPLIST
#define DDHAL_SURFCB32_UNLOCK
#define DDHAL_SURFCB32_SETOVERLAYPOSITION
#define DDHAL_CB32_CANCREATESURFACE
#define DDHALINFO_GETDRIVERINFOSET
#define DDHAL_PALCB32_SETENTRIES
#define DDHALINFO_GETDRIVERINFO2
#define DDHAL_SURFCB32_ADDATTACHEDSURFACE
#define DDHAL_SURFCB32_SETCOLORKEY
#define DDHAL_SURFCB32_UPDATEOVERLAY
#define DDHAL_CB32_SETCOLORKEY
#define DDHAL_PALCB32_DESTROYPALETTE
#define DDHAL_CB32_WAITFORVERTICALBLANK
#define DDHAL_SURFCB32_FLIP
#define DDSCAPS_EXECUTEBUFFER
#define DDHAL_CB32_SETMODE
#define DDHAL_CB32_CREATESURFACE
#define DDHAL_SURFCB32_RESERVED4
#define DDHAL_D3DBUFCB32_LOCKD3DBUF
#define DDHAL_CB32_MAPMEMORY
#define DDHAL_D3DBUFCB32_CANCREATED3DBUF
#define DDHAL_D3DBUFCB32_DESTROYD3DBUF
#define DDHAL_D3DBUFCB32_UNLOCKD3DBUF
#define DDHAL_D3DBUFCB32_CREATED3DBUF
#define MAKEFOURCC(ch0, ch1, ch2, ch3)
GLuint GLuint GLsizei count
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean flag
void dump_D3dDriverData(D3DNTHAL_GLOBALDRIVERDATA *puD3dDriverData, char *text)
void dump_D3dBufferCallbacks(DD_D3DBUFCALLBACKS *puD3dBufferCallbacks, char *text)
#define endcheckflag(dwflag, text)
#define D3DLIGHTCAPS_PARALLELPOINT
void dump_halinfo(DD_HALINFO *pHalInfo, char *text)
#define checkflag(dwflag, dwvalue, text)
void dump_D3dCallbacks(D3DNTHAL_CALLBACKS *puD3dCallbacks, char *text)
void dump_CallBackFlags(DWORD *pCallBackFlags, char *text)
#define D3DLIGHTCAPS_GLSPOT
void dump_D3dTextureFormats(DDSURFACEDESC *puD3dTextureFormats, int dwNum, char *text)
#define DDFXCAPS_OVERLAYSHRINKXN
#define DDCKEYCAPS_DESTBLTCLRSPACEYUV
#define DDCKEYCAPS_SRCBLTCLRSPACEYUV
#define DDPF_PALETTEINDEXEDTO8
#define DDSCAPS_FRONTBUFFER
#define DDCAPS_OVERLAYSTRETCH
#define DDSCAPS_ALLOCONLOAD
#define DDFXCAPS_BLTSHRINKYN
#define DDPF_PALETTEINDEXED4
#define DDCAPS_ALIGNBOUNDARYSRC
#define DDCAPS2_CANDROPZ16BIT
#define DDCAPS_BLTDEPTHFILL
#define DDCAPS2_FLIPINTERVAL
#define DDPF_PALETTEINDEXED2
#define DDCKEYCAPS_DESTBLT
#define DDPF_ALPHAPREMULT
#define DDCKEYCAPS_SRCOVERLAYYUV
#define DDCKEYCAPS_SRCBLTYUV
#define DDFXCAPS_BLTSHRINKX
#define DDCAPS_ALIGNBOUNDARYDEST
#define DDCAPS2_FLIPNOVSYNC
#define DDCAPS2_PRIMARYGAMMA
#define DDCKEYCAPS_DESTOVERLAY
#define DDCAPS2_COLORCONTROLOVERLAY
#define DDFXCAPS_OVERLAYARITHSTRETCHY
#define DDSD_ALPHABITDEPTH
#define DDCAPS2_CANRENDERWINDOWED
#define DDCAPS_STEREOVIEW
#define DDCKEYCAPS_DESTBLTCLRSPACE
#define DDCAPS2_NONLOCALVIDMEM
#define DDCKEYCAPS_SRCOVERLAY
#define DDSCAPS_PRIMARYSURFACE
#define DDSD_ZBUFFERBITDEPTH
#define DDFXCAPS_BLTSTRETCHYN
#define DDFXCAPS_BLTMIRRORLEFTRIGHT
#define DDFXCAPS_OVERLAYARITHSTRETCHYN
#define DDCAPS_CANBLTSYSMEM
#define DDCAPS_READSCANLINE
#define DDFXCAPS_BLTMIRRORUPDOWN
#define DDSCAPS_WRITEONLY
#define DDSCAPS_OPTIMIZED
#define DDCAPS2_CERTIFIED
#define DDSD_CKDESTOVERLAY
#define DDCAPS2_CANAUTOGENMIPMAP
#define DDSCAPS_NONLOCALVIDMEM
#define DDCAPS_OVERLAYFOURCC
#define DDCAPS2_COLORCONTROLPRIMARY
#define DDCKEYCAPS_DESTOVERLAYCLRSPACE
#define DDCAPS2_NONLOCALVIDMEMCAPS
#define DDCAPS_BLTSTRETCH
#define DDPF_STENCILBUFFER
#define DDFXCAPS_OVERLAYSHRINKX
#define DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV
#define DDFXCAPS_BLTSTRETCHXN
#define DDCAPS_ALIGNSIZESRC
#define DDCKEYCAPS_SRCBLT
#define DDFXCAPS_BLTSTRETCHY
#define DDCKEYCAPS_SRCOVERLAYONEACTIVE
#define DDSCAPS_LIVEVIDEO
#define DDCAPS_OVERLAYCANTCLIP
#define DDCAPS_CANCLIPSTRETCHED
#define DDSCAPS_OFFSCREENPLAIN
#define DDFXCAPS_BLTARITHSTRETCHY
#define DDCAPS2_CANBOBINTERLEAVED
#define DDFXCAPS_BLTARITHSTRETCHYN
#define DDCAPS_BANKSWITCHED
#define DDCAPS2_CANBOBNONINTERLEAVED
#define DDFXCAPS_BLTSHRINKXN
#define DDCAPS2_CANCALIBRATEGAMMA
#define DDCKEYCAPS_DESTOVERLAYONEACTIVE
#define DDSCAPS_PRIMARYSURFACELEFT
#define DDCAPS_BLTCOLORFILL
#define DDFXCAPS_OVERLAYMIRRORUPDOWN
#define DDCAPS2_WIDESURFACES
#define DDPF_PALETTEINDEXED1
#define DDCAPS2_COPYFOURCC
#define DDFXCAPS_BLTSTRETCHX
#define DDFXCAPS_OVERLAYMIRRORLEFTRIGHT
#define DDPF_PALETTEINDEXED8
#define DDCAPS_ALIGNSTRIDE
#define DDSCAPS_BACKBUFFER
#define DDCKEYCAPS_DESTBLTYUV
#define DDCAPS2_AUTOFLIPOVERLAY
#define DDFXCAPS_OVERLAYSTRETCHY
#define DDFXCAPS_BLTROTATION90
#define DDFXCAPS_OVERLAYSTRETCHX
#define DDCAPS2_CANFLIPODDEVEN
#define DDPF_BUMPLUMINANCE
#define DDCAPS_NOHARDWARE
#define DDCKEYCAPS_DESTOVERLAYYUV
#define DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV
#define DDFXCAPS_OVERLAYSTRETCHYN
#define DDSCAPS_VIDEOMEMORY
#define DDCKEYCAPS_SRCOVERLAYCLRSPACE
#define DDCAPS_ALIGNSIZEDEST
#define DDSCAPS_LOCALVIDMEM
#define DDFXCAPS_BLTROTATION
#define DDCKEYCAPS_SRCBLTCLRSPACE
#define DDCAPS2_NOPAGELOCKREQUIRED
#define DDFXCAPS_OVERLAYSHRINKYN
#define DDCAPS2_CANBOBHARDWARE
#define DDSCAPS_SYSTEMMEMORY
#define DDCAPS2_CANMANAGERESOURCE
#define DDCAPS2_CANMANAGETEXTURE
#define DDSCAPS_VIDEOPORT
#define DDFXCAPS_BLTSHRINKY
#define DDSD_BACKBUFFERCOUNT
#define DDSCAPS_STANDARDVGAMODE
#define DDCKEYCAPS_NOCOSTOVERLAY
#define DDFXCAPS_OVERLAYSHRINKY
#define DDCAPS_COLORKEYHWASSIST
#define DDCAPS2_VIDEOPORT
#define DDCAPS2_NO2DDURING3DSCENE
#define DDCAPS_PALETTEVSYNC
#define DDSD_CKSRCOVERLAY
DWORD dwDeviceRenderBitDepth
D3DLIGHTINGCAPS dlcLightingCaps
DWORD dwDeviceZBufferBitDepth
D3DCOLORMODEL dcmColorModel
D3DTRANSFORMCAPS dtcTransformCaps
LPD3DNTHAL_CONTEXTDESTROYCB ContextDestroy
LPD3DNTHAL_SCENECAPTURECB SceneCapture
LPD3DNTHAL_TEXTURESWAPCB TextureSwap
LPD3DNTHAL_TEXTURECREATECB TextureCreate
LPD3DNTHAL_TEXTUREGETSURFCB TextureGetSurf
LPD3DNTHAL_CONTEXTCREATECB ContextCreate
LPD3DNTHAL_TEXTUREDESTROYCB TextureDestroy
LPD3DNTHAL_CONTEXTDESTROYALLCB ContextDestroyAll
DWORD dwNumTextureFormats
D3DNTHALDEVICEDESC_V1 hwCaps
LPDDSURFACEDESC lpTextureFormats
DWORD dwTextureAddressCaps
DWORD dwTextureFilterCaps
DWORD dwAlphaOverlayPixelBitDepths
DWORD dwMaxLiveVideoStretch
DWORD dwCurrVisibleOverlays
DWORD dwAlphaOverlaySurfaceBitDepths
DWORD dwAlignBoundaryDest
DWORD dwMaxOverlayStretch
DWORD dwSVBRops[DD_ROP_SPACE]
DWORD dwSSBRops[DD_ROP_SPACE]
DWORD dwMaxHwCodecStretch
DWORD dwMaxVisibleOverlays
DWORD dwAlphaOverlayConstBitDepths
DWORD dwMinOverlayStretch
DWORD dwAlphaBltPixelBitDepths
DWORD dwAlphaBltConstBitDepths
DWORD dwMinLiveVideoStretch
DWORD dwRops[DD_ROP_SPACE]
DWORD dwMinHwCodecStretch
DWORD dwVSBRops[DD_ROP_SPACE]
DWORD dwAlphaBltSurfaceBitDepths
PDD_CANCREATESURFACE CanCreateD3DBuffer
PDD_CREATESURFACE CreateD3DBuffer
PDD_SURFCB_DESTROYSURFACE DestroyD3DBuffer
PDD_SURFCB_LOCK LockD3DBuffer
PDD_SURFCB_UNLOCK UnlockD3DBuffer
PDD_GETDRIVERINFO GetDriverInfo
DDPIXELFORMAT ddpfDisplay
_Out_ DD_HALINFO * pHalInfo