CloseHandle()コールにより開放することができるが、後者では専用の開放操作APIを持つという違いがある。ソースコード中の表現として、HANDLE(ハンドル型)などの変数の型が定義されている。原則的にハンドルは1つのプロセス内でのみ使えるようになっているが、一部のハンドルは他のプロセスと共有することができる。他のプロセスでも使えるようにするには、DuplicateHandle()で対象となるプロセスを指定して複製する必要がある。子プロセスに関しては、CreateProcess()において、SECURITY_ATTRIBUTES構造体で、bInheritHandleをTRUEにすると、子プロセスでもそのハンドルを使えるようになる。