Es handelt sich um einen abstrakten Referenzwert für eine Ressource, oft einen Speicher, eine offene Datei oder eine Pipe.
Richtig, In Windows (und im Allgemeinen in der Informatik) ist ein Handle eine Abstraktion, die eine echte Speicheradresse vor dem API-Benutzer verbirgt und es dem System ermöglicht, den physischen Speicher für das Programm transparent neu zu organisieren. Das Auflösen eines Griffs in einen Zeiger sperrt den Speicher und das Loslassen des Griffs macht den Zeiger ungültig. Betrachten Sie es in diesem Fall als Index in einer Zeigertabelle... Sie verwenden den Index für die System-API-Aufrufe und das System kann den Zeiger in der Tabelle nach Belieben ändern.
Alternativ kann ein echter Zeiger als Handle angegeben werden, wenn der API-Autor beabsichtigt, dass der Benutzer der API von den Einzelheiten dessen, worauf die zurückgegebene Adresse verweist, isoliert wird; In diesem Fall muss berücksichtigt werden, dass sich das, worauf der Handle verweist, jederzeit ändern kann (von der API-Version zur Version oder sogar vom Aufruf zum Aufruf der API, die den Handle zurückgibt) - der Handle sollte daher einfach als undurchsichtiger Wert behandelt werden sinnvoll Nur API zu.
Ich sollte hinzufügen, dass in jedem modernen Betriebssystem selbst die sogenannten "echten Zeiger" immer noch undurchsichtige Griffe in den virtuellen Speicherraum des Prozesses sind, was es den O/S ermöglicht, Speicher zu verwalten und neu anzuordnen, ohne die Zeiger innerhalb des Prozesses ungültig zu machen.