다음을 통해 공유


NDIS_STATUS_INDICATION 구조체(ndis.h)

NDIS 및 기본 드라이버는 NDIS_STATUS_INDICATION 구조를 사용하여 지나치게 프로토콜 드라이버에 상태 표시를 제공합니다.

구문

typedef struct _NDIS_STATUS_INDICATION {
  NDIS_OBJECT_HEADER Header;
  NDIS_HANDLE        SourceHandle;
  NDIS_PORT_NUMBER   PortNumber;
  NDIS_STATUS        StatusCode;
  ULONG              Flags;
  NDIS_HANDLE        DestinationHandle;
  PVOID              RequestId;
  PVOID              StatusBuffer;
  ULONG              StatusBufferSize;
  GUID               Guid;
  PVOID              NdisReserved[4];
} NDIS_STATUS_INDICATION, *PNDIS_STATUS_INDICATION;

멤버

Header

NDIS_STATUS_INDICATION 구조체의 NDIS_OBJECT_HEADER 구조체입니다. Header가 NDIS_OBJECT_TYPE_STATUS_INDICATION 지정하는 구조체의 Type 멤버, NDIS_STATUS_INDICATION_REVISION_1 수정 멤버 및 size 멤버를 NDIS_SIZEOF_STATUS_INDICATION_REVISION_1 설정합니다.

SourceHandle

상태 표시의 소스입니다. 원본이 미니포트 어댑터인 경우 NDIS가 MiniportInitializeEx 함수의 MiniportAdapterHandle 매개 변수에 전달한 핸들이어야 합니다. 원본이 필터 모듈인 경우 NDIS가 FilterAttach 함수의 NdisFilterHandle 매개 변수에 전달한 핸들이어야 합니다.

PortNumber

상태 표시의 원본 포트입니다. 상태 표시가 포트와 관련이 없는 경우 PortNumber를 0으로 설정합니다.

StatusCode

NDIS에서 제공하거나 기본 드라이버에서 전파되는 상태 코드입니다. 값은 NDIS_STATUS_XXX 코드입니다. NDIS_STATUS_XXX 코드에 대한 자세한 내용은 상태 표시를 참조하세요.

Flags

StatusBuffer 의 상태 버퍼에 있는 정보 유형입니다. 미니포트 드라이버는 이 멤버를 0으로 설정합니다. 이 멤버는 NDIS용으로 예약되어 있습니다.

DestinationHandle

상태 표시를 수신해야 하는 오버리링 드라이버를 식별하는 핸들입니다. NULL인 경우 NDIS는 미니포트 어댑터에 바인딩된 각 프로토콜 드라이버에 대한 상태 나타냅니다. NULL이 아닌 경우 NDIS는 DestinationHandle이 식별하는 드라이버에 대한 상태 나타냅니다. 이 경우 드라이버는 RequestId 멤버도 설정해야 합니다. OID 요청에 대한 자세한 내용은 설명 섹션을 참조하세요.

RequestId

상태 표시와 연결된 OID 요청입니다. 상태 표시와 연결된 OID 요청이 없는 경우 RequestIdNULL입니다. 미니포트 드라이버는 상태 표시가 미니포트 드라이버가 반환된 상태 NDIS_STATUS_INDICATION_REQUIRED 완료한 OID 요청과 연결된 경우 RequestId 멤버를 설정해야 합니다. 이 경우 드라이버는 DestinationHandle 멤버도 설정해야 합니다.

OID 요청에 대한 자세한 내용은 다음 설명 섹션을 참조하세요.

StatusBuffer

StatusCode 의 값에 의존하는 중간 특정 데이터를 포함하는 버퍼에 대한 포인터입니다.

예를 들어 StatusCodeNDIS_STATUS_LINK_STATE 경우 이 매개 변수는 NDIS_LINK_STATE 구조를 가리키고 StatusBufferSize 는 sizeof(NDIS_LINK_STATE)입니다.

일부 NDIS_STATUS_XXX 값의 경우 이 포인터는 NULL 이고 StatusBufferSize 는 0으로 설정됩니다.

StatusBufferSize

StatusBuffer 에서 상태 정보 버퍼의 길이(바이트)입니다.

Guid

NDIS가 WMI 알림을 생성하는 데 사용하는 프라이빗 GUID입니다. 프라이빗 GUID에 대한 자세한 내용은 OID_GEN_SUPPORTED_GUIDS 참조하세요.

NdisReserved[4]

NDIS용으로 예약되었습니다.

설명

미니포트 드라이버는 NdisMIndicateStatusEx 함수를 호출하여 상태 나타냅니다. 필터 드라이버는 NdisFIndicateStatus 함수를 호출합니다.

일부 OID 요청을 사용하면 미니포트 드라이버가 OID 완성 상태 상태 표시를 제공할 수 있습니다. 이 경우 미니포트 드라이버는 OID 요청의 완료 상태 대한 NDIS_STATUS_INDICATION_REQUIRED 반환합니다. 미니포트 드라이버는 특정 OID에서 허용하지 않는 한 이 상태 반환할 수 없습니다. 이 상태 허용되는지 확인하려면 OID 참조 페이지를 참조하세요.

상태 표시가 미니포트 드라이버가 NDIS_STATUS_INDICATION_REQUIRED 반환한 OID 요청과 연결된 경우 상태 표시를 만드는 드라이버는 NDIS_STATUS_INDICATION 구조에서 DestinationHandleRequestId 멤버를 설정해야 합니다.

이 경우 드라이버는 DestinationHandleRequestId 멤버를 각각 NDIS_OID_REQUEST 구조의 RequestHandleRequestId 멤버의 값으로 설정합니다.

예를 들어 무선 네트워킹에서 OID 요청 처리는 완료하는 데 매우 오랜 시간이 걸릴 수 있습니다. 이 경우 미니포트 드라이버는 OID 요청을 즉시 완료하고 나중에 상태 표시를 제공하여 OID 요청에 대한 최종 결과를 제공할 수 있습니다.

프로토콜 드라이버는 ProtocolStatusEx 함수에서 상태 표시를 받습니다. 필터 드라이버는 FilterStatus 함수에서 상태 표시를 받습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
머리글 ndis.h(Ndis.h 포함)

추가 정보

FilterAttach

FilterStatus

MiniportInitializeEx

NDIS_LINK_STATE

NDIS_OBJECT_HEADER

NDIS_OID_REQUEST

NDIS_STATUS_LINK_STATE

NDIS_TAPI_EVENT

NdisFindicateStatus

NdisMIndicateStatusEx

NdisOpenAdapterEx

OID_GEN_SUPPORTED_GUIDS

ProtocolStatusEx