funzione WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME (wdfiotarget.h)

[Si applica a KMDF e UMDF]

La funzione WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME inizializza la struttura di WDF_IO_TARGET_OPEN_PARAMS di un driver in modo che il driver possa aprire una destinazione di I/O specificando il nome del dispositivo, del file o dell'interfaccia del dispositivo. Se il nome specificato non esiste, il sistema operativo tenterà di crearlo.

Sintassi

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
);

Parametri

[out] Params

Puntatore a una struttura WDF_IO_TARGET_OPEN_PARAMS allocata dal driver, che la funzione inizializza.

[in] TargetDeviceName

Valore per il membro TargetDeviceName della struttura WDF_IO_TARGET_OPEN_PARAMS .

[in] DesiredAccess

Valore per il membro DesiredAccess della struttura WDF_IO_TARGET_OPEN_PARAMS .

Valore restituito

nessuno

Osservazioni

Se TargetDeviceName specifica il nome di un file già esistente, il sistema sostituisce il file esistente. Se il file non esiste, il sistema lo crea.

La struttura WDF_IO_TARGET_OPEN_PARAMS viene usata come input per il metodo WdfIoTargetOpen .

KMDF La funzione WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME inizializza i membri Size, Type, TargetDeviceName, DesiredAccess e CreateOptions della struttura di WDF_IO_TARGET_OPEN_PARAMS specificata.

UMDF La funzione WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME inizializza i membri Size, Type, DesiredAccess e TargetDeviceName della struttura WDF_IO_TARGET_OPEN_PARAMS specificata. Imposta il membro ShareAccess su zero. Imposta anche il membro FileAttributes su FILE_ATTRIBUTE_NORMAL.

Per altre informazioni sulle destinazioni di I/O, vedere Uso delle destinazioni di I/O.

Esempio

Nell'esempio di codice seguente viene creato un oggetto di destinazione di I/O e viene aperta una destinazione specificando un nome file.

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;
}

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.0
Versione UMDF minima 2,0
Intestazione wdfiotarget.h (include Wdf.h)
IRQL Qualsiasi livello

Vedi anche

WDF_IO_TARGET_OPEN_PARAMS

WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE

WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_NAME

WdfIoTargetOpen