SDBUS_INTERFACE_STANDARD structure (ntddsd.h)

The SDBUS_INTERFACE_STANDARD structure contains pointers to the method routines of a Secure Digital (SD) card bus interface.

Syntax

typedef struct _SDBUS_INTERFACE_STANDARD {
  USHORT                              Size;
  USHORT                              Version;
  PVOID                               Context;
  PINTERFACE_REFERENCE                InterfaceReference;
  PINTERFACE_DEREFERENCE              InterfaceDereference;
  PSDBUS_INITIALIZE_INTERFACE_ROUTINE InitializeInterface;
  PSDBUS_ACKNOWLEDGE_INT_ROUTINE      AcknowledgeInterrupt;
} SDBUS_INTERFACE_STANDARD, *PSDBUS_INTERFACE_STANDARD;

Members

Size

Indicates the size, in bytes, of this structure. The caller of SdBusOpenInterface should set this member to sizeof(SDBUS_INTERFACE_STANDARD).

Version

Indicates the version number of the interface. The caller of SdBusOpenInterface should set this member to SDBUS_INTERFACE_VERSION.

Context

Pointer to context information that the bus driver provides whenever a device driver opens an interface with SdBusOpenInterface. This information is available to the caller on output after the call to SdBusOpenInterface. The caller must pass this information as a parameter to other interface routines.

InterfaceReference

Pointer to a bus driver-supplied routine of type PINTERFACE_REFERENCE that increments the interface's reference count that is available to the caller of the SdBusOpenInterface routine when this routine returns. SdBusOpenInterface automatically increments the interface count to one, so in most cases, it is necessary for the caller to use this routine.

This routine follows the standard format of bus interface reference routines. For a description of the general case, see INTERFACE.

InterfaceDereference

Pointer to a bus driver-supplied routine of type PINTERFACE_DEREFERENCE that decrements the interface reference count. If the caller decrements the reference count to zero, the bus driver closes the interface.

This routine follows the standard format of bus interface dereference routines. For a description of the general case, see INTERFACE.

Device drivers must use this routine to dereference the interface under the following conditions:

  • The device driver receives a query remove IRP.
  • The device driver receives a surprise remove IRP.
  • The device driver receives a remove IRP, without first receiving a query remove or a surprise remove IRP.

In all of these cases, the device driver should dereference the interface before passing the IRP to the bus driver.

InitializeInterface

Pointer to a bus driver-supplied routine of type PSDBUS_INITIALIZE_INTERFACE_ROUTINE that sets initialization parameters on the interface.

AcknowledgeInterrupt

Pointer to a bus driver-supplied routine of type PSDBUS_ACKNOWLEDGE_INT_ROUTINE that the SD device driver uses to notify the bus driver that it has finished processing an interrupt.

Remarks

SD device drivers must obtain this set of method routines to communicate with the SD bus driver. Drivers call the SdBusOpenInterface library routine to open an interface.

Requirements

Requirement Value
Header ntddsd.h

See also

INTERFACE

PSDBUS_ACKNOWLEDGE_INT_ROUTINE

SDBUS_INTERFACE_STANDARD

SdBusOpenInterface