NdisOpenFile 함수(ndis.h)
NdisOpenFile 함수는 열린 파일에 대한 핸들을 반환합니다.
구문
void NdisOpenFile(
[out] PNDIS_STATUS Status,
[out] PNDIS_HANDLE FileHandle,
[out] PUINT FileLength,
[in] PNDIS_STRING FileName,
[in] NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress
);
매개 변수
[out] Status
이 함수가 다음 중 하나일 수 있는 열린 파일 작업의 상태를 반환하는 호출자 제공 변수에 대한 포인터입니다.
NDIS_STATUS_SUCCESS
FileHandle의 핸들은 NdisMapFile에 대한 후속 호출에 유효합니다.
NDIS_STATUS_FILE_NOT_FOUND
FileName에서 지정된 문자열이 시스템 개체 네임스페이스에 있는 이름을 지정하지 않았습니다.
NDIS_STATUS_RESOURCES
NDIS에서 파일을 열고 파일 내용에 대한 버퍼를 할당하는 데 필요한 리소스를 할당할 수 없습니다.
NDIS_STATUS_ERROR_READING_FILE
호출자가 후속 액세스를 위해 지정된 파일의 데이터를 시스템 메모리로 읽을 수 없습니다.
[out] FileHandle
호출이 성공하면 이 함수가 열린 파일의 핸들을 반환하는 호출자 제공 변수에 대한 포인터입니다.
[out] FileLength
호출이 성공하면 이 함수가 열린 파일의 데이터 바이트 수를 쓰는 호출자 제공 변수에 대한 포인터입니다.
[in] FileName
초기화된 계산된 문자열을 포함하는 NDIS_STRING 형식에 대한 포인터로, 시스템 기본 문자 집합에서 열 파일의 이름을 지정합니다. Windows 2000 이상 드라이버의 경우 이 문자열에는 유니코드 문자가 포함됩니다. 즉, Windows 2000 이상에서는 NDIS가 NDIS_STRING 형식을 UNICODE_STRING 형식으로 정의합니다.
[in] HighestAcceptableAddress
파일 데이터를 저장할 수 있는 가장 높은 실제 주소이거나 드라이버에 제한이 없는 경우 -1을 지정합니다.
반환 값
없음
설명
NdisOpenFile 은 디스크 파일을 엽니다. 일반적으로 드라이버가 나중에 다운로드하여 지능형 NIC를 프로그래밍하는 파일입니다. 또한 NdisOpenFile은 NdisMapFile 함수에 대한 드라이버의 후속 호출에 대한 파일 콘텐츠를 저장할 스토리지를 할당합니다.
미니포트 드라이버는 MiniportInitializeEx 함수에서만 NdisOpenFile을 호출해야 합니다.
NdisOpenFile이 반환되면 미니포트 드라이버는 NdisMapFile을 호출하여 파일 데이터에 액세스할 수 있습니다. 드라이버가 파일 데이터에 액세스하지 않는 동안 리소스를 불필요하게 사용하지 않도록 NdisUnmapFile 함수를 호출하여 파일을 페이징할 수 있습니다. 파일 사용을 마치면 MiniportInitializeEx 에서 다음을 호출해야 합니다.
NdisCloseFile 함수입니다.
참고
ARM64에서는 NdisOpenFile, NdisCloseFile, NdisMapFile 및 NdisUnmapFile 이 지원되지 않습니다. ARM64에서 이러한 함수를 ZwCreateFile, ZwReadFile 또는 기타 유사한 작업에 대한 호출로 대체합니다.
요구 사항
| 지원되는 최소 클라이언트 | Windows Vista에서 NDIS 6.0 및 NDIS 5.1 드라이버(NdisOpenFile(NDIS 5.1 참조)에 대해 지원됩니다. Windows XP에서 NDIS 5.1 드라이버(NdisOpenFile(NDIS 5.1 참조))에 대해 지원됩니다. |
| 대상 플랫폼 | 유니버설 |
| 헤더 | ndis.h(Ndis.h 포함) |
| 라이브러리 | Ndis.lib |
| IRQL | PASSIVE_LEVEL |
| DDI 규정 준수 규칙 | Irql_Miscellaneous_Function(ndis) |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기