Fungsi NdisCopyFromPacketToPacketSafe (ndis.h)
Catatan NDIS 5. x telah tidak digunakan lagi dan digantikan oleh NDIS 6. x. Untuk pengembangan driver NDIS baru, lihat Driver Jaringan Yang Dimulai dengan Windows Vista. Untuk informasi tentang port NDIS 5. x driver ke NDIS 6. x, lihat Memindahkan Driver NDIS 5.x ke NDIS 6.0.
NdisCopyFromPacketToPacket menyalin rentang data tertentu dari satu paket ke paket lainnya.
Sintaks
void NdisCopyFromPacketToPacketSafe(
[in] IN PNDIS_PACKET Destination,
[in] IN UINT DestinationOffset,
[in] IN UINT BytesToCopy,
[in] IN PNDIS_PACKET Source,
[in] IN UINT SourceOffset,
[out] OUT PUINT BytesCopied,
IN MM_PAGE_PRIORITY Priority
);
Parameter
[in] Destination
Arahkan ke deskriptor paket tujuan.
[in] DestinationOffset
Menentukan offset byte dalam paket tujuan untuk mulai menulis data yang disalin.
[in] BytesToCopy
Menentukan jumlah byte yang akan disalin.
[in] Source
Arahkan ke deskriptor paket sumber.
[in] SourceOffset
Menentukan offset byte dalam paket sumber untuk mulai menyalin data.
[out] BytesCopied
Penunjuk ke variabel yang disediakan pemanggil di mana fungsi ini mengembalikan jumlah byte yang benar-benar disalin. Jumlah ini bisa kurang dari nilai BytesToCopy jika paket sumber kehabisan data atau paket tujuan kehabisan ruang.
Priority
Nilai kembali
Tidak ada
Keterangan
Mengembalikan nilai: Tidak ada
Driver harus memanggil NdisCopyFromPacketToPacketSafe alih-alih NdisCopyFromPacketToPacket. Driver miniport NDIS 5.1 harus memanggil NdisCopyFromPacketToPacketSafe alih-alih NdisCopyFromPacketToPacket. Tidak seperti NdisCopyFromPacketToPacket, NdisCopyFromPacketToPacketSafe tidak menyebabkan pemeriksaan bug apakah sumber daya sistem rendah atau kelelahan.
Pemanggil NdisCopyFromPacketToPacket mengalokasikan paket tujuan, jika bukan paket sumber juga. Deskriptor paket paket tujuan harus memiliki deskriptor buffer berantai yang cukup untuk menerima data.
Jika paket sumber kehabisan data atau paket tujuan kehabisan ruang sebelum jumlah byte yang ditentukan telah disalin, operasi salin berhenti. Dalam kedua kasus, NdisCopyFromPacketToPacket mengembalikan jumlah byte yang berhasil disalin dari sumber ke paket tujuan.
NdisCopyFromPacketToPacket tidak menyalin informasi out-of-band apa pun yang terkait dengan Sumber yang diberikan ke Tujuan. Untuk menyalin informasi ini, driver dapat menggunakan pointer yang dikembalikan oleh NDIS_OOB_DATA_FROM_PACKET lalu memanggil NdisMoveMemory.
Driver harus melepaskan kunci putar apa pun yang dipegangnya sebelum memanggil NdisCopyFromPacketToPacket.
- Platform target: Universal
- Versi: Tidak didukung untuk driver NDIS 6.0 di Windows Vista. Gunakan NdisCopyFromNetBufferToNetBuffersebagai gantinya. Didukung untuk driver NDIS 5.1 di Windows Vista dan Windows XP, tetapi gunakan NdisCopyFromPacketToPacketSafe sebagai gantinya.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | ndis.h (termasuk Ndis.h) |
Pustaka | Ndis.lib |
IRQL | IRQL <= DISPATCH_LEVEL |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk