Share via


WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME, fonction (wdfiotarget.h)

[S’applique à KMDF et UMDF]

La fonction WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME 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 le nom du périphérique, du fichier ou de l’interface du périphérique. Si le nom fourni n’existe pas, le système d’exploitation tente de le créer.

Syntaxe

void WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME(
  [out] PWDF_IO_TARGET_OPEN_PARAMS Params,
  [in]  PCUNICODE_STRING           TargetDeviceName,
  [in]  ACCESS_MASK                DesiredAccess
);

Paramètres

[out] Params

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

[in] TargetDeviceName

Valeur du membre TargetDeviceName de la structure WDF_IO_TARGET_OPEN_PARAMS .

[in] DesiredAccess

Valeur du membre DesiredAccess de la structure WDF_IO_TARGET_OPEN_PARAMS .

Valeur de retour

None

Remarques

Si TargetDeviceName spécifie le nom d’un fichier qui existe déjà, le système remplace le fichier existant. Si le fichier n’existe pas, le système le crée.

La structure WDF_IO_TARGET_OPEN_PARAMS est utilisée comme entrée de la méthode WdfIoTargetOpen .

KMDF La fonction WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME initialise les membres Size, Type, TargetDeviceName, DesiredAccess et CreateOptions de la structure WDF_IO_TARGET_OPEN_PARAMS spécifiée.

UMDF La fonction WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME initialise les membres Size, Type, DesiredAccess et TargetDeviceName de la structure WDF_IO_TARGET_OPEN_PARAMS spécifiée. Il définit le membre ShareAccess sur zéro. Il définit également le membre FileAttributes sur FILE_ATTRIBUTE_NORMAL.

Pour plus d’informations sur les cibles d’E/S, consultez Utilisation de cibles d’E/S.

Exemples

L’exemple de code suivant crée un objet cible d’E/S et ouvre une cible en spécifiant un nom de fichier.

UNICODE_STRING  fileName;

RtlInitUnicodeString(
                     &fileName, 
                     (PCWSTR)PROTOCOL_INTERFACE_NAME
                     );

status = WdfIoTargetCreate(
                           Adapter->WdfDevice,
                           WDF_NO_OBJECT_ATTRIBUTES,
                           &Adapter->IoTarget
                           );
if (!NT_SUCCESS(status)) {
    DEBUGP(MP_ERROR, ("WdfIoTargetCreate failed 0x%x\n", status));
    return status;
}

WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME(
                                              &openParams,
                                              &fileName,
                                              STANDARD_RIGHTS_ALL
                                              );

status = WdfIoTargetOpen(
                         Adapter->IoTarget,
                         &openParams
                         );
if (!NT_SUCCESS(status)) {
    DEBUGP(MP_ERROR, ("WdfIoTargetOpen failed 0x%x\n", status));
    return status;
}

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
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_PARAMS_INIT_EXISTING_DEVICE

WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_NAME

WdfIoTargetOpen