Partager via


structure SD_RW_DIRECT_ARGUMENT (sddef.h)

La structure SD_RW_DIRECT_ARGUMENT est utilisée conjointement avec la routine SdBusSubmitRequest ou la routine SdBusSubmitRequestAsync pour envoyer une demande de lecture ou d’écriture sécurisée au pilote de bus.

Syntaxe

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;

Membres

u

Nom de l’union.

u.bits

Structure qui contient les membres suivants.

u.bits.Data

Contient huit bits de données à lire ou écrire.

u.bits.Reserved1

Réservé.

u.bits.Address

Indique l’adresse de l’espace de fonction accessible par l’opération.

u.bits.Reserved2

Réservé.

u.bits.ReadAfterWrite

Indique que l’opération doit lire les données à l’emplacement spécifié après avoir écrit dans cet emplacement. L’utilisation principale de cette option consiste à écrire dans un registre de contrôles, puis à lire les informations d’état à la même adresse immédiatement après. L’appelant doit définir WriteToDevice sur 1 ou ce membre n’aura aucun effet.

u.bits.Function

Contient le nombre de fonctions sur la carte d’E/S dont l’espace de données est accessible par l’opération. La valeur 0 indique que l’opération doit traiter la zone d’E/S commune, plutôt que l’espace d’E/S d’une fonction de carte particulière.

Pour récupérer un numéro de fonction pour un périphérique SD, un pilote de périphérique doit effectuer les opérations suivantes :

  1. Définissez le membre RequestFunction de SDBUS_REQUEST_PACKET sur une valeur d’énumérateur de SD_REQUEST_FUNCTION de SDRF_GET_PROPERTY.

  2. Définissez le membre propriété de SDBUS_REQUEST_PACKET sur SDP_FUNCTION_NUMBER.

  3. Envoyez la requête au pilote de bus en passant la structure de SDBUS_REQUEST_PACKET initialisée à SdBusSubmitRequest ou SdBusSubmitRequestAsync.

u.bits.WriteToDevice

Indique une opération d’écriture lorsqu’elle est définie sur 1 et une opération de lecture lorsqu’elle est définie sur 0.

u.AsULONG

Contient toutes les 32 bits des données stockées dans les membres précédents, représentées sous la forme d’un ULONG.

Exigences

Exigence Valeur
d’en-tête sddef.h

Voir aussi

SdBusSubmitRequest

SdBusSubmitRequestAsync