HeapUnlock 関数 (heapapi.h)
指定したヒープに関連付けられているクリティカル セクション オブジェクト (ロック) の所有権を解放します。 HeapLock 関数のアクションを元に戻します。
構文
BOOL HeapUnlock(
[in] HANDLE hHeap
);
パラメーター
[in] hHeap
ロックを解除するヒープへのハンドル。 このハンドルは、 HeapCreate 関数または GetProcessHeap 関数によって返されます。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
HeapLock 関数は、呼び出し元のスレッドが HeapWalk 関数を使用している間に、他のスレッドによるヒープ メモリの割り当てと解放を防ぐのに主に役立ちます。 HeapUnlock 関数は HeapLock の逆関数です。
HeapLock の各呼び出しは、HeapUnlock 関数の対応する呼び出しと一致する必要があります。 HeapUnlock の呼び出しに失敗すると、ヒープへのアクセスを試みる呼び出し元プロセスの他のスレッドの実行がブロックされます。
HEAP_NO_SERIALIZATION フラグを使用して作成されたヒープで HeapUnlock 関数が呼び出されると、結果は未定義になります。
例
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | heapapi.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |