Domanda

Ho qualche codice C # che chiama CreateFile su un diverso percorso dispositivo fisico ogni volta attraverso un ciclo (cioè \. \ PhysicalDrive1, quindi \. \ PhysicalDrive2, ...) tramite PInvoke e quindi utilizzando l'handle restituito fare un po ' altri a basso livello di Windows roba. Alla fine del ciclo si chiama CloseHandle sulla maniglia.

Durante il debug ho notato che il valore int del manico era lo stesso ogni passaggio attraverso il ciclo. Posso vedere questo essere sia previsto (finestre è solo riutilizzando il manico) o imprevisti (la maniglia non è stato rilasciato lo scorso pass).

Quindi, voglio solo verificare se questo è previsto (o almeno non corretta) comportamento.

È stato utile?

Soluzione

Una maniglia è solo un indice a qualche entrata in una certa tabella nel kernel. Se si sta aprendo e chiudendo un manico più volte, è del tutto possibile per poter ottenere la stessa identica voce nella tabella e, quindi, lo stesso indice.

Essere consapevoli del fatto che questo è l'implementazione specifica e può cambiare con qualsiasi nuova release, service pack, o QFE.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top