Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Um driver de texto explicativo deve fornecer uma função de descarga. O sistema operativo chama esta função quando o driver de chamada é descarregado do sistema. A função de descarregamento de um driver de callout deve garantir que os callouts do driver de callout sejam desregistrados do mecanismo de filtro antes que o driver de callout seja descarregado da memória do sistema. Um driver de callout não pode ser descarregado do sistema se não fornecer uma função de descarregamento.
Como um driver de texto explicativo especifica uma função de descarregamento depende se o driver de texto explicativo é baseado no Modelo de Driver do Windows (WDM) ou nas Estruturas de Driver do Windows (WDF).
WDM-Based Elementos de destaque
Se um driver de callout for baseado no WDM, ele especificará uma função Unload na sua função DriverEntry. Por exemplo:
VOID
Unload(
IN PDRIVER_OBJECT DriverObject
);
NTSTATUS
DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
)
{
...
// Specify the callout driver's Unload function
DriverObject->DriverUnload = Unload;
...
}
WDF-Based Anotações de Drivers
Se um driver de encapsulamento for baseado em WDF, ele especifica a função EvtDriverUnload na sua função DriverEntry. Por exemplo:
VOID
Unload(
IN WDFDRIVER Driver
);
NTSTATUS
DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
)
{
NTSTATUS status;
WDF_DRIVER_CONFIG config;
WDFDRIVER driver;
...
// Initialize the driver config structure
WDF_DRIVER_CONFIG_INIT(&config, NULL);
// Indicate that this is a non-PNP driver
config.DriverInitFlags = WdfDriverInitNonPnpDriver;
// Specify the callout driver's Unload function
config.EvtDriverUnload = Unload;
// Create a WDFDRIVER object
status =
WdfDriverCreate(
DriverObject,
RegistryPath,
NULL,
&config,
&driver
);
...
return status;
}
Para obter informações sobre como implementar a função de descarregamento de um driver de texto explicativo, consulte Descarregando um driver de texto explicativo.