source: trunk/src/kernel32/hmtoken.cpp@ 22018

Last change on this file since 22018 was 5587, checked in by sandervl, 24 years ago

added mailslot implemenation, named pipe fixes + FreeLibraryAndExitThread

File size: 2.9 KB
Line 
1/* $Id: hmtoken.cpp,v 1.5 2001-04-26 13:22:47 sandervl Exp $ */
2
3/*
4 * Win32 process/thread token handle manager class
5 *
6 * TODO: Don't put pointer to security info struct in userdata
7 * Not valid when thread is done or terminated
8 *
9 * Copyright 2000 Sander van Leeuwen (sandervl@xs4all.nl)
10 *
11 * Project Odin Software License can be found in LICENSE.TXT
12 */
13
14
15/*****************************************************************************
16 * Remark *
17 *****************************************************************************
18
19 */
20
21
22/*****************************************************************************
23 * Includes *
24 *****************************************************************************/
25
26#include <os2win.h>
27#include <stdlib.h>
28#include <string.h>
29#include "unicode.h"
30#include "misc.h"
31
32#include "HandleManager.H"
33#include "HMToken.h"
34#include <wprocess.h>
35
36#define DBG_LOCALLOG DBG_hmtoken
37#include "dbglocal.h"
38
39/*****************************************************************************
40 * Name : DWORD HMDeviceHandler::OpenThreadToken
41 * Purpose :
42 * Variables :
43 * Result :
44 * Remark : TODO: OpenAsSelf
45 * Status :
46 *
47 * Author : SvL
48 *****************************************************************************/
49
50DWORD HMDeviceTokenClass::OpenThreadToken(PHMHANDLEDATA pHMHandleData,
51 HANDLE ThreadHandle,
52 BOOL OpenAsSelf)
53{
54 TEB *teb = GetTEBFromThreadHandle(ThreadHandle);
55
56 if(teb == 0) {
57 dprintf(("HMDeviceTokenClass::OpenThreadToken: thread handle %x not found", ThreadHandle));
58 return ERROR_INVALID_PARAMETER;
59 }
60 pHMHandleData->dwUserData = (DWORD)&teb->o.odin.threadinfo;
61 pHMHandleData->dwInternalType = HMTYPE_THREADTOKEN;
62 return STATUS_SUCCESS;
63}
64
65/*****************************************************************************
66 * Name : DWORD HMDeviceHandler::OpenThreadToken
67 * Purpose :
68 * Variables :
69 * Result :
70 * Remark :
71 * Status :
72 *
73 * Author : SvL
74 *****************************************************************************/
75
76DWORD HMDeviceTokenClass::OpenProcessToken(PHMHANDLEDATA pHMHandleData,
77 DWORD dwUserData,
78 HANDLE ProcessHandle)
79{
80 pHMHandleData->dwUserData = dwUserData;
81 pHMHandleData->dwInternalType = HMTYPE_PROCESSTOKEN;
82 return STATUS_SUCCESS;
83}
84
85
86/*****************************************************************************
87 * Name : DWORD HMDeviceHandler::CloseHandle
88 * Purpose :
89 * Variables :
90 * Result :
91 * Remark :
92 * Status :
93 *
94 * Author : SvL
95 *****************************************************************************/
96BOOL HMDeviceTokenClass::CloseHandle(PHMHANDLEDATA pHMHandleData)
97{
98 return TRUE;
99}
Note: See TracBrowser for help on using the repository browser.