NdisOpenConfigurationEx 함수(ndis.h)

NDIS 드라이버는 NdisOpenConfigurationEx 함수를 호출하여 레지스트리의 구성 매개 변수에 액세스할 수 있는 구성 핸들을 가져옵니다.

구문

NDIS_STATUS NdisOpenConfigurationEx(
  [in]  PNDIS_CONFIGURATION_OBJECT ConfigObject,
  [out] PNDIS_HANDLE               ConfigurationHandle
);

매개 변수

[in] ConfigObject

호출자가 제공하고 초기화한 포인터 NDIS_CONFIGURATION_OBJECT 구조체입니다.

[out] ConfigurationHandle

NdisOpenConfigurationEx가 레지스트리 키에 대한 핸들을 반환하는 호출자 제공 변수에 대한 포인터입니다. 레지스트리 키는 구성 매개 변수를 식별합니다.

반환 값

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

반환 코드 설명
NDIS_STATUS_SUCCESS
NdisOpenConfigurationEx 에서 드라이버의 구성 매개 변수가 저장되는 레지스트리 키를 성공적으로 열었습니다.
NDIS_STATUS_RESOURCES
리소스가 부족하여 NdisOpenConfigurationEx가 실패했습니다.
NDIS_STATUS_FAILURE
이전 값이 적용되지 않으면 NdisOpenConfigurationEx는 NDIS_STATUS_FAILURE 반환합니다.

설명

NdisOpenConfigurationExConfigurationHandle 매개 변수에서 구성 핸들을 반환합니다. 구성 핸들은 구성 매개 변수의 위치를 식별하는 레지스트리 키와 연결됩니다. 호출자는 구성 핸들을 다른 NDIS 구성 함수에 전달하여 레지스트리에서 정보를 읽거나 쓸 수 있습니다.

구성 정보에 액세스하려면 다음 함수와 함께 구성 핸들을 사용합니다.

NdisReadConfiguration

NdisWriteConfiguration

NdisOpenConfigurationKeyByName NdisOpenConfigurationKeyByIndex

구성 핸들과 연결된 레지스트리 데이터 형식은 호출자가 의 NdisHandle 멤버에서 NdisOpenConfigurationEx에 전달하는 핸들 유형에 따라 달라집니다.configObject 매개 변수에서 참조되는 NDIS_CONFIGURATION_OBJECT 구조체입니다. 핸들은 드라이버 또는 드라이버의 instance 연결된 매개 변수를 식별할 수 있습니다.

드라이버가 를 호출하여 NdisHandle 에서 핸들을 가져온 경우 NdisMRegisterMiniportDriver 함수인 NdisOpenConfigurationEx 는 미니포트 드라이버의 구성 매개 변수가 저장된 레지스트리 위치에 대한 핸들을 제공합니다. 미니포트 드라이버는 를 호출할 때까지 구성 핸들을 사용할 수 있습니다. NdisMDeregisterMiniportDriver 함수입니다.

드라이버가 MiniportInitializeEx 함수의 MiniportAdapterHandle 매개 변수에서 NdisHandle의 핸들을 가져온 경우 NdisOpenConfigurationEx는 미니포트 어댑터의 구성 매개 변수가 저장된 레지스트리 위치에 대한 핸들을 제공합니다. 미니포트 드라이버는 구성 핸들을 NdisReadNetworkAddress 함수에 전달하여 소프트웨어에서 구성하고 로컬로 관리할 수 있는 네트워크 주소 정보를 검색할 수 있습니다. 미니포트 드라이버는 NDIS가 미니포트 어댑터를 중지하고 MiniportHaltEx 함수가 반환될 때까지 구성 핸들을 사용할 수 있습니다.

