GetServiceA 함수(nspapi.h)
GetService 함수는 기본 네임스페이스 집합 또는 지정된 네임스페이스의 컨텍스트에서 네트워크 서비스에 대한 정보를 검색합니다. 네트워크 서비스는 형식 및 이름으로 지정됩니다. 서비스에 대한 정보는 NS_SERVICE_INFO 데이터 구조 집합으로 가져옵니다.
통사론
INT GetServiceA(
[in] DWORD dwNameSpace,
[in] LPGUID lpGuid,
[in] LPSTR lpServiceName,
[in] DWORD dwProperties,
[out] LPVOID lpBuffer,
[in, out] LPDWORD lpdwBufferSize,
[in, optional] LPSERVICE_ASYNC_INFO lpServiceAsyncInfo
);
매개 변수
[in] dwNameSpace
운영 체제에서 지정된 네트워크 서비스에 대한 정보를 쿼리해야 하는 네임스페이스 또는 기본 네임스페이스 집합입니다.
다음 상수 중 하나를 사용하여 네임스페이스를 지정합니다.
GetService
[in] lpGuid
네트워크 서비스의 유형을 지정하는 GUID(Globally Unique Identifier)에 대한 포인터입니다. Svcguid.h 헤더 파일에는 DNS 및 SAP 네임스페이스 내에서 잘 알려진 여러 서비스의 GUID 서비스 유형이 포함됩니다.
Svcguid.h 헤더 파일은 Winsock2.h 헤더 파일에 자동으로 포함되지 않습니다.
[in] lpServiceName
서비스 이름을 고유하게 나타내는 0으로 끝나는 문자열에 대한 포인터입니다. 예를 들어 "MY SNA SERVER"입니다.
[in] dwProperties
함수가 검색하는 서비스 정보를 지정하는 비트 플래그 집합입니다. PROP_ALL 이외의 각 비트 플래그 상수는 SERVICE_INFO 데이터 구조의 특정 멤버에 해당합니다. 플래그가 설정되면 함수는 *lpBuffer저장된 데이터 구조의 해당 멤버에 정보를 넣습니다. 다음 비트 플래그가 정의됩니다.
[out] lpBuffer
NS_SERVICE_INFO 구조체 및 관련 서비스 정보의 배열을 수신하는 버퍼에 대한 포인터입니다. 각 NS_SERVICE_INFO 구조에는 특정 네임스페이스의 컨텍스트에 서비스 정보가 포함됩니다. dwNameSpace NS_DEFAULT 경우 함수는 둘 이상의 구조를 버퍼에 저장합니다. 그렇지 않으면 하나의 구조만 저장됩니다.
각 NS_SERVICE_INFO 구조체에는 SERVICE_INFO 구조체가 포함되어 있습니다. 이러한 SERVICE_INFO 구조체의 멤버는 dwProperties 매개 변수에 설정된 비트 플래그를 기반으로 유효한 데이터를 포함합니다. dwProperties멤버의 해당 비트 플래그가 설정되지 않은 경우 멤버의 값이 정의되지 않습니다.
이 함수는 버퍼의 시작 부분에서 시작하여 NS_SERVICE_INFO 구조를 연속 배열에 저장합니다. 포함된 SERVICE_INFO 구조체의 포인터는 NS_SERVICE_INFO 구조체의 끝과 버퍼 끝 사이의 버퍼에 저장된 정보를 가리킵니다.
[in, out] lpdwBufferSize
입력 시 lpBuffer가리키는 버퍼의 크기(바이트)를 포함하는 변수에 대한 포인터입니다. 출력 시 이 변수에는 요청된 정보를 저장하는 데 필요한 바이트 수가 포함됩니다. 이 출력 값이 입력 값보다 크면 버퍼 크기가 부족하여 함수가 실패했습니다.
[in, optional] lpServiceAsyncInfo
나중에 사용할 수 있습니다. NULL
반환 값
함수가 성공하면 반환 값은 *lpBuffer저장된 NS_SERVICE_INFO 구조체의 수입니다. 0은 구조체가 저장되지 않음을 나타냅니다.
함수가 실패하면 반환 값은 SOCKET_ERROR(– 1)입니다. 확장 오류 정보를 얻으려면 다음 확장 오류 값 중 하나를 반환하는 GetLastError호출합니다.
오류 코드 | 의미 |
---|---|
|
lpBuffer 가리키는 버퍼가 너무 작아서 요청된 모든 정보를 받을 수 없습니다. *lpdwBufferSize반환된 값만큼 큰 버퍼를 사용하여 함수를 호출합니다. |
|
지정된 서비스를 찾을 수 없거나 지정된 네임스페이스를 사용하지 않습니다. 이 경우 함수 반환 값은 0입니다. |
발언
메모
nspapi.h 헤더는 GETService를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | nspapi.h |
라이브러리 | Mswsock.lib |
DLL | Mswsock.dll |
참고 항목
SetService