Funzione WdfStringCreate (wdfstring.h)
[Si applica a KMDF e UMDF]
Il metodo WdfStringCreate crea un oggetto stringa del framework e assegna facoltativamente una stringa Unicode specificata all'oggetto.
Sintassi
NTSTATUS WdfStringCreate(
[in, optional] PCUNICODE_STRING UnicodeString,
[in, optional] PWDF_OBJECT_ATTRIBUTES StringAttributes,
[out] WDFSTRING *String
);
Parametri
[in, optional] UnicodeString
Puntatore a una struttura UNICODE_STRING contenente una costante stringa Unicode. Il framework copia la stringa nel nuovo oggetto stringa del framework. Questo puntatore è facoltativo e può essere NULL.
[in, optional] StringAttributes
Puntatore a una struttura WDF_OBJECT_ATTRIBUTES contenente attributi forniti dal driver per il nuovo oggetto stringa. Questo parametro è facoltativo e può essere WDF_NO_OBJECT_ATTRIBUTES.
[out] String
Puntatore a una posizione che riceve un handle per il nuovo oggetto stringa.
Valore restituito
WdfStringCreate restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, il metodo potrebbe restituire uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
WdfStringCreate non è stato chiamato in IRQL = PASSIVE_LEVEL. |
|
È stato specificato un parametro non valido. |
|
Impossibile allocare un oggetto stringa. |
Per un elenco di altri valori restituiti che il metodo WdfStringCreate potrebbe restituire, vedere Errori di creazione dell'oggetto Framework.
Questo metodo potrebbe restituire anche altri valori NTSTATUS.
Commenti
L'elemento padre predefinito per gli oggetti stringa del framework è l'oggetto driver del driver del driver. Tuttavia, a meno che la stringa sia associata al driver, il driver deve impostare il membro ParentObject della struttura WDF_OBJECT_ATTRIBUTES su un oggetto che rappresenta l'ambito della stringa. In genere, le stringhe sono specifiche del dispositivo e il relativo oggetto padre deve essere un oggetto del dispositivo framework.
Se il driver fornisce funzioni di callback EvtCleanupCallback o EvtDestroyCallback per l'oggetto stringa del framework, si noti che il framework chiama queste funzioni di callback in IRQL = PASSIVE_LEVEL.
Per altre informazioni sugli oggetti stringa del framework, vedere Uso di oggetti String.
Esempio
Nell'esempio di codice seguente viene inizializzata una struttura WDF_OBJECT_ATTRIBUTES e quindi viene creato un oggetto stringa di framework.
NTSTATUS status;
WDFSTRING stringHandle = NULL;
WDF_OBJECT_ATTRIBUTES attributes;
WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.ParentObject = pDeviceContext->Device;
status = WdfStringCreate(
NULL,
&attributes,
&stringHandle
);
if (!NT_SUCCESS(status)){
return status;
}
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1,0 |
Versione UMDF minima | 2,0 |
Intestazione | wdfstring.h (includere Wdf.h) |
Libreria | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |