none
Windows 10 Insider Preview 빌드 16281에서 CreateServiceA 실패: 오류 코드 87

    질문

  • Windows 10 Insider Preview 64비트에서 32비트 소프트웨어(WOW64)를 테스트 중 CreateServiceA 함수가 0x00000057(87) 오류와 함께 커널 드라이버 서비스 등록이 실패하는 현상이 나타납니다.

    CreateServiceW 함수는 동일 파라미터 사용시 성공합니다.

    테스트에 사용한 프로그램의 소스코드는 아래와 같습니다:

    int main()
    {
    	SC_HANDLE hSCM = NULL;
    	SC_HANDLE hService = NULL;
    
    	// ANSI
    
    	hSCM = OpenSCManagerA(NULL, NULL, SC_MANAGER_ALL_ACCESS);
    	if (hSCM != NULL)
    	{
    		hService = CreateServiceA(
    			hSCM,
    			"DRIVER_TEST",
    			"Driver Test",
    			SERVICE_ALL_ACCESS,
    			SERVICE_KERNEL_DRIVER,
    			SERVICE_DEMAND_START,
    			SERVICE_ERROR_IGNORE,
    			"System32\\drivers\\driver_test.sys",
    			NULL,
    			NULL,
    			NULL,
    			NULL,
    			NULL
    		);
    		
    		if (hService != NULL)
    		{
    			printf("Service created\n");
    
    			DeleteService(hService);
    			CloseServiceHandle(hService);
    		}
    		else
    		{
    			printf("CreateServiceA failed [%u]\n", GetLastError());
    		}
    
    		CloseServiceHandle(hSCM);
    	}
    	else
    	{
    		printf("OpenSCManagerA failed [%u]\n", GetLastError());
    	}
    
    	// Unicode
    
    	hSCM = OpenSCManagerW(NULL, NULL, SC_MANAGER_ALL_ACCESS);
    	if (hSCM != NULL)
    	{
    		hService = CreateServiceW(
    			hSCM,
    			L"DRIVER_TEST_W",
    			L"Driver Test Unicode",
    			SERVICE_ALL_ACCESS,
    			SERVICE_KERNEL_DRIVER,
    			SERVICE_DEMAND_START,
    			SERVICE_ERROR_IGNORE,
    			L"System32\\drivers\\driver_test.sys",
    			NULL,
    			NULL,
    			NULL,
    			NULL,
    			NULL
    		);
    
    		if (hService != NULL)
    		{
    			printf("Service created\n");
    
    			DeleteService(hService);
    			CloseServiceHandle(hService);
    		}
    		else
    		{
    			printf("CreateServiceW failed [%u]\n", GetLastError());
    		}
    
    		CloseServiceHandle(hSCM);
    	}
    	else
    	{
    		printf("OpenSCManagerW failed [%u]\n", GetLastError());
    	}
    
    	return 0;
    }
    CreateServiceA failed [87]
    Service created


    System32, SysWOW64 경로 문제인것 같아서 Wow64 Redirection되지않는 경로로도 해보았으나 동일한 결과가 나옵니다.

    https://forums.guru3d.com/threads/windows-10-build-16273-broke-ab-and-rtss.416463/

    위 URL에서 동일한 현상이 확인됩니다.

    알려진 이슈인가요?


    추가:

    16288 빌드에서 해결 되었네요

    • 편집됨 mrsshr 2017년 9월 14일 목요일 오전 1:19 해결됨
    2017년 9월 14일 목요일 오전 12:26