Função IoVolumeDeviceToDosName (ntddk.h)

A rotina IoVolumeDeviceToDosName retorna o caminho MS-DOS para um objeto de dispositivo especificado que representa um volume do sistema de arquivos.

Sintaxe

NTSTATUS IoVolumeDeviceToDosName(
  [in]  PVOID           VolumeDeviceObject,
  [out] PUNICODE_STRING DosName
);

Parâmetros

[in] VolumeDeviceObject

Um ponteiro para um objeto de dispositivo que representa um objeto de dispositivo de volume criado por um driver de classe de armazenamento.

[out] DosName

Um ponteiro para uma estrutura de UNICODE_STRING alocada pelo chamador. Se a chamada for bem-sucedida, IoVolumeDeviceToDosName definirá os valores dos membros Length, MaximumLength e Buffer dessa estrutura. Na saída, o membro Buffer aponta para uma cadeia de caracteres largos terminada em nulo que contém o caminho MS-DOS do objeto de dispositivo de volume especificado por VolumeDeviceObject. Para obter mais informações, consulte Comentários.

Retornar valor

IoVolumeDeviceToDosName retornará STATUS_SUCCESS se a chamada for bem-sucedida. Os possíveis valores retornados por erro incluem os seguintes códigos de status.

Valor retornado Descrição
STATUS_INVALID_PARAMETER A rotina falhou devido a valores de parâmetro inválidos passados pelo chamador.
STATUS_INSUFFICIENT_RESOURCES A rotina falhou ao alocar os recursos necessários para essa operação.

Comentários

IoVolumeDeviceToDosName aloca o buffer de cadeia de caracteres apontado pelo membro Buffer da estrutura UNICODE_STRING para a qual o parâmetro DosName aponta. Depois que esse buffer não for mais necessário, um chamador dessa rotina deverá chamar a rotina ExFreePool para liberar o buffer.

A partir do Windows Vista, você deve garantir que as APCs não estejam desabilitadas antes de chamar essa rotina. A rotina KeAreAllApcsDisabled pode ser usada para verificar se as APCs não estão desabilitadas.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho ntddk.h (inclua Ntddk.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Confira também

ExFreePool

KeAreAllApcsDisabled

UNICODE_STRING