Chamando createfile em um caminho de dispositivo físico em um loop
-
19-09-2019 - |
Pergunta
Eu tenho algum código C# que está chamando de createfile em um caminho de dispositivo físico diferente a cada vez através de um loop (ou seja, . Coisas do Windows. No final do loop, ele chama CloseHandle na alça.
Enquanto a depuração, notei que o valor int da alça era o mesmo a cada passagem pelo loop. Eu posso ver que isso é esperado (o Windows está apenas reutilizando a alça) ou inesperado (a alça não foi lançada no último passe).
Então, eu só quero verificar se isso é esperado (ou pelo menos não incorreto) comportamento.
Solução
Uma alça é apenas um índice para alguma entrada em alguma tabela no kernel. Se você estiver abrindo e fechando uma alça repetidamente, é inteiramente possível obter exatamente a mesma entrada na tabela e, portanto, o mesmo índice.
Esteja ciente de que isso é específico da implementação e pode mudar com qualquer nova versão, serviço de serviço ou QFE.