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가 지정하는 구조체의 Type 멤버를 NDIS_OBJECT_TYPE_STATUS_INDICATION, 수정 멤버를 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

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