C# 또는 VB.NET 또는 기타 .NET 패밀리 언어로 작성된 프로그램을 Windows에서 실행하고 System.Guid.NewGuid()
을 호출하면 Windows에서 제공하는 UuidCreate()
으로 전화를 전달하여 생성이 수행되거나 다른 생성 방법이 있습니까?System.Guid.NewGuid()는 Windows에서 항상 UuidCreate()를 통해 구현됩니까?
3
A
답변
3
항상 그렇지는 않습니다. 설명서에 따르면 UuidCreate 함수는 Windows Server 2000 이상에서만 사용할 수 있습니다. .Net 프레임 워크 중 적어도 하나의 버전은 Windows 98에서 실행되었으며 Guid
클래스를 포함합니다. 따라서 UuidCreate를 사용할 수 없었습니다. 1.X는 Windows 98에서 실행되었으며 2.0에 대해서는 기억이 안납니다.
흠, 문서 문제 일 것으로 생각됩니다. CreateFile 함수는 또한 2000 년 이상에서만 사용할 수 있다고 말합니다. 아마도이 문서는 지원되는 OS가 아닌 98을 반영합니다.
왜 중요한가요? – wowest
Guid를 생성하는 데 사용되는 알고리즘은 코드가 임의성에 의존하는 경우 중요합니다. – Guillaume
GUID를 생성하는 함수가 UUID 생성 표준을 따르는 한 충돌 가능성이 최소화됩니다. 알고리즘에 대한 자세한 내용은 http://www.opengroup.org/dce/info/draft-leach-uuids-guids-01.txt를 참조하십시오. –