드라이버가 를 호출하여 NdisHandle 에서 핸들을 가져온 경우 NdisRegisterProtocolDriver 함수인 NdisOpenConfigurationEx 는 프로토콜 드라이버의 구성 매개 변수가 저장된 레지스트리 위치에 대한 핸들을 제공합니다. 프로토콜 드라이버는 를 호출할 때까지 구성 핸들을 사용할 수 있습니다. NdisDeregisterProtocolDriver 함수입니다.

NdisHandle의 핸들이 ProtocolBindAdapterEx 함수의 BindParameters 매개 변수에 전달된 NDIS_BIND_PARAMETERS 구조체에 대한 포인터인 경우 NdisOpenConfigurationEx는 프로토콜 바인딩에 대한 구성 매개 변수가 저장된 레지스트리 위치에 대한 핸들을 제공합니다. 프로토콜 드라이버는 바인딩 작업이 완료될 때까지 구성 핸들을 사용할 수 있습니다.

드라이버가 NdisOpenAdapterEx 함수를 호출하여 NdisHandle에서 핸들을 가져온 경우 NdisOpenConfigurationEx는 프로토콜 바인딩에 대한 구성 매개 변수가 저장된 레지스트리 위치에 대한 핸들을 제공합니다. 프로토콜 드라이버는 NdisCloseAdapterEx 함수를 호출할 때까지 구성 핸들을 사용할 수 있습니다.

필터 드라이버가 를 호출하여 NdisHandle 에서 핸들을 가져온 경우 NdisFRegisterFilterDriver 함수인 NdisOpenConfigurationEx 는 필터 드라이버의 구성 매개 변수가 저장된 레지스트리 위치에 대한 핸들을 제공합니다. 필터 드라이버는 다음을 호출할 때까지 구성 핸들을 사용할 수 있습니다. NdisFDeregisterFilterDriver 함수입니다.

필터 드라이버가 FilterAttach 함수의 NdisFilterHandle 매개 변수에서 NdisHandle의 핸들을 가져온 경우 NdisOpenConfigurationEx는 필터 모듈 구성 매개 변수가 저장된 레지스트리 위치에 대한 핸들을 제공합니다. 필터 드라이버는 NDIS가 필터 모듈을 분리하고 FilterDetach 함수가 반환될 때까지 구성 핸들을 사용할 수 있습니다. 모니터링 필터 드라이버가 의 Flags 멤버에 NDIS_CONFIG_FLAG_FILTER_INSTANCE_CONFIGURATION 플래그를 지정하는 경우 NDIS_CONFIGURATION_OBJECT 구조에서 드라이버는 동일한 미니포트 어댑터를 통해 구성된 여러 필터 모듈이 있는 경우 특정 필터 모듈에 대한 필터 모듈 구성에 액세스할 수 있습니다. 필터 드라이버를 수정해도 이 플래그를 사용하면 안 될 것입니다.

드라이버가 구성 정보에 액세스한 후 드라이버는 NdisCloseConfiguration 함수를 호출하여 구성 핸들 및 관련 리소스를 해제해야 합니다.

참고 이 함수가 IRQL = PASSIVE_LEVEL 실행되도록 하기 위해 드라이버는 NDIS 작업 항목을 예약하고 작업 항목 콜백의 컨텍스트에서 이 함수 및 기타 구성 함수를 호출할 수 있습니다.
 

요구 사항

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

추가 정보

FilterAttach

FilterDetach

MiniportHaltEx

MiniportInitializeEx

NDIS_BIND_PARAMETERS

NDIS_CONFIGURATION_OBJECT

NdisCloseAdapterEx

NdisCloseConfiguration

NdisDeregisterProtocolDriver

NdisFDeregisterFilterDriver

NdisFRegisterFilterDriver

NdisMDeregisterMiniportDriver

NdisMRegisterMiniportDriver

NdisOpenAdapterEx

NdisOpenConfigurationKeyByIndex NdisOpenConfigurationKeyByName

NdisReadConfiguration

NdisReadNetworkAddress

NdisRegisterProtocolDriver

NdisWriteConfiguration

ProtocolBindAdapterEx