/* $Id$
- * reactos overall object handling support for reactos of libcaptive
+ * reactos support for object handle handling for reactos of libcaptive
* Copyright (C) 2002 Jan Kratochvil <project-captive@jankratochvil.net>
*
* This program is free software; you can redistribute it and/or modify
#include "config.h"
-#include "reactos/ddk/zw.h" /* self */
+#include "reactos/ntos/zw.h" /* self */
#include "reactos/ntos/types.h" /* for HANDLE */
#include "reactos/napi/types.h" /* for NTSTATUS */
#include <glib/gmessages.h>
+/* libcaptive/ps/create.c: */
+extern const guint8 PsCreateSystemThread_bogusthread;
+
+
/**
* ZwClose:
* @Handle: Handle from some Zw*() create function.
+ * %NULL value is forbidden.
*
* Direct pass to NtClose(). reactos aliases this call to NtClose()
* in its "reactos/iface/native/sysfuncs.lst" file.
{
g_return_val_if_fail(Handle!=NULL,STATUS_INVALID_HANDLE);
+ /* FIXME: libcaptive does not yet create the threads (thread objects)
+ * but ntfs.sys will ZwClose() immediately after its PsCreateSystemThread().
+ */
+ if (Handle==(HANDLE)&PsCreateSystemThread_bogusthread)
+ return STATUS_SUCCESS;
+
return NtClose(Handle);
}