Função WdfPdoMarkMissing (wdfpdo.h)
[Aplica-se somente ao KMDF]
O método WdfPdoMarkMissing do informa à estrutura que um dispositivo não está mais acessível.
Sintaxe
NTSTATUS WdfPdoMarkMissing(
[in] WDFDEVICE Device
);
Parâmetros
[in] Device
Um identificador para um objeto de dispositivo de estrutura que representa o PDO (objeto de dispositivo físico) do dispositivo.
Valor de retorno
Se a operação for bem-sucedida, a função retornará STATUS_SUCCESS. Os valores de retorno adicionais incluem:
Código de retorno | Descrição |
---|---|
|
O identificador do dispositivo não representa um PDO. |
|
Não foi possível encontrar o objeto do dispositivo. |
O método também pode retornar outros valores NTSTATUS.
Uma verificação de bugs do sistema ocorre se o driver fornece um identificador de objeto inválido.
Observações
Para obter mais informações sobre WdfPdoMarkMissing, consulte de Enumeração Estática.
Exemplos
O exemplo de código a seguir pesquisa uma lista de dispositivos filho para localizar um que corresponda a um número de série especificado. Quando o exemplo localiza o filho correto, ele chama WdfPdoMarkMissing para indicar que o filho não está acessível. Este exemplo foi obtido do Toaster motorista de ônibus de exemplo e simplificado.
WDFDEVICE hChild = NULL;
NTSTATUS status = STATUS_INVALID_PARAMETER;
BOOLEAN found = FALSE;
PPDO_DEVICE_DATA pdoData;
WdfFdoLockStaticChildListForIteration(Device);
while ((hChild = WdfFdoRetrieveNextStaticChild(
Device,
hChild,
WdfRetrieveAddedChildren
)) != NULL) {
pdoData = PdoGetData(hChild); // Device object context space
if (SerialNo == pdoData->SerialNo) {
status = WdfPdoMarkMissing(hChild);
if(!NT_SUCCESS(status)) {
KdPrint(("WdfPdoMarkMissing failed 0x%x\n", status));
break;
}
found = TRUE;
break;
}
}
WdfFdoUnlockStaticChildListFromIteration(Device);
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Universal |
versão mínima do KMDF | 1.0 |
cabeçalho | wdfpdo.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (consulte o Controle de Versão da Biblioteca da Estrutura.) |
IRQL | <= DISPATCH_LEVEL |
regras de conformidade de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |