StreamClassCallAtNewPriority function (strmini.h)

The StreamClassCallAtNewPriority routine schedules a routine to be called at a different priority.

Syntax

VOID STREAMAPI StreamClassCallAtNewPriority(
  [in, optional] PHW_STREAM_OBJECT    StreamObject,
  [in]           PVOID                HwDeviceExtension,
  [in]           STREAM_PRIORITY      Priority,
  [in]           PHW_PRIORITY_ROUTINE PriorityRoutine,
  [in]           PVOID                Context
);

Parameters

[in, optional] StreamObject

Pointer to an HW_STREAM_OBJECT structure specifying the stream is associated with the routine, or NULL if the routine is associated with the device as a whole. There can be only one routine per stream, and only one routine for the device. This parameter is optional.

[in] HwDeviceExtension

Pointer to the minidriver's device extension. The minidriver specifies the size of this buffer in the HW_INITIALIZATION_DATA structure it passes when it registers itself via StreamClassRegisterMinidriver. The class driver then passes pointers to the buffer in the HwDeviceExtension member of the HW_STREAM_REQUEST_BLOCK, HW_STREAM_OBJECT, HW_TIME_CONTEXT, and PORT_CONFIGURATION_INFORMATION structures it passes to the minidriver.

[in] Priority

Specifies one of the values listed in the following table.

Priority Usage
High The stream class driver calls the routine at the same priority as the minidriver's StrMiniXxx callbacks. Do not use this setting unless the routine must be synchronized with the minidriver's interrupt service routine.
Dispatch The stream class driver calls the routine at DISPATCH_LEVEL. Use this priority if the routine takes less than 1 millisecond to complete.
Low The stream class driver calls the routine at PASSIVE_LEVEL. Use this priority if the routine takes less than 1 millisecond to complete.
LowToHigh Used to allow a thread called at low priority to return to high priority so that other stream class driver services can be called.

[in] PriorityRoutine

Pointer to a minidriver-supplied StrMiniPriorityRoutine to be called at the specified priority level.

[in] Context

Specifies the parameter to be passed to the PriorityRoutine.

Return value

None

Requirements

Requirement Value
Target Platform Desktop
Header strmini.h (include Strmini.h)
Library Stream.lib
IRQL (See Parameters section)