Share via


NdisRegisterDeviceEx 함수(ndis.h)

NdisRegisterDeviceEx 함수는 지정된 특성을 기반으로 하는 디바이스 개체를 만듭니다.

구문

NDIS_STATUS NdisRegisterDeviceEx(
  [in]  NDIS_HANDLE                    NdisHandle,
  [in]  PNDIS_DEVICE_OBJECT_ATTRIBUTES DeviceObjectAttributes,
  [out] PDEVICE_OBJECT                 *pDeviceObject,
  [out] PNDIS_HANDLE                   NdisDeviceHandle
);

매개 변수

[in] NdisHandle

호출자가 를 호출하여 가져온 미니포트 드라이버 핸들 또는 필터 드라이버 핸들 NdisMRegisterMiniportDriver 함수 또는 NdisFRegisterFilterDriver 함수는 각각 NdisFRegisterFilterDriver 함수입니다.

[in] DeviceObjectAttributes

에 대한 포인터 디바이스의 특성을 포함하는 NDIS_DEVICE_OBJECT_ATTRIBUTES 구조체입니다.

[out] pDeviceObject

호출이 성공하면 새로 만든 DEVICE_OBJECT 구조체에 대한 포인터를 가리키는 포인터입니다. 호출이 실패하면 pDeviceObjectNULL을 가리키도록 설정됩니다.

[out] NdisDeviceHandle

이 함수가 성공하면 디바이스 개체에 대한 핸들을 반환하는 호출자 제공 변수에 대한 포인터입니다. 이 핸들은 드라이버가 이후에 호출하는 NdisDeregisterDeviceEx 함수에 필요한 매개 변수입니다.

반환 값

NdisRegisterDeviceEx는 다음 상태 값 중 하나를 반환합니다.

반환 코드 설명
NDIS_STATUS_SUCCESS
NdisRegisterDeviceEx 가 디바이스를 성공적으로 등록했습니다.
NDIS_STATUS_NOT_SUPPORTED
호출자가 NDIS 드라이버가 아닙니다.
NDIS_STATUS_XXX 또는 NTSTATUS_XXX
디바이스를 등록하려는 드라이버의 시도가 실패했습니다. 일반적으로 이러한 오류 상태 NdisXxx 함수 또는 커널 모드 지원 루틴에서 전파됩니다.

설명

미니포트 드라이버 및 필터 드라이버는 NdisRegisterDeviceEx 를 호출하여 가상 디바이스를 등록할 수 있습니다.

참고 NDIS 드라이버는 NdisRegisterDeviceEx에서 만든 DEVICE_OBJECT 구조체의 DeviceExtension 멤버를 수정해서는 안 됩니다.
 
NDIS 드라이버에 디바이스 개체의 컨텍스트 정보를 위한 공간이 필요한 경우 드라이버는 의 ExtensionSize 멤버에 대해 0이 아닌 값을 전달할 수 있습니다.deviceObjectAttributes 매개 변수의 NDIS_DEVICE_OBJECT_ATTRIBUTES 구조체입니다. 이 경우 NDIS는 드라이버에 대한 확장을 할당하고 드라이버는 를 호출할 수 있습니다. 확장에 대한 포인터를 가져오는 NdisGetDeviceReservedExtension 함수입니다.

디바이스가 더 이상 필요하지 않은 경우 드라이버는 이후에 NdisDeregisterDeviceEx 함수를 호출해야 합니다. NdisRegisterDeviceEx에서 확장을 할당한 경우 NdisDeregisterDeviceEx는 확장을 해제합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
대상 플랫폼 유니버설
헤더 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 Irql_Miscellaneous_Function(ndis)

추가 정보

DEVICE_OBJECT

NDIS_DEVICE_OBJECT_ATTRIBUTES

NdisDeregisterDeviceEx

NdisFRegisterFilterDriver

NdisGetDeviceReservedExtension

NdisMRegisterMiniportDriver