Partager via


WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE, fonction (wdfiotarget.h)

[S’applique à KMDF uniquement]

La fonction WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE initialise la structure WDF_IO_TARGET_OPEN_PARAMS d’un pilote afin que le pilote puisse ouvrir une cible d’E/S distante en spécifiant un objet de périphérique WDM (Windows Driver Model).

Syntaxe

void WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE(
  [out] PWDF_IO_TARGET_OPEN_PARAMS Params,
  [in]  PDEVICE_OBJECT             DeviceObject
);

Paramètres

[out] Params

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

[in] DeviceObject

Pointeur vers une structure DEVICE_OBJECT , qui est utilisée comme valeur pour le membre DeviceObject de la structure WDF_IO_TARGET_OPEN_PARAMS .

Valeur de retour

None

Remarques

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

La fonction WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE initialise les membres Size, Type et TargetDeviceObject de la structure WDF_IO_TARGET_OPEN_PARAMS spécifiée.

En règle générale, un pilote définit le membre TargetFileObject de la structure WDF_IO_TARGET_OPEN_PARAMS une fois que le pilote a appelé WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE.

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 la cible en spécifiant une structure DEVICE_OBJECT. L’exemple de pilote obtient la structure DEVICE_OBJECT en appelant NdisMGetDeviceProperty (non affiché).

WDF_IO_TARGET_OPEN_PARAMS  openParams;
NTSTATUS  ntStatus;

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

WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE(
                                               &openParams,
                                               Adapter->NextDeviceObject
                                               );

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

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.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_CREATE_BY_NAME

WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_NAME

WdfIoTargetOpen