Partager via


WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE, fonction (wdfiotarget.h)

[S’applique à UMDF uniquement]

La fonction WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE initialise la structure WDF_IO_TARGET_OPEN_PARAMS d’un pilote afin que le pilote puisse ouvrir une cible d’E/S en spécifiant un nom de fichier.

Syntaxe

void WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE(
  [out]          PWDF_IO_TARGET_OPEN_PARAMS Params,
  [in, optional] PCUNICODE_STRING           FileName
);

Paramètres

[out] Params

Pointeur vers une structure de WDF_IO_TARGET_OPEN_PARAMS allouée par le pilote, que la fonction initialise.

[in, optional] FileName

Valeur du membre FileName de la structure WDF_IO_TARGET_OPEN_PARAMS . La plupart des pilotes spécifient null ici, sauf si la cible inférieure prend en charge l’accès à l’espace de noms de périphérique.

Valeur de retour

None

Remarques

La fonction WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE met à zéro la structure WDF_IO_TARGET_OPEN_PARAMS spécifiée et définit son membre Size . Il définit également le membre Type de la structure sur WdfIoTargetOpenLocalTargetByFile et définit le membre FileName si le pilote fournit un nom de fichier.

Un pilote peut fermer explicitement la cible d’E/S en appelant WdfIoTargetClose. Si le pilote ne ferme pas explicitement la cible, le framework ferme automatiquement la cible lorsque l’appareil est supprimé (une cible d’E/S est parentée par défaut sur l’appareil).

Exemples

L’exemple de code suivant montre comment un pilote UMDF peut ouvrir une cible locale avec un objet file, comme décrit dans WDF_IO_TARGET_OPEN_TYPE :

WDF_OBJECT_ATTRIBUTES  ioTargetAttrib;
WDFIOTARGET  ioTarget;
WDF_IO_TARGET_OPEN_PARAMS  openParams;

//
// Create target
//
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&ioTargetAttrib, TARGET_DEVICE_INFO);
status = WdfIoTargetCreate(device, &ioTargetAttrib, &ioTarget);
if (!NT_SUCCESS(status)) {
    return status;
}

//
// Open target
//
WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE(&openParams, NULL);
status = WdfIoTargetOpen(ioTarget, &openParams);
if (!NT_SUCCESS(status)) {
    WdfObjectDelete(ioTarget);
    return status;
}

//
// create a request
//


//
// Format the request for the above target
//


//
// Send request to above target
//

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8.1
Plateforme cible Universal
Version UMDF minimale 2.0
En-tête wdfiotarget.h (inclure Wdf.h)
IRQL N’importe quel niveau

Voir aussi

WDF_IO_TARGET_OPEN_PARAMS

WDF_IO_TARGET_OPEN_TYPE