Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[Aplica-se a KMDF e UMDF]
O método WdfWaitLockCreate cria um objeto de bloqueio de espera da estrutura.
Sintaxe
NTSTATUS WdfWaitLockCreate(
[in, optional] PWDF_OBJECT_ATTRIBUTES LockAttributes,
[out] WDFWAITLOCK *Lock
);
Parâmetros
[in, optional] LockAttributes
Um ponteiro para uma estrutura de WDF_OBJECT_ATTRIBUTES alocada pelo chamador que especifica atributos para o objeto de bloqueio de espera. Esse parâmetro é opcional e pode ser WDF_NO_OBJECT_ATTRIBUTES.
[out] Lock
Um ponteiro para um local que recebe um identificador para um novo objeto de bloqueio de espera da estrutura.
Valor de retorno
WdfWaitLockCreate retornará STATUS_SUCCESS se a operação for bem-sucedida.
Para obter uma lista de outros valores retornados que o método WdfWaitLockCreate pode retornar, consulte Framework Object Creation Errors.
Esse método também pode retornar outros valores NTSTATUS .
Observações
O método WdfWaitLockCreate cria um objeto de bloqueio de espera da estrutura. Depois de criar um objeto de bloqueio de espera, um driver pode chamar WdfWaitLockAcquire para adquirir o bloqueio e WdfWaitLockRelease para liberar o bloqueio.
Por padrão, o pai do novo objeto de bloqueio de espera é o objeto de driver da estrutura que o método WdfDriverCreate criado. Você pode usar o ParentObject membro da estrutura WDF_OBJECT_ATTRIBUTES para especificar um pai diferente. A estrutura exclui o objeto de bloqueio de espera quando exclui o objeto pai. Se o driver não alterar o pai padrão, o driver deverá excluir o objeto de bloqueio de espera quando terminar de usar o objeto; caso contrário, o objeto permanecerá até que o gerente de E/S descarregue o driver.
Para obter mais informações sobre bloqueios de espera, consulte Técnicas de Sincronização para drivers de Framework-Based.
Exemplos
O exemplo de código a seguir inicializa um WDF_OBJECT_ATTRIBUTES, especifica que o objeto pai do bloqueio de espera será um objeto de dispositivo e chama WdfWaitLockCreate.
WDF_OBJECT_ATTRIBUTES attributes;
WDFWAITLOCK lockHandle;
WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.ParentObject = Device;
status = WdfWaitLockCreate(
&attributes,
&lockHandle
);
Requisitos
| Requisito | Valor |
|---|---|
| da Plataforma de Destino | Universal |
| versão mínima do KMDF | 1.0 |
| versão mínima do UMDF | 2.0 |
| cabeçalho | wdfsync.h (inclua Wdf.h) |
| biblioteca | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
| IRQL | <=DISPATCH_LEVEL |
| regras de conformidade de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), ParentObjectCheckLock(kmdf) |