Função WdfRequestChangeTarget (wdfrequest.h)
[Aplica-se a KMDF e UMDF]
O método WdfRequestChangeTarget verifica se uma solicitação de E/S especificada pode ser enviada para um destino de E/S especificado.
Sintaxe
NTSTATUS WdfRequestChangeTarget(
[in] WDFREQUEST Request,
[in] WDFIOTARGET IoTarget
);
Parâmetros
[in] Request
Um identificador para um objeto de solicitação de estrutura.
[in] IoTarget
Um identificador para um objeto de destino de E/S de estrutura.
Retornar valor
WdfRequestChangeTarget retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, esse método poderá retornar um dos seguintes valores:
Código de retorno | Descrição |
---|---|
|
Um parâmetro de entrada é inválido. |
|
Não há recursos suficientes do sistema para concluir a operação. |
|
A matriz de locais de pilha de E/S da solicitação não é grande o suficiente para permitir que o driver envie a solicitação para o destino de E/S. |
Esse método também pode retornar outros valores NTSTATUS.
Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.
Comentários
Seu driver deve chamar o método WdfRequestChangeTarget antes de chamar WdfRequestSend, se o driver enviar uma única solicitação de E/S para vários destinos de E/S. WdfRequestChangeTarget verifica se a solicitação pode ser enviada para o destino de E/S especificado.
A maioria dos drivers envia cada solicitação para apenas um dispositivo e, portanto, para apenas um destino de E/S. Um driver recebe a solicitação ou cria uma nova solicitação chamando WdfRequestCreate.
Se o driver estiver enviando a solicitação para um dispositivo, ele chamará WdfDeviceGetIoTarget para determinar o destino de E/S do dispositivo e, em seguida, chamará WdfRequestSend para enviar a solicitação para o destino.
Se o driver estiver enviando a solicitação para vários dispositivos, ele chamará WdfDeviceGetIoTarget para cada dispositivo para determinar o destino de E/S do dispositivo. Antes de chamar WdfRequestSend, o driver deve chamar WdfRequestChangeTarget para garantir que cada destino de E/S esteja acessível.
Para obter mais informações sobre WdfRequestChangeTarget, consulte Encaminhando solicitações de E/S.
Exemplos
O exemplo de código a seguir verifica se uma solicitação de E/S pode ser enviada para o destino de E/S local de um dispositivo especificado.
NTSTATUS status;
status = WdfRequestChangeTarget(
request,
WdfDeviceGetIoTarget(Device)
);
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 | wdfrequest.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
Regras de conformidade de DDI | DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de