60 lines
1.1 KiB
C
60 lines
1.1 KiB
C
/*++
|
|
|
|
Copyright (c) 1992 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
Thread.c
|
|
|
|
Abstract:
|
|
|
|
This module defines private types and macros for use in implementing
|
|
a portable thread ID interface.
|
|
|
|
Author:
|
|
|
|
John Rogers (JohnRo) 14-Jan-1992
|
|
|
|
Environment:
|
|
|
|
User Mode - Win32
|
|
Portable to any flat, 32-bit environment. (Uses Win32 typedefs.)
|
|
Requires ANSI C extensions: slash-slash comments, long external names.
|
|
|
|
Revision History:
|
|
|
|
14-Jan-1992 JohnRo
|
|
Created.
|
|
--*/
|
|
|
|
|
|
// These must be included first:
|
|
|
|
#include <nt.h> // IN, VOID, NtCurrentTeb(), etc.
|
|
#include <windef.h> // DWORD.
|
|
|
|
// These may be included in any order:
|
|
|
|
#include <netdebug.h> // NetpAssert(), NetpKdPrint(()), etc.
|
|
#include <thread.h> // NET_THREAD_ID, NetpCurrentThread().
|
|
|
|
|
|
|
|
NET_THREAD_ID
|
|
NetpCurrentThread(
|
|
VOID
|
|
)
|
|
{
|
|
PTEB currentTeb;
|
|
NET_THREAD_ID currentThread;
|
|
|
|
currentTeb = NtCurrentTeb( );
|
|
NetpAssert( currentTeb != NULL );
|
|
|
|
currentThread = (NET_THREAD_ID) currentTeb->ClientId.UniqueThread;
|
|
NetpAssert( currentThread != (NET_THREAD_ID) 0 );
|
|
|
|
return (currentThread);
|
|
|
|
} // NetpCurrentThread
|