LoadImage 関数 ( http://msdn.microsoft.com/en-us/library/windows/desktop/ms648045(v=vs.85).aspx ) に関するドキュメントでは、LR_SHARED フラグの使用について次のように警告しています。非標準サイズの画像、読み込み後に変更される可能性のある画像、またはファイルから読み込まれた画像には LR_SHARED を使用してください。」
では、画像の標準サイズとは正確には何ですか?
LoadImage 関数 ( http://msdn.microsoft.com/en-us/library/windows/desktop/ms648045(v=vs.85).aspx ) に関するドキュメントでは、LR_SHARED フラグの使用について次のように警告しています。非標準サイズの画像、読み込み後に変更される可能性のある画像、またはファイルから読み込まれた画像には LR_SHARED を使用してください。」
では、画像の標準サイズとは正確には何ですか?
「非標準サイズ」はアイコンとカーソルにのみ適用され、ビットマップには適用されないと思います。
CreateCursorのドキュメントには、
システムは他のサイズのカーソルを作成できないため、nWidth パラメーターと nHeight パラメーターは、現在のディスプレイ ドライバーでサポートされている幅と高さを指定する必要があります。ディスプレイ ドライバーでサポートされている幅と高さを確認するには、GetSystemMetrics 関数を使用して、SM_CXCURSOR または SM_CYCURSOR の値を指定します。
同じことがCreateIconにも当てはまります。
システムは他のサイズのアイコンを作成できないため、nWidth パラメーターと nHeight パラメーターは、現在のディスプレイ ドライバーでサポートされている幅と高さを指定する必要があります。ディスプレイ ドライバーでサポートされている幅と高さを確認するには、GetSystemMetrics 関数を使用して、SM_CXICON または SM_CYICON 値を指定します。
CreateCursor と CreateIcon の制限は、LR_SHARED を指定した LoadImage にも適用されると思います。
ところで、MSDN のドキュメントに慣れていない場合は、MSDN Web ページの最後にあるフィードバック オプションを使用してください。