Freigeben über


SD_RW_DIRECT_ARGUMENT-Struktur (sddef.h)

Die SD_RW_DIRECT_ARGUMENT-Struktur wird in Verbindung mit der SdBusSubmitRequest-Routine oder der SdBusSubmitRequestAsync-Routine verwendet, um eine Secure Digital-Lese- oder Schreibanforderung (SD) an den Bustreiber zu senden.

Syntax

typedef struct _SD_RW_DIRECT_ARGUMENT {
  union {
    struct {
      ULONG Data : 8;
      ULONG Reserved1 : 1;
      ULONG Address : 17;
      ULONG Reserved2 : 1;
      ULONG ReadAfterWrite : 1;
      ULONG Function : 3;
      ULONG WriteToDevice : 1;
    } bits;
    ULONG AsULONG;
  } u;
} SD_RW_DIRECT_ARGUMENT, *PSD_RW_DIRECT_ARGUMENT;

Member

u

Name der Vereinigung.

u.bits

Struktur, die die folgenden Member enthält.

u.bits.Data

Enthält acht Datenbits zum Lesen oder Schreiben.

u.bits.Reserved1

Reserviert.

u.bits.Address

Gibt die Adresse des Funktionsraums an, auf den der Vorgang zugreift.

u.bits.Reserved2

Reserviert.

u.bits.ReadAfterWrite

Gibt an, dass der Vorgang die Daten am angegebenen Speicherort lesen soll, nachdem er an diesen Speicherort geschrieben hat. Die primäre Verwendung dieser Option besteht darin, in ein Steuerelementregister zu schreiben und dann status Informationen direkt danach an derselben Adresse zu lesen. Der Aufrufer muss WriteToDevice auf 1 festlegen, sonst hat dieser Member keine Auswirkung.

u.bits.Function

Enthält die Nummer der Funktion auf dem E/A-Karte auf deren Datenbereich der Vorgang zugreift. Der Wert 0 gibt an, dass der Vorgang den allgemeinen E/A-Bereich und nicht den E/A-Raum einer bestimmten Karte-Funktion adressieren soll.

Um eine Funktionsnummer für ein SD-Gerät abzurufen, muss ein Gerätetreiber folgendes tun:

  1. Legen Sie den RequestFunction-Member von SDBUS_REQUEST_PACKET auf den SD_REQUEST_FUNCTION Enumeratorwert SDRF_GET_PROPERTY fest.

  2. Legen Sie den Eigenschaftsmember von SDBUS_REQUEST_PACKET auf SDP_FUNCTION_NUMBER fest.

  3. Senden Sie die Anforderung an den Bustreiber, indem Sie die initialisierte SDBUS_REQUEST_PACKET-Struktur entweder an SdBusSubmitRequest oder SdBusSubmitRequestAsync übergeben.

u.bits.WriteToDevice

Gibt einen Schreibvorgang an, wenn auf 1 festgelegt ist, und einen Lesevorgang, wenn auf 0 festgelegt ist.

u.AsULONG

Enthält alle 32 Bits der Daten, die in den vorherigen Membern gespeichert sind und als ULONG dargestellt werden.

Anforderungen

Anforderung Wert
Header sddef.h

Weitere Informationen

SdBusSubmitRequest

SdBusSubmitRequestAsync