Export (0) Print
Expand All

ThreadStart routine

The ThreadStart routine provides an entry point for a driver-created system thread.

Syntax


KSTART_ROUTINE ThreadStart;

VOID ThreadStart(
  _In_  PVOID StartContext
)
{ ... }

Parameters

StartContext [in]

A caller-supplied pointer to driver-defined context information that is specified in the StartContext parameter a previous call to PsCreateSystemThread.

Return value

None

Examples

To define a ThreadStart callback routine, you must first provide a function declaration that identifies the type of callback routine you're defining. Windows provides a set of callback function types for drivers. Declaring a function using the callback function types helps Code Analysis for Drivers, Static Driver Verifier (SDV), and other verification tools find errors, and it's a requirement for writing drivers for the Windows operating system.

For example, to define a ThreadStart callback routine that is named MyThreadStart, use the KSTART_ROUTINE type as shown in this code example:


KSTART_ROUTINE MyThreadStart;

Then, implement your callback routine as follows:


_Use_decl_annotations_
VOID 
  MyThreadStart( 
    PVOID  StartContext
    )
  {
      // Function body
  }

The KSTART_ROUTINE function type is defined in the Wdm.h header file. To more accurately identify errors when you run the code analysis tools, be sure to add the _Use_decl_annotations_ annotation to your function definition. The _Use_decl_annotations_ annotation ensures that the annotations that are applied to the KSTART_ROUTINE function type in the header file are used. For more information about the requirements for function declarations, see Declaring Functions by Using Function Role Types for WDM Drivers. For information about _Use_decl_annotations_, see Annotating Function Behavior.

Requirements

Version

Supported starting with Windows 2000.

Header

Wdm.h (include Wdm.h, Ntddk.h, or Ntifs.h)

IRQL

Called at PASSIVE_LEVEL.

See also

PsCreateSystemThread

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft