Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / modules / rostests / dxtest / win32kdxtest / NtGdiDdCreateDirectDrawObject.c
diff --git a/modules/rostests/dxtest/win32kdxtest/NtGdiDdCreateDirectDrawObject.c b/modules/rostests/dxtest/win32kdxtest/NtGdiDdCreateDirectDrawObject.c
new file mode 100644 (file)
index 0000000..28943ce
--- /dev/null
@@ -0,0 +1,50 @@
+#include <stdio.h>
+/* SDK/DDK/NDK Headers. */
+#include <windows.h>
+#include <wingdi.h>
+#include <winddi.h>
+#include <d3dnthal.h>
+#include <dll/directx/d3d8thk.h>
+#include "test.h"
+
+
+/*
+ * Test see if we getting a DirectDrawObject from win32k
+ *
+ */
+HANDLE
+test_NtGdiDdCreateDirectDrawObject()
+{
+    HANDLE retValue=0;
+    int fails=0;
+    HDC hdc=CreateDCW(L"Display",NULL,NULL,NULL);
+
+    if (hdc == NULL)
+    {
+        printf("No hdc was created with Display, trying now with DISPLAY\n");
+        hdc=CreateDCW(L"DISPLAY",NULL,NULL,NULL);
+        if (hdc == NULL)
+        {
+            printf("No hdc was created with DISPLAY, trying now with NULL\n");
+            hdc=CreateDCW(NULL,NULL,NULL,NULL);
+        }
+    }
+
+    if (hdc == NULL)
+    {
+        printf("No hdc was created at all perpare all test will fail\n");
+        return NULL;
+    }
+
+    printf("Start testing of NtGdiDdCreateDirectDrawObject\n");
+
+    retValue = OsThunkDdCreateDirectDrawObject(NULL);
+    testing_noteq(retValue,NULL,fails,"NtGdiDdCreateDirectDrawObject(NULL);\0");
+
+    retValue = OsThunkDdCreateDirectDrawObject(hdc);
+    testing_eq(retValue,NULL,fails,"NtGdiDdCreateDirectDrawObject(hdc);\0");
+
+    show_status(fails, "NtGdiDdCreateDirectDrawObject\0");
+
+    return retValue;
+}