Funzione UfxFdoInit (ufxclient.h)
Inizializza la struttura WDFDEVICE_INIT che il driver client fornisce successivamente quando chiama WdfDeviceCreate.
Sintassi
NTSTATUS UfxFdoInit(
[in] WDFDRIVER WdfDriver,
[in, out] PWDFDEVICE_INIT DeviceInit,
[in, out] PWDF_OBJECT_ATTRIBUTES FdoAttributes
);
Parametri
[in] WdfDriver
Handle per l'oggetto driver WDF del driver ottenuto da una chiamata precedente a WdfDriverCreate o WdfGetDriver.
[in, out] DeviceInit
Puntatore a una struttura WDFDEVICE_INIT .
[in, out] FdoAttributes
Puntatore a una struttura di WDF_OBJECT_ATTRIBUTES allocata dal chiamante che descrive gli attributi dell'oggetto per l'oggetto
Valore restituito
Se l'operazione ha esito positivo, il metodo restituisce STATUS_SUCCESS o un altro valore di stato per il quale NT_SUCCESS(status) è uguale a TRUE. In caso contrario, restituisce un valore di stato per il quale NT_SUCCESS(status) è uguale a FALSE.
Commenti
Il driver client riceve un puntatore a una struttura di WDFDEVICE_INIT allocata dal framework nella relativa funzione di callback EvtDriverDeviceAdd . Chiama quindi UfxFdoInit con questo puntatore prima di chiamare WdfDeviceCreate per creare l'oggetto WDFDEVICE.
Per impostazione predefinita, per i driver WDF, il driver di funzione del dispositivo è il proprietario dei criteri di alimentazione.
Il frammento di codice seguente mostra come chiamare UfxFdoInit.
NTSTATUS
UfxClientDeviceCreate(
_In_ WDFDRIVER Driver,
_In_ PWDFDEVICE_INIT DeviceInit
)
/*++
Routine Description:
Worker routine called to create a device and its software resources.
Arguments:
Driver - WDF driver object
DeviceInit - Pointer to an opaque init structure. Memory for this
structure will be freed by the framework when WdfDeviceCreate
succeeds. So don't access the structure after that point.
Return Value:
Appropriate NTSTATUS value
--*/
{
WDF_OBJECT_ATTRIBUTES DeviceAttributes;
WDFDEVICE WdfDevice;
PAGED_CODE();
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&DeviceAttributes, CONTROLLER_CONTEXT);
//
// Do UFX-specific initialization
//
Status = UfxFdoInit(Driver, DeviceInit, &DeviceAttributes);
//
// Proceed to WdfDeviceCreate
//
...
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 |
Piattaforma di destinazione | Windows |
Intestazione | ufxclient.h |
Libreria | ufxstub.lib |
IRQL | PASSIVE_LEVEL |