StorPortIssueDpc 함수(storport.h)
StorPortIssueDpc 루틴은 DPC(지연 프로시저 호출)를 실행합니다.
구문
BOOLEAN StorPortIssueDpc(
[in] PVOID DeviceExtension,
[in] PSTOR_DPC Dpc,
[in] PVOID SystemArgument1,
[in] PVOID SystemArgument2
);
매개 변수
[in] DeviceExtension
어댑터별 디바이스 확장에 대한 포인터입니다.
[in] Dpc
StorPortInitializeDpc 루틴에서 반환된 STOR_DPC 형식의 초기화된 DPC 개체를 포함하는 버퍼에 대한 포인터입니다.
[in] SystemArgument1
지연된 루틴에 전달될 호출자 제공 정보에 대한 포인터입니다.
[in] SystemArgument2
지연된 루틴에 전달될 호출자 제공 정보에 대한 포인터입니다.
반환 값
DPC가 DPC 큐에 성공적으로 삽입되면 StorPortIssueDpc 루틴이 TRUE 를 반환하고, 그렇지 않으면 FALSE 를 반환합니다.
설명
StorPortIssueDpc 루틴은 KeInsertQueueDpc 커널 루틴을 호출하여 DPC를 큐에 대기합니다. KeInsertQueueDpc 커널 루틴에서는 DPC를 여러 번 큐에 대기할 수 없습니다. 따라서 Dpc 매개 변수로 지정된 DPC 개체가 이미 DPC 큐에 있는 경우 KeInsertQueueDpc 는 큐 요청을 무시합니다. 이렇게 하면 StorPortInitializeDpc 로 초기화된 지연된 루틴이 항상 자체와 동기화됩니다. 즉, 호출자는 여러 인스턴스가 동시에 실행되지 않도록 StorPortIssueDpc 루틴에 대한 호출을 순차화할 필요가 없습니다.
미니포트 드라이버에 동일한 DPC에서 수행해야 하는 여러 작업 항목이 있는 경우 미니포트 드라이버는 다음 작업 항목에 대한 DPC를 실행하기 전에 각 작업 항목이 완료되었는지 확인해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | storport.h(Storport.h 포함) |