WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME function (wdfiotarget.h)
[Applies to KMDF and UMDF]
The WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME function initializes a driver's WDF_IO_TARGET_OPEN_PARAMS structure so the driver can open an I/O target by specifying the name of the device, file, or device interface. If the supplied name does not exist, the operating system will try to create it.
Syntax
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
);
Parameters
[out] Params
A pointer to a driver-allocated WDF_IO_TARGET_OPEN_PARAMS structure, which the function initializes.
[in] TargetDeviceName
A value for the TargetDeviceName member of the WDF_IO_TARGET_OPEN_PARAMS structure.
[in] DesiredAccess
A value for the DesiredAccess member of the WDF_IO_TARGET_OPEN_PARAMS structure.
Return value
None
Remarks
If TargetDeviceName specifies the name of a file that already exists, the system replaces the existing file. If the file does not exist, the system creates it.
The WDF_IO_TARGET_OPEN_PARAMS structure is used as input to the WdfIoTargetOpen method.
KMDF The WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME function initializes the Size, Type, TargetDeviceName, DesiredAccess, and CreateOptions members of the specified WDF_IO_TARGET_OPEN_PARAMS structure.
UMDF The WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME function initializes the Size, Type, DesiredAccess, and TargetDeviceName members of the specified WDF_IO_TARGET_OPEN_PARAMS structure. It sets the ShareAccess member to zero. It also sets the FileAttributes member to FILE_ATTRIBUTE_NORMAL.
For more information about I/O targets, see Using I/O Targets.
Examples
The following code example creates an I/O target object and opens a target by specifying a file name.
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;
}
Requirements
Requirement | Value |
---|---|
Target Platform | Universal |
Minimum KMDF version | 1.0 |
Minimum UMDF version | 2.0 |
Header | wdfiotarget.h (include Wdf.h) |
IRQL | Any level |
See also
WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE