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
STATUS_INVALID_DEVICE_REQUEST

WdfStringCreate não foi chamado em IRQL = PASSIVE_LEVEL.

STATUS_INVALID_PARAMETER
Um parâmetro inválido foi especificado.
STATUS_INSUFFICIENT_RESOURCES
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)

Confira também

UNICODE_STRING

WDF_OBJECT_ATTRIBUTES

WdfStringGetUnicodeString