// 別ユーザでカーネルオブジェクトにアクセスするとアクセスに失敗する。
// アクセス制限を default 設定(NULL)からFULLACCESSに(DACLを設定しない設定)に変更
// http://msdn.microsoft.com/en-us/library/aa379286(VS.85).aspx
SECURITY_DESCRIPTOR secDesc;
SECURITY_ATTRIBUTES secAttr;
// ユーザ制限を設けない設定
InitializeSecurityDescriptor (&secDesc, SECURITY_DESCRIPTOR_REVISION);
SetSecurityDescriptorDacl(&secDesc, true, 0, false);
secAttr.nLength = sizeof (SECURITY_ATTRIBUTES);
secAttr.bInheritHandle = FALSE;
secAttr.lpSecurityDescriptor = &secDesc;
// 1プロセスのみ許可
CSemaphore semaphore(1, 1, "Global\TestSemaphore", &secAttr);