Función WdfIoTargetCreate (wdfiotarget.h)
[Se aplica a KMDF y UMDF]
El método WdfIoTargetCreate crea un destino de E/S remoto para un dispositivo especificado.
Sintaxis
NTSTATUS WdfIoTargetCreate(
[in] WDFDEVICE Device,
[in, optional] PWDF_OBJECT_ATTRIBUTES IoTargetAttributes,
[out] WDFIOTARGET *IoTarget
);
Parámetros
[in] Device
Identificador de un objeto de dispositivo de marco.
[in, optional] IoTargetAttributes
Puntero a una estructura de WDF_OBJECT_ATTRIBUTES asignada por el autor de la llamada que especifica los atributos de objeto para el objeto de destino de E/S. Este parámetro es opcional y puede ser WDF_NO_OBJECT_ATTRIBUTES.
[out] IoTarget
Puntero a una ubicación que recibe un identificador de un objeto de destino de E/S.
Valor devuelto
WdfIoTargetCreate devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, este método podría devolver uno de los siguientes valores:
Código devuelto | Descripción |
---|---|
|
Se ha detectado un parámetro no válido. |
|
No había memoria suficiente para crear un nuevo objeto de destino de E/S. |
|
El miembro ParentObject de la estructura WDF_OBJECT_ATTRIBUTES que IoTargetAttributes especificó no especificó el objeto de dispositivo de marco especificado por Device o un objeto cuya cadena de elementos primarios conduce a ese objeto. |
Para obtener una lista de otros valores devueltos que WdfIoTargetCreate puede devolver, vea Errores de creación de objetos de marco.
Este método también podría devolver otros valores NTSTATUS.
Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.
Comentarios
Después de que un controlador llame a WdfIoTargetCreate, el controlador debe llamar a WdfIoTargetOpen para poder enviar solicitudes al destino de E/S remoto.
Si el controlador especifica un objeto primario en el miembro ParentObject de la estructura WDF_OBJECT_ATTRIBUTES, el objeto primario puede ser un objeto de dispositivo de marco o cualquier objeto cuya cadena de elementos primarios conduce a un objeto de dispositivo de marco. El marco eliminará el objeto de destino de E/S cuando (o el controlador) elimine el objeto de dispositivo.
Para obtener más información sobre WdfIoTargetCreate, consulte Inicialización de un destino de E/S general.
Si el controlador proporciona funciones de devolución de llamada EvtCleanupCallback o EvtDestroyCallback para el objeto de destino de E/S, tenga en cuenta que el marco llama a estas funciones de devolución de llamada en IRQL = PASSIVE_LEVEL.
Para obtener más información sobre los destinos de E/S, consulte Uso de destinos de E/S.
Ejemplos
Para obtener un ejemplo de código que usa WdfIoTargetCreate, vea WdfIoTargetOpen.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.0 |
Versión mínima de UMDF | 2.0 |
Encabezado | wdfiotarget.h (incluya Wdf.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
Reglas de cumplimiento de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |