Função WdfStringCreate (wdfstring.h)
[Aplica-se a KMDF e UMDF]
O método WdfStringCreate cria um objeto de cadeia de caracteres de estrutura e, opcionalmente, atribui uma cadeia de caracteres Unicode especificada ao objeto .
Sintaxe
NTSTATUS WdfStringCreate(
[in, optional] PCUNICODE_STRING UnicodeString,
[in, optional] PWDF_OBJECT_ATTRIBUTES StringAttributes,
[out] WDFSTRING *String
);
Parâmetros
[in, optional] UnicodeString
Um ponteiro para uma estrutura UNICODE_STRING que contém uma constante de cadeia de caracteres Unicode. A estrutura copia a cadeia de caracteres para o novo objeto de cadeia de caracteres da estrutura. Esse ponteiro é opcional e pode ser NULL.
[in, optional] StringAttributes
Um ponteiro para uma estrutura WDF_OBJECT_ATTRIBUTES que contém atributos fornecidos pelo driver para o novo objeto de cadeia de caracteres. Esse parâmetro é opcional e pode ser WDF_NO_OBJECT_ATTRIBUTES.
[out] String
Um ponteiro para um local que recebe um identificador para o novo objeto de cadeia de caracteres.
Retornar valor
WdfStringCreate retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, o método poderá retornar um dos seguintes valores:
Código de retorno | Descrição |
---|---|
|
WdfStringCreate não foi chamado em IRQL = PASSIVE_LEVEL. |
|
Um parâmetro inválido foi especificado. |
|
Não foi possível alocar um objeto de cadeia de caracteres. |
Para obter uma lista de outros valores retornados que o método WdfStringCreate pode retornar, consulte Erros de criação de objeto de estrutura.
Esse método também pode retornar outros valores NTSTATUS.
Comentários
O pai padrão para objetos de cadeia de caracteres de estrutura é o objeto de driver de estrutura do driver. No entanto, a menos que a cadeia de caracteres esteja associada ao driver, o driver deve definir o membro ParentObject da estrutura WDF_OBJECT_ATTRIBUTES como um objeto que representa o escopo da cadeia de caracteres. Normalmente, as cadeias de caracteres são específicas do dispositivo e seu objeto pai deve ser um objeto de dispositivo de estrutura.
Se o driver fornecer funções de retorno de chamada EvtCleanupCallback ou EvtDestroyCallback para o objeto de cadeia de caracteres da estrutura, observe que a estrutura chama essas funções de retorno de chamada em IRQL = PASSIVE_LEVEL.
Para obter mais informações sobre objetos de cadeia de caracteres de estrutura, consulte Usando objetos string.
Exemplos
O exemplo de código a seguir inicializa uma estrutura WDF_OBJECT_ATTRIBUTES e cria um objeto de cadeia de caracteres de estrutura.
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;
}
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Versão mínima do UMDF | 2,0 |
Cabeçalho | wdfstring.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
Regras de conformidade da DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |