CLIENT_PreControllerInterruptDisabled function

[This documentation is preliminary and is subject to change.]

OBSOLETE! The CLIENT_PreControllerInterruptDisabled event callback function performs any processing that might be required by the general-purpose I/O (GPIO) controller driver before the interrupt or interrupts from the GPIO controller are disabled.

Note  This callback function is obsolete and is not used by the current version of the GPIO framework extension (GpioClx).

Syntax

GPIO_CLIENT_PRE_CONTROLLER_INTERRUPTS_DISABLED CLIENT_PreControllerInterruptDisabled;

NTSTATUS CLIENT_PreControllerInterruptDisabled(
  _In_  PVOID Context
)
{ ... }

Parameters

  • Context [in]
    A pointer to the GPIO controller driver's device context.

Return value

The CLIENT_PreControllerInterruptDisabled function returns STATUS_SUCCESS if the call is successful. Otherwise, it returns an appropriate error status code.

Remarks

This function is optional. A GPIO controller driver that does not need to do any special processing before an interrupt is disabled is not required to implement this function.

Examples

The function type for this callback is declared in Gpioclx.h, as follows.

typedef NTSTATUS
  GPIO_CLIENT_PRE_CONTROLLER_INTERRUPTS_DISABLED(
    _In_ PVOID Context
    );

To define a CLIENT_PreControllerInterruptDisabled callback function that is named MyEvtGpioPreControllerInterruptDisabled, you must first provide a function declaration that Static Driver Verifier (SDV) and other verification tools require, as follows.

GPIO_CLIENT_PRE_CONTROLLER_INTERRUPTS_DISABLED MyEvtGpioPreControllerInterruptDisabled;

Then, implement your callback function as follows.

NTSTATUS
  MyEvtGpioPreControllerInterruptDisabled(
    _In_ PVOID Context
    )
{ ... }

For more information about SDV requirements for function declarations, see Declaring Functions Using Function Role Types for WDM Drivers.

Requirements

Version

Available starting with Windows Developer Preview.

Header

Gpioclx.h

IRQL

Called at PASSIVE_LEVEL.

 

 

Build date: 9/7/2011