#ifndef MACROD3D_H #define MACROD3D_H #define D3D_M_vRelease(x) if((x)!=NULL) {(x)->lpVtbl->Release(x); (x) = NULL;} #define IDirect3D0(p,fonction) ( (((p) != NULL) && ((p)->lpVtbl != NULL)) ? (p)->lpVtbl->##fonction##(p) : -1) #define IDirect3D1(p,fonction,a) ( (((p) != NULL) && ((p)->lpVtbl != NULL)) ? (p)->lpVtbl->##fonction##(p,a) : -1) #define IDirect3D2(p,fonction,a,b) ( (((p) != NULL) && ((p)->lpVtbl != NULL)) ? (p)->lpVtbl->##fonction##(p,a,b) : -1) #define IDirect3D3(p,fonction,a,b,c) ( (((p) != NULL) && ((p)->lpVtbl != NULL)) ? (p)->lpVtbl->##fonction##(p,a,b,c) : -1) #define IDirect3D4(p,fonction,a,b,c,d) ( (((p) != NULL) && ((p)->lpVtbl != NULL)) ? (p)->lpVtbl->##fonction##(p,a,b,c,d) : -1) #define IDirect3D5(p,fonction,a,b,c,d,e) ( (((p) != NULL) && ((p)->lpVtbl != NULL)) ? (p)->lpVtbl->##fonction##(p,a,b,c,d,e) : -1) #endif /* MACROD3D_H */