ReactOS 0.4.16-dev-1106-g00b5dc8
process.h File Reference
#include <corecrt.h>
#include <corecrt_startup.h>
#include <corecrt_wprocess.h>
Include dependency graph for process.h:

Go to the source code of this file.

Macros

#define _INC_PROCESS
 
#define _P_WAIT   0
 
#define _P_NOWAIT   1
 
#define _OLD_P_OVERLAY   2
 
#define _P_NOWAITO   3
 
#define _P_DETACH   4
 
#define _P_OVERLAY   2
 
#define _WAIT_CHILD   0
 
#define _WAIT_GRANDCHILD   1
 

Typedefs

typedef unsigned(__stdcall_beginthreadex_proc_type) (void *)
 

Functions

typedef void (__cdecl *_beginthread_proc_type)(void *)
 
_ACRTIMP uintptr_t __cdecl _beginthread (_In_ _beginthread_proc_type _StartAddress, _In_ unsigned _StackSize, _In_opt_ void *_ArgList)
 
_ACRTIMP void __cdecl _endthread (void)
 
 _Success_ (return !=0) _ACRTIMP uintptr_t __cdecl _beginthreadex(_In_opt_ void *_Security
 
_ACRTIMP void __cdecl _endthreadex (_In_ unsigned _ReturnCode)
 

Variables

_In_ unsigned _StackSize
 
_In_ unsigned _In_ _beginthreadex_proc_type _StartAddress
 
_In_ unsigned _In_ _beginthreadex_proc_type _In_opt_ void_ArgList
 
_In_ unsigned _In_ _beginthreadex_proc_type _In_opt_ void _In_ unsigned _InitFlag
 
_In_ unsigned _In_ _beginthreadex_proc_type _In_opt_ void _In_ unsigned _Out_opt_ unsigned_ThrdAddr
 

Macro Definition Documentation

◆ _INC_PROCESS

#define _INC_PROCESS

Definition at line 11 of file process.h.

◆ _OLD_P_OVERLAY

#define _OLD_P_OVERLAY   2

Definition at line 28 of file process.h.

◆ _P_DETACH

#define _P_DETACH   4

Definition at line 30 of file process.h.

◆ _P_NOWAIT

#define _P_NOWAIT   1

Definition at line 27 of file process.h.

◆ _P_NOWAITO

#define _P_NOWAITO   3

Definition at line 29 of file process.h.

◆ _P_OVERLAY

#define _P_OVERLAY   2

Definition at line 31 of file process.h.

◆ _P_WAIT

#define _P_WAIT   0

Definition at line 26 of file process.h.

◆ _WAIT_CHILD

#define _WAIT_CHILD   0

Definition at line 35 of file process.h.

◆ _WAIT_GRANDCHILD

#define _WAIT_GRANDCHILD   1

Definition at line 36 of file process.h.

Typedef Documentation

◆ _beginthreadex_proc_type

typedef unsigned(__stdcall * _beginthreadex_proc_type) (void *)

Definition at line 85 of file process.h.

Function Documentation

◆ _beginthread()

_ACRTIMP uintptr_t __cdecl _beginthread ( _In_ _beginthread_proc_type  _StartAddress,
_In_ unsigned  _StackSize,
_In_opt_ void _ArgList 
)

◆ _endthread()

_ACRTIMP void __cdecl _endthread ( void  )

Definition at line 95 of file thread.c.

96{
97 TRACE("(void)\n");
98
99 /* FIXME */
100 ExitThread(0);
101}
VOID WINAPI ExitThread(IN DWORD uExitCode)
Definition: thread.c:365
#define TRACE(s)
Definition: solgame.cpp:4

◆ _endthreadex()

_ACRTIMP void __cdecl _endthreadex ( _In_ unsigned  _ReturnCode)

◆ _Success_()

_Success_ ( return = 0)

Definition at line 1028 of file fsctrl.c.

3189{
3191
3192 PVPB Vpb = Vcb->Vpb;
3193 PVPB OldVpb;
3194
3195 BOOLEAN Remount = FALSE;
3196
3197 PAGED_CODE();
3198
3199 UNREFERENCED_PARAMETER( IrpContext );
3200
3201 //
3202 // Check whether we are looking for a device only Mvcb.
3203 //
3204
3205 for (Link = CdData.VcbQueue.Flink;
3206 Link != &CdData.VcbQueue;
3207 Link = Link->Flink) {
3208
3209 *OldVcb = CONTAINING_RECORD( Link, VCB, VcbLinks );
3210
3211 //
3212 // Skip ourselves.
3213 //
3214
3215 if (Vcb == *OldVcb) { continue; }
3216
3217 //
3218 // Look at the Vpb and state of the previous Vcb.
3219 //
3220
3221 OldVpb = (*OldVcb)->Vpb;
3222
3223 if ((OldVpb != Vpb) &&
3224 (OldVpb->RealDevice == Vpb->RealDevice) &&
3225 ((*OldVcb)->VcbCondition == VcbNotMounted)) {
3226
3227 //
3228 // If the current disk is a raw disk then it can match a previous music or
3229 // raw disk.
3230 //
3231
3232 if (FlagOn( Vcb->VcbState, VCB_STATE_AUDIO_DISK)) {
3233
3234 if (FlagOn( (*OldVcb)->VcbState, VCB_STATE_AUDIO_DISK )) {
3235
3236 //
3237 // If we have both TOC then fail the remount if the lengths
3238 // are different or they don't match.
3239 //
3240
3241 if ((Vcb->TocLength != (*OldVcb)->TocLength) ||
3242 ((Vcb->TocLength != 0) &&
3243 !RtlEqualMemory( Vcb->CdromToc,
3244 (*OldVcb)->CdromToc,
3245 Vcb->TocLength ))) {
3246
3247 continue;
3248 }
3249
3250 Remount = TRUE;
3251 break;
3252 }
3253
3254 //
3255 // The current disk is not a raw disk. Go ahead and compare
3256 // serial numbers, volume label and TOC.
3257 //
3258
3259 }
3260 else if ((OldVpb->SerialNumber == Vpb->SerialNumber) &&
3261 (Vcb->TocLength == (*OldVcb)->TocLength) &&
3262 ((Vcb->TocLength == 0) || RtlEqualMemory( Vcb->CdromToc,
3263 (*OldVcb)->CdromToc,
3264 Vcb->TocLength )) &&
3265 (Vpb->VolumeLabelLength == OldVpb->VolumeLabelLength) &&
3266 (RtlEqualMemory( OldVpb->VolumeLabel,
3267 Vpb->VolumeLabel,
3268 Vpb->VolumeLabelLength ))) {
3269 //
3270 // Remember the old Vcb. Then set the return value to
3271 // TRUE and break.
3272 //
3273
3274 Remount = TRUE;
3275 break;
3276 }
3277 }
3278 }
3279
3280 return Remount;
3281}
#define PAGED_CODE()
unsigned char BOOLEAN
CD_DATA CdData
Definition: cddata.c:42
#define VCB_STATE_AUDIO_DISK
Definition: cdstruc.h:712
@ VcbNotMounted
Definition: cdstruc.h:490
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define FlagOn(_F, _SF)
Definition: ext2fs.h:179
IN OUT PVCB IN PDEVICE_OBJECT IN PVPB Vpb
Definition: fatprocs.h:1676
#define RtlEqualMemory(dst, src, len)
Definition: kdvm.h:18
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:325
#define Vcb
Definition: cdprocs.h:1415
LIST_ENTRY VcbQueue
Definition: cdstruc.h:334
Definition: typedefs.h:120
struct _LIST_ENTRY * Flink
Definition: typedefs.h:121
Definition: cdstruc.h:498
Definition: iotypes.h:189
WCHAR VolumeLabel[MAXIMUM_VOLUME_LABEL_LENGTH/sizeof(WCHAR)]
Definition: iotypes.h:198
USHORT VolumeLabelLength
Definition: iotypes.h:193
ULONG SerialNumber
Definition: iotypes.h:196
struct _DEVICE_OBJECT * RealDevice
Definition: iotypes.h:195
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
static int Link(const char **args)
Definition: vfdcmd.c:2414

◆ void()

typedef void ( __cdecl _beginthread_proc_type)

Variable Documentation

◆ _ArgList

Definition at line 100 of file process.h.

◆ _InitFlag

◆ _StackSize

_In_ unsigned _StackSize

Definition at line 98 of file process.h.

◆ _StartAddress

Definition at line 99 of file process.h.

◆ _ThrdAddr